LLM论文笔记 28: Universal length generalization with Turing Programs

  • Arxiv日期:2024.10.4
  • 机构:Harvard University

关键词

  • 图灵机

  • CoT

  • 长度泛化

核心结论

  • Turing Programs 的提出

    • 提出 Turing Programs,一种基于图灵机计算步骤的通用 CoT 策略。通过将算法任务分解为逐步的“磁带更新”(类似图灵机的读写操作),允许模型通过简单的文本复制与局部修改完成复杂计算

    • 通用性:适用于任何算法任务(加法、乘法、SGD),不依赖任务特定的数据格式优化

  • 长度泛化的实验突破

    • 加法:50位数训练可泛化至 100 位数加法(准确率 98%),优于传统 scratchpad 方法

    • 乘法首次展示对 n×1 和 n×3位数乘法的长度泛化(50→100 位,准确率 97%)

    • SGD 算法:在 50 个训练样本上训练的模型可泛化至 80 个样本(准确率 95%)

    • 随机图灵机模拟:模型在未见过的更长输入(50→100+ token)上能预测图灵机的下一步状态,表明其对任意算法任务的泛化潜力

  • 位置编码的关键作用

    • Hard-ALiBi 位置编码(结合局部硬注意力与全局无位置头)显著提升长度泛化能力,优于 ALiBi、RoPE 等传统编码

    • 实验表明,位置编码与数据格式的协同设计是成功的关键

  • 指出传统 scratchpad 方法在长度泛化上的局限性,强调迭代式局部修改的重要性(而非单纯分步输出)

主要方法

主要方法:Turing Programs 提出,将CoT过程拟合为图灵机的操作

  • 磁带(Tape):模拟图灵机的存储结构,每一步的中间状态以文本形式表示。例如,在加法任务中,磁带可能包含当前处理的数字位、进位值等信息。

  • 局部修改:每一步仅对磁带的局部内容进行修改(如更新某一位的数字或进位),而非完全重写。例如,图2中的加法步骤通过逐步移除操作数的最后一位并更新中间结果。

  • 显式状态标记:使用特殊符号(如 ^ 表示当前处理位置,a, b, c 表示中间变量)标记状态,确保模型明确跟踪计算进展。

仍然具有以下问题:

  • 当前方法依赖冗长的 CoT 数据,可能限制实际应用效率。

  • 部分任务的泛化鲁棒性不足(如超长序列的误差累积问题)。

  • 需进一步探索更高效、通用的训练框架,以支持复杂现实任务的长度泛化。

注:本系列不包括基础的知识点讲解,为笔记/大纲性质而非教程,用于论文知识点和思想和快速记忆和回顾,更多细节建议阅读论文原文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【全队项目】智能学术海报生成系统PosterGenius--图片布局生成模型LayoutPrompt(1)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀大模型实战训练营_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

位图的实现和拓展

一:位图的介绍 ①:需要位图的场景 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中? 要判断一个数是否在某一堆数中,我们可能会想到如下方法: A…

排序功法入门指南【江湖算法笔记】

话说江湖风云变幻,各路英雄好汉行走江湖,总得有个名号排行。若问“东邪西毒南帝北丐”谁强谁弱,总得排个座次不是?这排序之道,恰似武功秘籍,练好了能号令群雄,练岔了怕是要被笑掉大牙&#xff0…

【中间件】brpc_基础_用户态线程中断

bthread之用户态线程中断 源码 1 简介 interrupt_pthread 核心功能是 通过信号机制中断阻塞的 pthread 线程,以实现线程的协作式中断。 2 核心功能与设计 2.1 信号选择与注册 信号选择:使用 SIGURG 作为中断信号。 原因:SIGURG 通常用于…

Linux 的网络卡

#本机操作系统CentOS 10 #核心版本 rootbogon:/etc# uname -r 6.12.0-65.el10.x86_64 网卡能不能被捉到可以使用【dmesg|grep xx】来判断,有没有驱动则可以使用lsmod看看模块有没有加载核心!最后,以ifconfig xxx测试看看 观察核心所捉到的网卡…

前端双工通信的几种方案详细描述

前端实现双工通信(全双工或半双工)的常见方案及详细实现如下: 一、WebSocket(全双工) 原理:基于 TCP 的持久化协议,客户端与服务端建立双向通信通道,支持实时双向数据传输。 // 客…

KUKA机器人快速启动设置

KUKA机器人在首次开机启动时,有时在示教器上需要进行投入运行等相关的设置。如以下相关的信息需要处理: 1、机器人系统开机后,选择T1运行模式;2、显示提示信息:“RDC 存储器和控制系统不一致什么被更换了”时&#xf…

