如果你还在盯着屏幕,看着大模型像挤牙膏一样一个字一个字往外蹦,甚至急得想砸键盘,那你绝不是一个人。

这种“便秘”式的生成体验,长期以来被认为是AI的固有属性

毕竟,大模型生来就是预测“下一个token”的机器。但马里兰大学、劳伦斯利弗莫尔国家实验室、哥伦比亚大学和TogetherAI的一群研究员,刚刚联手给这个“出厂设置”撕开了一道口子。

image

论文地址:https://arxiv.org/pdf/2602.06019v1

他们搞出了一种新方法,不用加显卡,不用换架构,直接把推理速度提升了3倍。

最离谱的是,这一切只需要在模型里加一个特殊的token就能实现。

瓶颈不在算力,而在“生成姿势”

说实话,现在的AI应用看着光鲜,底层的逻辑其实挺笨的。

image

经典的“下一个token预测”,说白了就是单线程作业:模型每生成一个字,都要跑一遍完整的神经网络。

这就导致了一个尴尬的吞吐量天花板。平时聊聊天还好,一旦遇到需要长链条推理的Agent(智能体)工作流,这种“逐字生成”的成本和时间就会呈指数级爆炸。

你也知道,现在的推理模型动不动就要先生成几千个字的“思维链”才能给你最终答案。用户体验就是一个字:慢。

“当超长思维链成为常态,延迟已经成为衡量服务效率的关键维度。” 马里兰大学的博士生John Kirchenbauer一针见血地指出。以前的优化都在追求整体吞吐量,但现在,我们要让单个用户的查询跑得更快。

这就好比以前我们只关心高速公路一小时能通过多少辆车,现在我们更关心你那辆车能不能开到200迈。

想快?没那么容易

其实业界早就有让模型“一次吐出多个字”的想法,这叫多token预测(MTP)。

image

但老实讲,以前的MTP真的很拉胯。

如果只是简单地教模型同时预测接下来的几个词,会出现很荒谬的“幻觉”。比如给模型一个开头:“饲养员喂了……”,让它预测后面两个词。

如果是独立预测,模型可能会瞎配对,搞出“狮子竹子”或者“熊猫肉”这种离谱的组合。谁都知道狮子不吃竹子,熊猫不吃肉,但模型不管这一套,它只管概率。

更糟糕的是,如果让模型预测太远的未来,它往往会摆烂,直接输出一堆“the the the...”这种废话。因为“the”是英语中最常见的词,预测它最“安全”。

这就是MTP长期以来的死穴:只看局部概率,不看上下文逻辑。

那么,这篇论文是怎么做的?

注:如果不想看技术细节,可以移步下一章节的科普

image

正常的大模型推理(自回归生成)是 GEMV(矩阵乘向量),每次只能吐出一个 Token。那么它到底是怎么做到一次吐出多个的呢?

它的核心魔法就在于:利用特殊的“占位符 Token”(Mask Token),把原本只能串行的 GEMV,强行拼成了一个并行的 GEMM(矩阵乘矩阵)。

下面我为你详细拆解这个过程在底层是怎么发生的:

1.打破 GEMV 的限制:批量输入占位符

在标准推理中,如果你想生成第 个词:

  • 输入: 当前的词 x_t(仅仅 1 个 Token)。
  • 计算: GPU 进行一次 GEMV(矩阵乘向量),读取一遍庞大的模型权重。
  • 输出: 第 t+1 个词的概率。

这篇论文的做法是,在生成时不止输入 x_t,而是一口气在它后面塞入 k 个特殊的占位符 Token(比如叫 [MASK] )。

假设 k=3,那输入给模型的就是一个长度为 4 的小序列:

[ x_t, MASK, MASK, MASK ]

2.Transformer 的并行天性

Transformer 架构在处理一个序列时,本来就是可以并行的。当你一次性喂给它 4 个 Token 时,底层的计算就不再是单列的 GEMV,而是一个小批量的 GEMM(矩阵乘矩阵)

在自注意力机制(Causal Attention Mask)的作用下,这 4 个 Token 是这样“看”上下文的:

  • 看到前面的所有历史,负责预测第 t+1 个词。
  • 第 1 个 MASK 看到历史 + x_t,负责预测第 t+2 个词。
  • 第 2 个 MASK 看到历史 + x_t + 第 1 个 MASK,负责预测第 t+3 个词。
  • 第 3 个 MASK 看到历史 + x_t + 前两个 MASK,负责预测第 t+4 个词。

因为是一次 Forward Pass,GPU 把权重加载到计算单元后,顺手就把这 4 个 Token 的前向传播都做完了。

它的输出是一个形状为 (4, Vocab_Size) 的矩阵,直接一次性给出了未来 4 个位置的词!

这就是它能一次输出多个词的机制。

3.“自蒸馏”训练

如果你拿一个普通的 Llama 3,强行给它喂连续的 [MASK],它输出的绝对是乱码,因为它没学过“看到 MASK 该怎么预测”。

这也就是这篇论文中“自蒸馏训练”在干的事:

  • 作者强行在训练数据里插入这些 [MASK] Token。
  • 训练目标是:逼迫模型学会仅靠前面的真实历史和这些毫无语义的 [MASK] 占位符,去“盲猜”出未来两三步的词。

因为没有任何修改底层架构,模型还是那个模型,只是在词表里多认识了一个特殊的 Token,并掌握了“遇到特殊 Token 就往后多猜一步”的特殊技能。

4.为什么这样能变快?

你可能会问:计算量不是变大了吗?原来算 1 个 Token 的前向传播,现在要算 4 个,怎么会快?

关键在于 GPU 的硬件瓶颈。

