Speculative Decoding 算法与加速分析

分类: 推理与评估 · 难度: 进阶 · 关联讲座: L13

Speculative Decoding(推测解码)是一种在不损失输出质量的前提下加速大模型推理的技术。其核心思想是利用小型草稿模型快速生成候选 token,再由大模型批量验证,通过 rejection sampling 保证输出分布与直接使用大模型完全等价。

📐 Speculative Decoding 算法与加速分析

设置:小草稿模型(draft model)pp,大目标模型(target model)qq,目标模型速度慢但准确。

算法

  1. 草稿模型连续生成 γ\gamma 个 token:x~n+1,,x~n+γ\tilde{x}_{n+1}, \ldots, \tilde{x}_{n+\gamma}
  2. 目标模型并行评估γ\gamma 个 token(+生成位置 n+γ+1n+\gamma+1 的分布):一次前向传播
  3. 接受-拒绝采样:对每个位置 ii

αi=min(1,q(x~n+ix<n+i)p(x~n+ix<n+i))\alpha_i = \min\left(1, \frac{q(\tilde{x}_{n+i} \mid x_{<n+i})}{p(\tilde{x}_{n+i} \mid x_{<n+i})}\right)

αi\alpha_i 的概率接受 x~n+i\tilde{x}_{n+i},否则按修正分布 normalize((qp)+)\text{normalize}((q - p)_+) 重采样。

期望加速比:如果平均接受 αˉγ\bar{\alpha}\gamma 个 token,加速约 αˉγ\bar{\alpha}\gamma 倍(一次大模型前向换了多个 token)。

关键性质:输出分布与直接用目标模型采样完全相同(不是近似,是精确等价)。