游戏代码C

以下将结合不同编程语言的特点及游戏开发中的实际应用,展示多种语言的游戏代码示例(以简单游戏为例,展示代码结构和逻辑差异)。由于代码篇幅较长,我将分语言进行说明并引用相关来源: 1. C# Unity&#xff…

LangChain Agent核心解析:Zero-Shot-ReAct策略实现与实战指南

引言 在LangChain的Agent框架中,zero-shot-react-description 是一种预定义的Agent类型,它结合了Zero-Shot(零样本学习) 和 ReAct(推理行动) 策略,主要用于根据工具的描述动态选择和执行工具&a…

PyQt 或 PySide6 进行 GUI 开发文档与教程

一、官网文档 Qt 官方文档:Porting to Qt 6 | Qt 6.9Qt 维基:​​​​​​​Qt WikiQt for Python (PySide6) :​​​​​​​Qt for Python - Qt WikiPySide6 快速上手指南:​​​​​​​Getting Started - Qt for Python PyS…

2024年第十五届蓝桥杯省赛B组Python【 简洁易懂题解】

2024年第十五届蓝桥杯省赛B组Python题解 一、整体情况说明 2024年第十五届蓝桥杯省赛B组Python组考试共包含8道题目,分为结果填空题和程序设计题两类。 考试时间:4小时编程环境:Python 3.x,禁止使用第三方库,仅可使…

Go语言--语法基础4--基本数据类型--类型转换

Go 是一种强类型的语言,所以如果在赋值的时候两边类型不一致会报错。一个类型的值可以被转换成另一种类型的值。由于 Go 语言不存在隐式类型转换,因此所有的类型转换都必须显式的声明。 强制类型转换语法 使用 type (a) 这种形式来进行强制类型转换&am…

nginx 代理时怎么更改 Remote Address 请求头

今天工作中遇到用 localhost 访问网站能访问后台 api,但是用本机IP地址后就拒绝访问,我怀疑是后台获取 Remote Address 然后设置白名单了只能 localhost 访问。 想用 nginx 更改 Remote Address server {listen 8058;server_name localhost;loca…

LeetCode刷题链表

文章目录 链表总结 常用技巧两数相加题解代码 两两交换链表中的节点题解代码 重排链表题解代码 合并k个升序链表题解代码 K个一组翻转链表题解代码 链表总结 常用技巧 画图 直观 形象 便于理解引入虚拟头节点,便于处理边界情况,方便我们对链表进行…

ESP32S3 多固件烧录方法、合并多个固件为单一固件方法

ESP32S3 多固件烧录方法、合并多个固件为单一固件方法 文章目录 ESP32S3 多固件烧录方法、合并多个固件为单一固件方法前言1、前期准备工作2、多固件烧录方法3、单固件烧录方法总结 前言 使用正点原子的ESP32S3 BOX开发板独立烧录编译生成的xxx.bin固件无法正常运行起来&#…

Webug4.0靶场通关笔记10- 第14关链接注入

目录 第14关 链接注入 1.打开靶场 2.源码分析 3.渗透实战 (1)方法1:跳转外部网页 (2)方法2:获取cookie 4.漏洞防御 本文通过《webug靶场第14关 链接注入》来进行渗透实战。 第14关 链接注入 链接注…

SpringBoot的汽车商城后台管理系统源码开发实现

概述 汽车商城后台管理系统专为汽车4S店和经销商设计,提供全面的汽车管理系统解决方案。 主要内容 1. 核心功能模块 系统提供以下主要功能: ​​销售管理​​:记录销售信息,跟踪交易进度​​客户管理​​:维护客户…

VBA代码解决方案第二十四讲:EXCEL中,如何删除重复数据行

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…

日本IT行业|salesforce开发语言占据的地位

在日本的IT行业中,Salesforce 开发语言处于一个较为专业但稳步增长的细分领域,并不是主流开发语言(如 Java、Python、PHP),但其在某些行业和场景中地位越来越重要。 本篇以下是详细分析: Salesforce开发语言…

前端开发,文件在镜像服务器上不存在问题:Downloading binary from...Cannot download...

问题与处理策略 问题描述 在 Vue 项目中,执行 npm i 下载依赖时,报如下错误 Downloading binary from https://npm.taobao.org/mirrors/node-sass//v4.14.1/win32-x64-72_binding.node Cannot download "https://npm.taobao.org/mirrors/node-sa…