前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >策略学习助力LLM推理效率:MIT与谷歌团队提出异步并行生成新范式

策略学习助力LLM推理效率:MIT与谷歌团队提出异步并行生成新范式

作者头像
机器之心
发布于 2025-05-22 02:00:15
发布于 2025-05-22 02:00:15
1170
举报
文章被收录于专栏:机器之心机器之心

金天,麻省理工学院(MIT)计算机科学与人工智能实验室(CSAIL)博士五年级学生,师从 Michael Carbin 和 Jonathan Ragan-Kelley。他主要研究机器学习与编程系统的结合。此前曾在 IBM Research 主导实现深度神经网络在 IBM 主机上的推理部署。本科毕业于 Haverford College,获计算机科学与数学双学位。

鄭鈺熹,麻省理工学院 CSAIL 博士三年级学生,师从 Michael Carbin。她的研究方向为编程语言与机器学习的交叉领域。

大语言模型(LLM)的生成范式正在从传统的「单人书写」向「分身协作」转变。传统自回归解码按顺序生成内容,而新兴的异步生成范式通过识别语义独立的内容块,实现并行生成。

如图所示,传统方法(下)按顺序生成所有内容,而异步生成(上)同时处理多个互不依赖的内容块。对比顺序生成,异步生成在 AlpacaEval 长度控制评测中实现 1.21-1.93× 的几何平均提速,对应生成质量变化(胜率)为 +2.2% 至 -7.1%。

MIT 与谷歌研究团队在最新研究 PASTA(PArallel STructure Annotation)中首次从策略学习(policy learning)角度探索异步生成范式的可能。

  • 论文标题:Learning to Keep a Promise: Scaling Language Model Decoding Parallelism with Learned Asynchronous Decoding
  • 论文地址:https://arxiv.org/abs/2502.11517

研究团队不依赖人工设计规则来识别异步生成机会,而通过策略学习让模型自主发现并标注这些机会,系统地优化质量与速度的平衡。这种方法使 LLM 根据内容特点自适应地确定最佳异步生成策略,为生成效率优化开创学习驱动的全新路径。

PASTA-LANG:划分独立内容的标记语言

研究人员首先开发了一种新的标记语言 PASTA-LANG,专为异步生成而设计。大模型使用它在生成过程中标记语义独立块,指示并行生成机会。这种语言包含三种核心标记:

  • <promise topic="..."/>:标记语义独立的内容块,通过 topic 属性总结内容主题,大模型用它表明「这部分将会由一个独立子线程异步生成」。
  • <async>...</async>:在 <promise> 后标识对应的异步生成的内容,表示这一部分由独立子线程负责生成。
  • <sync/>:在主线程标记同步点,表明后续内容生成将会依赖于之前的异步生成,主线程需等待所有异步线程完成后才能继续。

这些标记共同构成了一种「承诺-履行」的生成模式:大模型首先通过 <promise/> 标记「承诺」生成某些内容,推理系统再创建异步线程来「履行」这些承诺,最后在 <sync/> 处将异步内容组合。

如图所示的线段长度计算案例展示了这一机制:面对计算任务(A),大模型首先识别出「坐标提取」和「长度公式」两个可并行的独立部分,生成相应的 <promise/> 标记(B),随后用 <sync/> 标记(E)表明需要等待这些内容完成。图中红色和绿色区域(C、D)显示了两个异步线程并行生成的内容,最终在(F)处组合成完整解答。

这个新的标记语言简单,可扩展性强,开启了新的未来研究范式。

PASTA 训练:从标注到优化的双阶段学习

如图所示,PASTA 系统采用双阶段训练流程,使大模型自主学习使用上述标记语言,完成异步生成。

第一阶段:监督微调。研究团队首先选取 SlimOrca 指令跟随数据集,用 Gemini 1.5 Flash 为 100K 条样本添加 PASTA-LANG 标记,在样本回答中插入 <promise/><async><sync/> 标记,创建 PASTA 微调数据集。团队随后对 Gemma 7B 进行监督微调,得到能插入 PASTA-LANG 标记的 PASTA-SFT 模型。

