SevenTnewS

大语言模型与推理

加速背后的数学原理:投机解码如何在不改变输出的情况下隐藏延迟

投机解码通过使用廉价的草稿机制提出候选token,并在单个目标模型前向传播中验证它们,从而加速自回归生成,且不改变输出。本文分析了其数学原理、主要方法(草稿模型、EAGLE-3、DFLASH、多token预测、n-gram)以及接受率对实际延迟的真正影响。

Emmanuel Fabrice Omgbwa Yasse AI 辅助

2026-07-21 · 阅读需 6 分钟

加速背后的数学原理:投机解码如何在不改变输出的情况下隐藏延迟
来源 : Atomic Blog — W…

大多数大语言模型一次只生成一个token。每个新token都基于之前的所有token进行预测,这意味着每生成一个token就需要一次前向传播。在现代GPU上,瓶颈很少是计算能力,而是内存带宽。每次前向传播都需要从内存中读取整个模型的权重,而对于单个token来说,这是大量的读取和少量的写入。投机解码改变了这一比例:它让模型猜测未来的多个token,然后一次性验证整个批次。当猜测正确时,有效吞吐量会提高。当猜测错误时,也不会造成损失,拒绝采样保证了输出分布与标准解码完全一致。

该技术于2022年、2023年由Google DeepMind的研究人员正式提出,此后已成为本地推理引擎的标准功能。其核心权衡在于草稿成本与接受率之间。一个成本低廉但猜测能力差的草稿模型实际上可能会拖慢速度。一个成本高昂但猜测能力出色的草稿模型,如果开销超过节省的前向传播次数,仍然可能在时钟时间上处于劣势。

拒绝采样保证

验证步骤是投机解码在数学上无损的关键。草稿模型生成一系列候选token后,目标模型根据自身条件分布对每个token进行评估。设p(x)为目标模型分配给token x的概率,q(x)为草稿模型分配的概率。该token以概率min(1, p(x) / q(x))被接受。当目标模型比草稿模型更自信时,token总是通过。当目标模型不那么自信时,接受概率会随着两个分布之间的一致性而缩放。在第一次拒绝时,验证停止。该token从残差分布中重新采样,此后所有草稿token都被丢弃,因为它们所基于的前缀已不再有效。

结果:输出在统计上与标准自回归解码产生的输出完全相同。不是近似相同,而是逐条轨迹完全相同。唯一的区别是达到该结果所需的前向传播次数。

示意图:投机解码验证流程
投机解码中的验证过程:草稿模型提出token,目标模型通过拒绝采样评估每个token,在第一次分歧时接受或重新采样,确保输出分布与标准解码一致。

预期收益与加速公式

如果每个草稿token以概率α被接受,并且草稿模型每步最多提出γ个token,则每次验证通过的预期token数为 (1 − α^(γ+1)) / (1 − α)。对于γ = 4且α = 0.7,这大约相当于每次前向传播2.8个token,在考虑草稿成本之前,与标准解码相比,潜在吞吐量可提高2.8倍。当α = 0.9时,预期收益接近完整的γ+1。

实际时钟时间加速比更低,因为草稿并非免费。设c为一步草稿成本相对于一次目标模型前向传播的成本。公式变为:

加速比 = (1 − α^(γ+1)) / ((1 − α) × (γc + 1))

这就是不同投机解码方法之间的差异所在。纯n-gram查找的c几乎为零,但α适中。像EAGLE-3这样的神经草稿模型c更高,但α也更高。哪种方法更优取决于工作负载、硬件和序列长度。

主要的草稿策略:实践中的五种方法

该领域可分为两大类别:基于模型的草稿器和基于模式的方法。基于模型的草稿器使用第二个神经网络来逼近目标模型的预测。最简单的形式是独立的草稿模型,一个训练来模仿目标分布的小得多的语言模型。其主要成本在于必须与目标模型一起加载,仅草稿模型就使内存需求翻倍。EAGLE-3附加了一个轻量级预测模块,该模块在目标模型的隐藏激活上运行,从而显著降低了开销。DFLASH更进一步,使用块扩散模型在单个前向传播中预测整块未来token,然后作为一个单元对整个块进行验证。多token预测(MTP)在训练期间向目标模型本身添加辅助预测头,因此草稿来自与主要预测相同的前向传播,没有单独的模型或内存开销。基于模式的方法,如n-gram缓存和n-gram查找,利用生成文本中已有的重复模式。它们的运行成本几乎为零,因为它们只需在现有上下文中搜索匹配的序列。在llama.cpp等实现中,解码器首先尝试基于模式的草稿,仅在找不到合适的延续时才回退到神经草稿器。

接受数字对用户的意义

声称MTP带来30%到70%的吞吐量提升,或DFLASH带来高达6倍的提升,这些说法在很大程度上依赖于工作负载特征。可预测的延续,如迭代代码、重复先前思考的推理模型、或回显其来源的摘要,会产生较长的接受运行和高有效加速。简短、高度新颖、自由形式的文本会产生较低的接受率,此时草稿开销可能超过收益。在Gemma 4上,在有利的工作负载下,MTP增益可达大约3倍。在Qwen3 27B于两块RTX 5090 GPU上运行时,MTP从每秒51个token提升到117个token,大约2.3倍的改进。DFLASH声称有更高的峰值,尤其是在Qwen3.6、Gemma 4和Kimi K2.5上,但相同的对块结构的依赖性仍然存在:块大小由训练好的草稿模型固定,与逐token方法相比,这限制了草稿长度的动态调整能力。

真正的瓶颈仍然是内存带宽,但游戏规则正在改变

投机解码并不减少目标模型执行的计算量。它改变了权重读取与生成token之间的比率。这就是为什么它在内存带宽受限的工作负载(当今大多数本地推理)中帮助最大的原因。随着硬件在移动权重方面变得更快,或者随着KV缓存压缩技术的进步,投机解码的相对价值可能会发生变化。但对于当前一代的消费级GPU和Apple Silicon来说,它是LLM推理中为数不多的免费午餐之一:更低的延迟、相同的输出、零质量成本。

每天早晨用 3 分钟掌握科技要闻

每个工作日一封邮件,只讲真正重要的 AI 与科技动态。