预测token速度翻番!Transformer新解码算法火了,来自小羊驼团队|代码已开源

用雅可比(Jacobi)迭代法首次打破自回归解码中的顺序依赖性

丰色 发自 凹非寺

量子位 | 公众号QbitAI

小羊驼团队的新研究火了。

他们开发了一种新的解码算法,可以让模型预测100个token数的速度提高1.5-2.3倍,进而加速LLM推理。

比如这是同一个模型(LLaMa-2-Chat 7B)面对同一个用户提问(苏格拉底采用了哪些方法来挑战他那个时代的主流思想?)时输出回答的速度:

左边为原算法,耗时18.12s,每秒约35个token;

右边为该算法,耗时10.4s ,每秒约60个token,明显快了一大截。

简单来说,这是一种并行解码算法,名叫 "Lookahead Decoding" (前向解码)。

它主要利用雅可比(Jacobi)迭代法首次打破自回归解码中的顺序依赖性 (众所周知,当下大模型基本都是基于自回归的Transformer)。

由此无需草稿模型(draft model)或数据存储,就可以减少解码步骤,加速LLM推理。

目前,作者已给出了与huggingface/transformers兼容的实现,只需几行代码,使用者即可轻松增强HF原生生成的性能。

有网友表示:

该方法实在有趣,没想到在离散设置上效果这么好。

还有人称,这让我们离"即时大模型"又近了一步。

具体如何实现?

加速自回归解码的重要性

不管是GPT-4还是LLaMA,当下的大模型都是基于自回归解码,这种方法下的推理速度其实是非常慢的。

因为每个自回归解码步骤一次仅生成一个token。

这样一来,模型输出的延迟有多高就取决于回答的长度。

更糟的是,这样的操作方式还浪费了现代GPU的并行处理能:GPU利用率都很低。

对于聊天机器人来说,当然是延迟越低,响应越快越好(尤其面对长序列答案时)。

此前,有人提出了一种叫做推测解码 的加速自回归解码的算法,大致思路是采用猜测和验证策略,即先让草稿模型预测几个潜在的未来token,然后原始LLM去并行验证。

该方法可以"凭好运气"减少解码步骤的数量,从而降低延迟.

但也有不少问题,比如效果受到token接受率的限制,创建准确的草稿模型也麻烦,通常需要额外的训练和仔细的调整等。

在此,小羊驼团队提出了一种的新的精确并行解码算法,即前向解码来克服这些挑战。

前向解码打破顺序依赖性

前向解码之所以可行,是作者们观察到:

尽管一步解码多个新token是不可行的,但LLM确实可以并行生成多个不相交的n-grams------它们可能适合生成序列的未来部分。

这可以通过将自回归解码视为求解非线性方程,并采用经典的Jacobi迭代法进行并行解码来实现。

在过程中,我们就让生成的n-grams被捕获并随后进行验证,如果合适就将其集成到序列中,由此实现在不到n个步骤的时间内生成n个token的操作。

作者介绍,前向解码之所以能够"脱颖而出",主要是因为它:

一不需草稿模型即可运行,简化了部署。

二是相对于每步 log(FLOPs) 线性减少了解码步骤数,最终在单个GPU、不同数据集上实现快1.5倍-2.3倍的token数预测。

更重要的是,它允许分配更多(大于1个GPU)的 FLOP,以在对延迟极其敏感的应用程序中实现更大程度地延迟下降,尽管这会带来收益递减。

下面是具体介绍:

1、前向解码的动机Jacobi在进行求解非线性系统时,一并使用定点迭代方法一次性解码所有的未来token。

这个过程几乎看不到时钟加速。

2、前向解码通过收集和缓存Jacobi迭代轨迹生成的n-grams来利用Jacobi解码的能力。

下图为通过Jacobi解码收集2-grams,然后验证并加速解码的过程。

3、每个解码步骤有2个分支:

前向分支维护一个固定大小的2D窗口,以根据Jacobi轨迹生成n-grams;验证分支验证有希望的n-grams。

作者实现了二合一atten mask,以进一步利用GPU的并行计算能力。

4、前向解码无需外部源即可立即生成并验证非常多的n-grams。这虽然增加了步骤的成本,但也提高了接受更长n-grams可能性。

换句话说,前向解码允许用更多的触发器来减少延迟。

5、作者检查了flops vs 延迟减少之间的缩放行为,并找到了缩放法则:

当n-grams足够大时(比如11-gram),以指数方式增加未来的token猜测(即窗口大小)可以线性减少解码步骤数。

作者介绍

本方法作者一共4位,全部来自小羊驼团队。

其中有两位华人:

傅奕超以及张昊,后者博士毕业于CMU,硕士毕业于上交大,现在是加州大学圣地亚哥分校助理教授。

参考链接:

1twitter.com/lmsysorg/st...

2lmsys.org/blog/2023-1...

3github.com/hao-ai-lab/...

相关推荐
XCDoris6 分钟前
郴州logo设计机构
大数据·人工智能·python
Goboy18 分钟前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V25 分钟前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI31 分钟前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技39 分钟前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据1 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化
冬奇Lab1 小时前
开源项目第242期:HyperFrames —— 写 HTML 就能渲染视频,专为 AI Agent 设计的确定性视频框架
人工智能·开源·音视频开发
zyseo81 小时前
谷歌SEO 准首页词挖掘脚本:找出排在第 8-20 名的隐藏流量
大数据·数据库·人工智能
一只游鱼2 小时前
MCP \
人工智能·microsoft
烛影摇红透纱窗2 小时前
AI从零介绍代码架构的复盘(含要使用的提示词)
人工智能·架构