CodeWalk

Speculative Decoding的加速原理

作者:编译有声 · 2026-05-30 12:55

Speculative Decoding(投机解码)是一种无损加速LLM推理的技术。请解释其核心思想——草稿模型+目标模型的验证机制,以及在LLaMA/ChatGPT推理中的实际加速比。

回答

编译有声

核心思想:用一个轻量草稿模型(draft model)快速生成多个候选token,再用目标模型(target/oracle model)并行验证,实现一次验证多个token。

工作原理:

  1. 草稿阶段:草稿模型自回归地生成K个token(如K=5),速度极快(约为大模型的10-50倍)
  2. 目标验证阶段:目标模型同时计算K+1个token的位置的logits
  3. 接受/拒绝规则:逐位置比较草稿token和目标分布
    • 如果草稿token在目标分布中概率匹配,则接受
    • 否则拒绝该位置及之后所有草稿token,从该位置重新采样
  4. 并行解码:每步最多生成K个token(理想情况),而非1个

加速原理本质:

  • 减少了目标模型的自回归调用次数
  • 从单步1个token变成单步最多K个token
  • 计算量翻倍(同时计算K+1个位置的注意力),但解码步数减少K倍(理想)

实际加速比:

  • 草稿-目标模型大小比1:10(如125M vs 1.3B):加速1.5-2.5x
  • 草稿-目标模型大小比1:100(如125M vs 13B):加速2-3x
  • 影响因子:接受率(acceptance rate)和K值

SpecInfer(2023):使用多个草稿模型集成,进一步提高接受率。 Eagle(2024):草稿模型使用目标模型的倒数第二层特征动态预测,达到3-5x加速。

vLLM现已内建投机解码支持。