49|KV Cache 解决了自回归推理中的重复计算:历史 token 的 K/V 不必每一步重算。但它没有解决另一个更根本的问题:生成仍然是串行的。第 \(t+1\) 个 token 要等第 \(t\) 个 token 生成出来。
Speculative Decoding 的思路很像写作中的“助理草拟,专家审稿”。小模型先快速生成几个候选 token,大模型一次性验证这些候选。如果候选符合大模型分布,就一次接受多个 token;如果不符合,就回退到大模型采样。
本篇能让你学会三件事:
- 为什么 KV Cache 之后 decode 仍然慢;
- draft model 和 target model 如何协作;
- 为什么接受率决定 Speculative Decoding 是否真的加速。
一、自回归 decode 的延迟瓶颈
自回归生成每一步都要经过模型 forward、采样、追加 token、进入下一步。即使用 KV Cache,每一步仍然需要读历史 cache,并等待当前 token 结果。
大模型单步 forward 成本高,而每次只生成一个 token,硬件利用也不总是理想。prefill 阶段可以大块并行,decode 阶段则更像循环状态机。
如果能让大模型一次验证多个 token,就可以减少大模型调用次数。Speculative Decoding 正是围绕这个目标设计。
二、draft model 与 target model
draft model 是较小、较快的模型;target model 是最终要保持分布一致的大模型。draft model 根据当前上下文先生成多个候选 token:
上下文 -> 草拟 token1, token2, token3, ...
然后 target model 对这些候选位置并行计算概率,判断每个 token 是否可以接受。接受的 token 被加入输出;遇到拒绝时,按校正规则从 target distribution 采样。
关键是:最终输出分布仍然对应 target model,而不是 draft model。draft model 只是提出候选,不替代大模型决策。
三、为什么可以保持分布正确
Speculative Decoding 使用接受-拒绝采样思想。draft model 提供 proposal distribution,target model 提供真正目标分布。若 draft 给出的 token 在 target 下也足够合理,就接受;否则用差异分布修正。
直觉上,小模型猜对时,大模型一次确认多个 token;小模型猜错时,大模型纠正。只要算法按目标分布校正,输出统计上仍然等价于直接从 target model 采样。
这也是它和“直接用小模型生成”最大的区别。加速不能以改变模型行为为代价,否则只是换了模型。
四、接受率决定收益
Speculative Decoding 是否快,取决于接受率。draft model 太弱,候选经常被拒绝,大模型还是要频繁接管,甚至多了 draft 开销。draft model 太强,又可能接近 target model 成本,省不了多少。
理想 draft model 要足够快,同时和 target model 分布足够接近。它不需要和大模型一样强,但要在局部 token 预测上经常猜中。
任务也会影响接受率。格式固定、分布尖锐的场景更容易接受;创意写作、高温采样、多峰分布场景接受率可能下降。
五、多 token 预测方向
除了独立小模型,后续还有 Medusa、EAGLE 等方向。它们尝试在大模型上加多个预测头,或利用特征预测未来 token,以减少额外模型成本。
这些方法共同目标是打破“一次 forward 只得到一个 token”的低效模式。它们不改变自回归任务本质,而是在验证、草拟和并行候选上做文章。
工程上还要考虑 KV Cache 如何管理、draft 和 target 如何共享 batch、失败回退如何影响延迟,以及服务端如何在多请求场景中调度。
六、关键概念回顾
- draft model:快速提出候选 token 的小模型或预测模块。
- target model:最终定义输出分布的大模型。
- 接受率:候选 token 被 target model 接受的比例。
- 验证:大模型并行检查多个候选 token。
- 分布正确性:加速后输出仍应服从 target model 的采样分布。
七、常见误解
7.1 “Speculative Decoding 让小模型替代大模型”
不是。小模型只是草拟,最终分布由大模型决定。
7.2 “它总能加速”
不一定。接受率低、draft 成本高或 batch 调度不佳时,收益会消失。
7.3 “它会提高模型质量”
它主要优化延迟,不提高 target model 本身能力。
八、下一步
Speculative Decoding 是推理加速。下一篇看更广泛的模型压缩:量化、蒸馏、剪枝分别如何降低部署成本。
九、参考文献
- Leviathan, Y. et al. “Fast Inference from Transformers via Speculative Decoding.” ICML 2023.
- Chen, C. et al. “Accelerating Large Language Model Decoding with Speculative Sampling.” arXiv:2302.01318, 2023.
- Cai, T. et al. “Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads.” arXiv:2401.10774, 2024.
- Li, Y. et al. “EAGLE: Speculative Sampling Requires Rethinking Feature Uncertainty.” ICML 2024.
← 上一篇:49|KV Cache | 下一篇:51|量化、蒸馏、剪枝 →
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【Transformer 与注意力机制】49|KV Cache:推理为什么是 O(n) 不是 O(n²)
自回归推理和训练不是同一种程序。本文解释 KV Cache 为什么成立:历史 token 的 Key/Value 一旦算出,在后续 decode 中不会改变;缓存它们可以避免反复重算前缀。文章同时讲清 prefill 与 decode 的差异、cache 显存公式、长上下文为什么受限,以及 PagedAttention、MQA/GQA、cache 量化等方向各自在解决什么。
【Transformer 与注意力机制】38|GPT 系列:从 GPT-1 到 GPT-4 的路线演进
GPT 路线的关键不是某个模型名字,而是 Decoder-only Transformer、next-token prediction、规模扩展、上下文学习、指令微调和人类反馈逐步合流。本文从 GPT-1 讲到 GPT-4,只使用公开可确认信息,解释为什么自回归语言模型最终成为大语言模型时代的主线。
【Transformer 与注意力机制】39|T5:把所有 NLP 任务统一成 Text-to-Text
T5 的核心不是又发明了一种 Transformer,而是把翻译、摘要、分类、问答都改写成“输入文本到输出文本”的统一格式。本文解释 T5 为什么选择 Encoder-Decoder 架构,span corruption 和 BERT/GPT 的目标有什么差异,C4 和系统化消融实验为什么让 T5 成为迁移学习路线的重要基准。
【Transformer 与注意力机制】40|三大路线之争:为什么大模型几乎都是 Decoder-only
Transformer 不是只有一种形态。Encoder-only、Encoder-Decoder、Decoder-only 分别对应理解、条件生成和自回归生成三类信息流。本文横向比较 BERT、T5、GPT 代表的三条路线,解释为什么通用大模型时代 Decoder-only 占主流,以及为什么这不意味着另外两条路线失去价值。