第二阶段:偏好优化。为优化标注策略,团队设计了策略学习方案。团队对每个样本从 PASTA-SFT 模型采样多种标注方案,然后基于两项指标评估这些方案:理论加速比和内容质量(由 Gemini 1.5 Pro 评估)。根据评估结果,团队构建「拒绝采样数据集」,该数据集包含每个输入的最佳和最差标注方案。最后,团队用 BoNBoN 算法对 PASTA-SFT 模型进行偏好优化,得到最终的 PASTA 模型。

PASTA 推理系统:并行生成与缓存管理

推理系统设计难点。异步并行生成的主要挑战在于如何协调多个线程高效协作。传统方法通常需要为每个线程创建独立的 KV 缓存池——创建新线程时必须复制主线程的前缀内容到子线程缓存池,完成后再复制结果回主线程。这两次大规模矩阵复制操作严重限制了系统性能,使理论加速难以转化为实际收益。

KV 缓存的存储布局。PASTA 设计了交错式 KV 缓存布局,所有线程共享单一连续内存池。系统初始以连续方式存储用户输入,在推理过程中动态将不同线程在同一时间点生成的 token 交错存储在相邻位置。

注意力控制与位置编码。PASTA 通过两个机制确保大模型正确理解多线程交错存储的 KV 缓存:

  • 注意力掩码控制:限制子线程只能访问与自己相关的内容,在<sync/>后通过移除掩码使主线程能访问所有子线程生成的内容。
  • 位置编码调整:每个线程都使用独立且连续的位置编码,使线程处理自己的内容时,将交错存储的内容视为逻辑上连续的序列,确保模型能正确理解上下文。

这些设计共同确保 PASTA 能在提高速度的同时保持输出质量。

实验结果:Pareto 最优与可扩展性

PASTA 在性能与质量的平衡上取得了突破性成果,实验结果表明它不仅实现了显著加速,还在某些情况下提高了输出质量。研究团队在 AlpacaEval 基准上进行了全面评估,该基准包含 805 个具有代表性的指令跟随任务。

质量-速度平衡的 Pareto 前沿。如图所示,PASTA 通过调节质量权重参数生成了一系列的模型。在不同的生成质量的情况下,PASTA 均能提供非常可观的加速。结果显示,即使最注重质量的 PASTA 模型也能提供显著加速,而最快的模型则以一定的质量牺牲换取接近 2 倍的速度提升。与基于手动设计的异步生成方案(Skeleton-of-Thought, APAR)相比,PASTA 模型展现出全面优势。

可扩展性。研究结果展示了 PASTA 方法出色的可扩展性,如图所示。随着偏好优化不断推进,PASTA 模型的性能持续提升。图中清晰展示了从第一轮开始到第一轮结束,再到第二轮开始和第二轮后半程的整个优化过程,质量-速度的 Pareto 前沿大体持续向右上方推进。

这种稳定的改进趋势表明,PASTA 方法具有良好的可扩展性——随着投入更多计算资源,仍未饱和。与传统依赖固定规则的异步解码方法不同,PASTA 通过策略学习驱动的训练算法提供了可持续的优化路径,能够有效地将额外计算资源转化为更高的推理效率。

总结与展望

PASTA 首次证明,通过策略学习让 LLM 自主优化生成策略,能够突破传统自回归和基于规则的异步生成的效率极限。这一工作不仅为实时大模型应用提供了实用加速方案,更印证了未来 LLM 可能具备推理时自我优化能力的发展方向。