在目前的 GPU 架构下,一次吐一个词的解码(GEMV)是一个“访存密集型(Memory-bandwidth bound)”任务。

计算单元(Tensor Cores)其实极度饥饿,大部分时间在闲置,等着庞大的模型权重从显存(HBM)搬运到缓存(SRAM)里。

  • 搬一次权重,只乘 1 个 Token(GEMV),算力全浪费了。
  • 搬一次权重,同时乘 4 个 Token(GEMM),虽然乘法次数多了 4 倍,但因为计算单元本来就闲着,耗时几乎和算 1 个 Token 一模一样!

5.最终的生成循环(自适应抛弃)

有了这个能力后,实际的推理循环变成了这样:

  1. 一次输入 [当前词, MASK, MASK, MASK],耗费大约 1 个 Token 的时间。
  2. 得到未来 4 个词的预测:W1, W2, W3, W4。
  3. 置信度检验: 模型会看看这 4 个词的概率高不高。
  • 如果前 3 个词都很确信,就直接采用前 3 个词。下一步,把 KV-Cache 更新,然后从 W3 开始,继续往后加 MASK。
  • 如果到了 W2 概率就很低了,那就只接受 W1 和 W2,把后面的丢弃。下一步从 W2 开始加 MASK。

所以,这篇论文的本质就是:

通过引入特殊的 [MASK] Token,巧妙地欺骗模型,把原本需要串行 k 次、被显存带宽卡脖子的 GEMV 解码过程,打包成了 1 次小型的 GEMM 运算。

从而在完全不改动模型网络结构的前提下,白嫖了 GPU 闲置的算力,实现了多词预测。

当然了,每次用MASK 算出来的KV Cache肯定是无效的,在下一步计算前,记得要用最终输出重新计算,并替换掉,

这算是实质上增加了一些运算,但毕竟“内存墙”才是主要矛盾,这点计算也就不算什么了。

老师带徒弟,专治“胡言乱语”

为了解决这个“逻辑不自洽”的问题,研究团队搞了一套很像“强化学习”的方案:自蒸馏

这画面很有意思。

想象一下,有一个“学生模型”负责干活,它试图一次生成一整块文字。旁边坐着一位“老师模型”,这位老师是个传统的、说话很稳的next-token预测模型。

学生每生成一段话,老师就拿去审阅。

如果学生写了“狮子竹子”,老师就会判个低分,告诉它:“你这逻辑不通,重写!”如果学生写了“狮子吃肉”,老师就会给个高分。

通过这种动态的反馈机制,学生模型不仅学会了预测,还学会了保证前后文的连贯性。它不再是在死记硬背数据集,而是在实时学习如何生成“像人话”的文本。

工程师的福音:不用重构流水线

这项技术最让我觉得“有点东西”的地方,是它的落地难度极低。

Kirchenbauer说得很直接:“除了增加一个特殊token,架构上真的没有任何修改。”

他们利用了模型现有的嵌入矩阵里一个没被用过的位置,放了一个掩码token。就这么简单,把串行操作变成了并行操作。不管你的模型是MoE架构、窗口注意力还是SSM层,统统不需要动。

对于每天焦头烂额的工程团队来说,这简直是天上掉馅饼。这意味着你不需要为了提速去重构整个推理管线,直接拿现有的模型“微调”一下就行。

聪明的“自适应”加速

当然,如果你担心速度上去了,智商下来了怎么办?

研究人员也考虑到了。他们引入了一个叫ConfAdapt的策略。

这招挺鸡贼的。模型每次生成一串token,但并不是所有都会被采纳。系统设了个置信度阈值(比如90%)。如果模型觉得接下来的内容很简单、很有把握(比如数数、重复格式),置信度就高,直接一口气全输出;如果遇到难啃的骨头,置信度不够,它就自动退回到传统的“逐字生成”模式。

这就像是个老司机,直道上油门踩到底(一次吐多个词),弯道上点刹车(逐字斟酌)。

image

实测结果相当能打。

在Llama-3.1-8B模型上,这种方法实现了3倍加速,准确率损失不到3%。在更轻量的Qwen3-4B上,同样是3倍速,准确率下降稍微多一点,约7%。如果你敢牺牲更多精度,甚至能冲到5倍速。

而且,这种加速效果还能跨领域迁移。用数学数据训练出来的模型,在创意写作和摘要任务上居然也能提速。

投机解码的“平替”方案?

这就不得不提一下之前的加速神器——“投机解码”。

投机解码虽然也能加速,但它很麻烦,需要额外部署一个“草稿模型”来先写个大概,再让大模型来改。这就像为了写篇文章还得专门雇个秘书打草稿,不仅费钱,管理起来也头大。

而这次的MTP方法,相当于把这种能力直接“烘焙”进了模型权重里。

“虽然投机解码和扩散LLM都是聚焦延迟的加速技术,但MTP更简单,在科学上也很有趣。” Kirchenbauer评价道。我个人觉得,这种“内生”的加速方案,未来可能会比外挂式的投机解码更受欢迎,毕竟能少维护一个模型,谁不愿意呢?

结语

目前,团队已经把模型扔到了Hugging Face上,代码也快开源了。Kirchenbauer建议开发者先拿简单的提示词(比如数数)测测水,然后再针对自己的业务领域做微调。

虽然现在大家都在卷模型智商,但这场关于“推理延迟”的隐形战争,可能才刚刚开始。毕竟,没人愿意为了一个聪明的答案,傻等半分钟。

当加速不再是外挂,而是模型的一种“本能”,Agent时代才算真正踩下了油门。


参考链接:
https://venturebeat.com/orchestration/researchers-baked-3x-inference-speedups-directly-into-llm-weights-without