Better Faster Large Language Models via Multi-token Prediction 原理

news2025/5/21 4:24:21

目录

模型结构:

Memory-efficient implementation:

实验:

1. 在大规模模型上效果显著:

2. 在不同类型任务上的效果:

为什么MLP对效果有提升的几点猜测:

1. 并非所有token对生成质量的影响相同

2. 关键选择点的权重累积机制

3. 从互信息的角度解释

4. 因果语言模型的传统因子化顺序

屈折语中的语法一致性挑战

非因果因子化顺序的优势(多token预测提升对复杂语法结构(如屈折、一致关系)的处理能力)

通过隐式建模非因果依赖,减少因局部错误导致的全局矛盾

问题:


模型结构:

单token预测:

多token预测:

model P_{\theta} 应用一个共享trunk来针对x_{t:1}产生一个latent 表示z_{t:1},接着送入到n个独立的head来并行预测未来n个tokens。

其中:

Memory-efficient implementation:

由于词表大小V远大于维度d,所以logit的计算,由(d,V)变化为 (d,V*N),是GPU memery使用的瓶颈。解决办法为序列话的计算每个独立输出头f_i的前向和反向传播过程,在trunk进行梯度累加。在计算f_{i+1}之前f_i的计算已经被释放掉。将CPU的memery峰值从O(nV+d)降低为O(V+d)

实验:

1. 在大规模模型上效果显著:

小规模模型的局限性

  • 模型容量不足:小模型(如百万或十亿参数级)难以同时捕捉多个时间步的复杂依赖关系。多令牌预测需要模型理解长距离上下文和跨步关联,这对小模型来说过于困难。

  • 边际收益低:在小规模实验中,多令牌预测可能仅带来微弱的效果提升(如困惑度略微下降),无法证明其额外计算成本是合理的。

2. 在不同类型任务上的效果:

2.1在choice task上面没有提升性能,可能需要放大模型大小才能看到效果。

2.2 在抽象文本总结任务上有提升:

2.3:归纳能力:随着模型大小增大,两者能力趋于相同。

为什么MLP对效果有提升的几点猜测:

1. 并非所有token对生成质量的影响相同

在语言模型生成文本时,某些token的决策对整体质量至关重要,而另一些则影响较小(如风格变化)。

  • 关键选择点(Choice Points):影响文本高层语义的token(例如问答中的核心术语、逻辑转折词),错误会导致回答偏离主题。

  • 无关紧要的token(Inconsequential Transitions):仅影响局部风格(如近义词替换),不影响后续内容。

2. 关键选择点的权重累积机制

关键选择点(如位置 t)的决策错误会直接影响后续多个token的生成。例如:

  • 若模型在 t 处预测错误,可能导致 t+1,t+2,…,t+n 的预测全部偏离正确路径。

  • 此时,总损失中会包含 Lt+1,Lt+2,…,Lt+n​,这些损失均与 t 处的错误相关。

数学推导(以n=5为例):

  • 关键选择点(如位置 t)的错误会影响后续5个token的预测,其总权重为:

    \sum^5_{k=1}=\frac{5*(5+1)}{2}=15

    这里的权重 k 表示第 k 步的损失对关键点的梯度贡献。

  • 无关紧要的token(如位置 t+1)仅影响后续4个token,总权重为\sum^4_{k=1}1=4 ,但实际实现中可能简化为固定权重 n。

多token预测的损失函数在反向传播时,关键点的梯度会从多个未来位置的损失中累积

  • 传统自回归:位置 t 的错误仅通过 Lt+1的梯度更新参数。

  • 多token预测:位置 t 的错误通过 Lt+1,Lt+2,…,Lt+n 的梯度叠加更新参数,形成更高的有效权重(梯度在反向传播时会自然累积到共同依赖的关键点上)。

例如,若位置 t 是生成回答中的核心术语(如“量子力学”),其错误会导致后续所有相关解释偏离正轨。此时,模型从多个未来位置的损失中接收到更强的信号,迫使它优先学习正确预测此类关键点。

3. 从互信息的角度解释

还没完全理解,理解后再更新

4. 因果语言模型的传统因子化顺序

  • 基本公式:因果语言模型(如GPT)将文本序列的联合概率分解为自回归形式,即按时间顺序逐个预测下一个token

  • 特点:生成顺序严格从前向后(如首先生成 x1​,再基于 x1​ 生成 x2​,依此类推)。

  • 局限性:某些语言结构(如屈折语中的语法一致性)需要逆向或跳跃式依赖,传统顺序可能不高效。