转载请联系本公众号获得授权

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android自动化测试探索(一)adb详细介绍
adb,即Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具
周希
2019/10/15
2.8K0
adb设备信息查询修改刷机等命令
ADB很强大,记住一些ADB命令有助于提高工作效率。 通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等
ihoey
2018/10/31
5.5K0
必须掌握的ADB命令 | 让你的测试事半功倍
ADB的全称是Android Debug Bridge,是一个与模拟器或者连接设备通讯的桥梁。ADB是CS结构包含三个部分:
京东技术
2018/07/30
8.7K0
必须掌握的ADB命令 | 让你的测试事半功倍
ADB常用命令及其用法大全「建议收藏」
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。 注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。
全栈程序员站长
2022/08/12
7.3K0
ADB常用命令及其用法大全「建议收藏」
android adb shell 常用命令
mac: /Users/xx/Library/Android/sdk/tools/bin archquery jobb monkeyrunner sdkmanager avdmanager lint screenshot2 uiautomatorviewer
tea9
2022/09/08
3.6K0
ADB Shell 命令_手机adb命令大全
表示应用名包,这条命令的效果相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」。
全栈程序员站长
2022/11/02
2.2K0
adb下载安装及使用[通俗易懂]
adb介绍: Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。 ADB是一个C/S架构的应用程序,由三部分组成: 运行在pc端的adb client: 命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的adb server建立连接后,adb client就可以向ADB servcer发送服务请求; 运行在pc端的adb server: ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上; 运行在设备端的常驻进程adb demon (adbd): 程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务。
全栈程序员站长
2022/08/10
10.2K0
adb下载安装及使用[通俗易懂]
adb命令大全,保存以备参考
adb root //restarts adb with root permissions
孟船长
2023/12/14
5500
adb命令大全,保存以备参考
盘点Python编程的简易版自动化工具——ADB史上全操作
ADB,中文名安卓调试桥,它是一种功能多样的命令行工具,可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
前端皮皮
2021/05/18
2.6K0
盘点Python编程的简易版自动化工具——ADB史上全操作
安卓测试常用的 ADB 命令
    adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。  1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。  2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。  3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。  4.从Android仿真器中回传文件到电脑 
测试之道
2021/03/04
5.3K0
ADB的基本语法及常用命令
输出格式为 [serialNumber] [state],serialNumber即我们常说的SN,state有如下几种:
越陌度阡
2024/05/24
9210
ADB的基本语法及常用命令
编程干货│全网最全 adb 命令[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157766.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/18
1.2K0
Android自动化之-ADB与ADB shell常用命令
针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。
十四君
2019/11/23
6.2K1
如何使用ADB命令查看apk的签名
在使用第三方sdk时经常要求绑定签名,这里提供两种查看签名的方式,如果只是想查看一下手机上应用的签名,那么可以安装一个app直接输入包名即可查看该应用的签名,提供一个微信的签名查看apk,下载连接http://download.csdn.net/detail/sapce_fish/9546282。
知识与交流
2021/04/02
8.9K0
如何使用ADB命令查看apk的签名
Android中常用的adb shell命令
参考文章 https://github.com/mzlogin/awesome-adb
全栈程序员站长
2022/07/01
3.1K0
Android中常用的adb shell命令
adb命令总结
ADB(Android debug bridge)是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备。先说安装方法,电脑上需要安装客户端。客户端包含在SDK里。设备上不需要安装,只需要在手机上打开选项-设置-应用程序-USB调试(4.0+:设备-开发人员选项)。adb有各个系统的版本:Liunx,Mac,Windows,根据你自己的操作系统来选择要下载的Android SDK就可以使用adb命令了。 如下解释下ADB常用的几个命令
用户10443079
2023/03/21
1.5K0
adb命令总结
『移动端测试必备』ADB常用命令和使用
虫无涯
2023/11/28
7060
ADB命令集锦
在测试APP时,我们常常会用到adb命令来协助测试,那么adb命令到底是什么?有什么用?怎么用?
张树臣
2018/09/29
1.7K0
ADB 操作命令详解及用法大全(一)
如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s <serial-number>] 这一部分,直接使用 adb <command>。
雷子
2024/03/25
9440
ADB 操作命令详解及用法大全(一)
ADB常用命令整理(全网最全)
调试Android程序时,我们经常需要使用adb shell命令。adb是Android Debug Bridge的缩写,它充当调试桥梁的作用,就像一条连接开发机和设备之间的桥梁。
天天Lotay
2023/10/15
14.1K0
相关推荐
Android自动化测试探索(一)adb详细介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档