屈折语中的语法一致性挑战

  • 示例:德语句子
    Wie konnten auch Worte meiner durstenden Seele genügen?
    包含以下语法依赖:

    1. 动词 genügen 要求其宾语为与格(Dative Case)

    2. 名词 Seele 为阴性单数与格,因此所有修饰成分(如物主代词 meiner 和分词 durstenden)必须与其在性、数、格上一致。

  • 关键矛盾

    • 传统自回归顺序需先生成 meiner 和 durstenden,再生成 Seele 和 genügen

    • 但实际上,后续的 genügen 和 Seele 的语法要求决定了前面的 meiner 和 durstenden 的形式

非因果因子化顺序的优势(多token预测提升对复杂语法结构(如屈折、一致关系)的处理能力

  • 逆向推理:若模型能先预测后续关键token(如 genügen 和 Seele),再生成前面的修饰词(如 meiner 和 durstenden),可更高效确保语法一致性。

  • 示例中的理想顺序

    主句→genu¨gen→Seele→meiner→durstenden主句→genu¨gen→Seele→meiner→durstenden
  • 优势:先生成核心动词和名词,再根据其语法要求调整修饰词形态,避免回溯错误。

通过隐式建模非因果依赖,减少因局部错误导致的全局矛盾

  • 传统单步预测:模型仅基于上文生成下一个token,无法显式利用后续token的语法信息。

  • 多token预测(如4-token)

    1. 强制模型在生成当前token时,潜在表示(latent activations)中需编码后续多个token的信息

    2. 例如,生成 meiner 时,模型已隐式预判后续的 durstendenSeelegenügen 的语法要求,从而正确选择与格阴性单数形式。

  • 训练机制多token预测损失函数要求模型同时预测多个位置,迫使潜在表示包含未来上下文信息。

问题:

为什么多token预测可以对关键点错误施加高权重惩罚?loss不是独立的?为什么损失函数中每个token的权重与其对后续token的影响相关?

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

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

相关文章

Spring的Validation,这是一套基于注解的权限校验框架

为了保证数据的正确性、完整性,作为一名后端开发工程师,不能仅仅依靠前端来校验数据,还需要对接口请求的参数进行后端的校验。 controller 全局异常处理器 在项目中添加一个全局异常处理器,处理校验异常 RestControllerAdvice p…

MySQL - 如何突破单库性能瓶颈

数据库服务器硬件优化 我们来看看对数据库所在的服务器是如何进行优化的,服务器是数据库的宿主,其性能直接影响了数据库的性能,所以服务器的优化也是数据库优化的第一步。 数据库服务器通常是从 CPU、内存、磁盘三个角度进行硬件优化的&…

apisix透传客户端真实IP(real-ip插件)

文章目录 apisix透传客户端真实IP需求和背景apisix real-ip插件为什么需要 trusted_addresses?安全架构的最佳实践 示例场景apisix界面配置 apisix透传客户端真实IP 需求和背景 当 APISIX 前端有其他反向代理(如 Nginx、HAProxy、云厂商的 LB&#xff…

Oracle 数据库的默认隔离级别

Oracle 数据库的默认隔离级别 默认隔离级别:READ COMMITTED Oracle 默认使用 读已提交(READ COMMITTED) 隔离级别,这是大多数OLTP(在线事务处理)系统的标准选择。 官方文档 https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/da…

代码随想录算法训练营第六十四天| 图论9—卡码网47. 参加科学大会,94. 城市间货物运输 I

每日被新算法方式轰炸的一天,今天是dijkstra(堆优化版)以及Bellman_ford ,尝试理解中,属于是只能照着代码大概说一下在干嘛。 47. 参加科学大会 https://kamacoder.com/problempage.php?pid1047 dijkstra&#xff08…

开启健康生活的多元养生之道

健康养生是一门值得终身学习的学问,在追求健康的道路上,除了常见方法,还有许多容易被忽视却同样重要的角度。掌握这些多元养生之道,能让我们的生活更健康、更有品质。​ 室内环境的健康不容忽视。定期清洁空调滤网,避…

【Vite】前端开发服务器的配置

定义一些开发服务器的行为和代理规则 服务器的基本配置 server: {host: true, // 监听所有网络地址port: 8081, // 使用8081端口open: true, // 启动时自动打开浏览器cors: true // 启用CORS跨域支持 } 代理配置 proxy: {/api: {target: https://…

Spring Security与Spring Boot集成原理

Spring Security依赖的是过滤器机制,首先是web容器例如tomcat作为独立的产品,本身有自己的一套过滤器机制用来处理请求,那么如何将tomcat接收到的请求转入到Spring Security的处理逻辑呢?spring充分采用了tomcat的拓展机制提供了t…

VScode各文件转化为PDF的方法

文章目录 代码.py文件.ipynb文本和代码夹杂的文件方法 1:使用 VS Code 插件(推荐)步骤 1:安装必要插件步骤 2:安装 `nbconvert`步骤 3:间接导出(HTML → PDF)本文遇见了系列错误:解决方案:问题原因步骤 1:降级 Jinja2 至兼容版本步骤 2:确保 nbconvert 版本兼容替代…

Vue3学习(组合式API——Watch侦听器、watchEffect()详解)

目录 一、Watch侦听器。 (1)侦听单个数据。 (2)侦听多个数据。(数组写法?!) (3)immediate参数。(立即执行回调) (3)deep参数。(深层监…

【node.js】安装与配置

个人主页:Guiat 归属专栏:node.js 文章目录 1. Node.js简介1.1 Node.js的特点1.2 Node.js架构 2. Node.js安装2.1 下载和安装方法2.1.1 Windows安装2.1.2 macOS安装2.1.3 Linux安装 2.2 使用NVM安装和管理Node.js版本2.2.1 安装NVM2.2.2 使用NVM管理Node…

《AI大模型应知应会100篇》第62篇:TypeChat——类型安全的大模型编程框架

第62篇:TypeChat——类型安全的大模型编程框架 摘要 在构建 AI 应用时,一个常见的痛点是大语言模型(LLM)输出的不确定性与格式不一致问题。开发者往往需要手动解析、校验和处理模型返回的内容,这不仅增加了开发成本&a…

EdgeShard:通过协作边缘计算实现高效的 LLM 推理

(2024-05-23) EdgeShard: Efficient LLM Inference via Collaborative Edge Computing (EdgeShard:通过协作边缘计算实现高效的 LLM 推理) 作者: Mingjin Zhang; Jiannong Cao; Xiaoming Shen; Zeyang Cui;期刊: (发表日期: 2024-05-23)期刊分区:本地链接: Zhang 等 - 2024 …

火山 RTC 引擎9 ----集成 appkey

一、集成 appkey 1、网易RTC 初始化过程 1)、添加头文件 实现互动直播 - 互动直播 2.0网易云信互动直播产品的基本功能包括音视频通话和连麦直播,当您成功初始化 SDK 之后,您可以简单体验本产品的基本业务流程,例如主播加入房间…

Adminer:一个基于Web的轻量级数据库管理工具

Adminer 是一个由单个 PHP 文件实现的免费数据库管理工具,支持 MySQL、MariaDB、PostgreSQL、CockroachDB、SQLite、SQL Server、Oracle、Elasticsearch、SimpleDB、MongoDB、Firebird、Clickhouse 等数据库。 Adminer 支持的主要功能如下: 连接数据库服…

RK3568下QT实现按钮切换tabWidget

运行效果: 在 Qt 应用程序开发过程中,TabWidget 是一种非常实用的 UI 组件,它能够以选项卡的形式展示多个页面内容,帮助我们有效组织和管理复杂的界面布局。而在实际使用时,常常会有通过按钮点击来切换 TabWidget 页面的需求,本文将通过一个完整的示例,详细介绍如何在 Q…

2025 OceanBase 开发者大会全议程指南

5 月 17 日,第三届 OceanBase 开发者大会将在广州举办。 我们邀请数据库领军者与AI实践先锋,与开发者一起探讨数据库与 AI 协同创新的技术趋势,面对面交流 OceanBase 在 TP、AP、KV 及 AI 能力上的最新进展,深度体验“打破技术栈…

day017-磁盘管理-实战

文章目录 1. 硬盘命名规则2. 添加硬盘2.1 查看硬盘名称 3. 硬盘分区3.1 分区命名规则:mbr分区表格式3.2 创建分区:fdisk3.2.1 fdisk -l:查看硬盘及分区信息3.2.2 fdisk /dev/sdc :为该硬盘分区3.2.3 创建扩展分区和逻辑分区3.2.4 保存设置并退…

【成品设计】STM32和UCOS-II的项目

项目1:《基于STM32和UCOS-II的水质监测系统》 Ps:分为带系统版本和不带系统版本,功能都一样。 功能说明: 1. 单片机主控:STM32F103C8T6单片机作为核心控制。 2. 酸碱度传感器:实时采集当前PH值。 3. 水质…

Ngrok 配置:实现 Uniapp 前后端项目内网穿透

文章目录 一、下载并安装 ngrok二、配置 ngrok Authtoken三、启动本地 uniapp 项目四、使用 ngrok 暴露本地服务五、通过公网 URL 访问项目六、后端API项目的穿透问题排查 (uni-app 后端 API 示例)交互流程图示 七、ngrok Web 界面 (本地监控)八、停止 ngrok总结 ngrok 是一款…