什么是 推测解码(Speculative Decoding)?

推测解码(Speculative Decoding)是一种 LLM 推理技术,其中更快的草稿模型提出多个候选 token,再由较大的目标模型并行验证。

工作原理

推测解码针对的是自回归生成的顺序瓶颈。它不是让大模型逐个生成每个 token,而是让较小或更便宜的草稿模型提前提出多个 token。目标模型随后验证这些 token,接受与自身分布匹配的前缀,并在必要时拒绝其余部分。当草稿模型足够准确时,它可以在不改变目标模型输出分布的前提下降低解码延迟。实际收益取决于草稿质量、验证开销、批处理、硬件和采样设置。

主要特点

  • 使用草稿模型或草稿机制提出未来 token
  • 让目标模型用更少前向计算验证多个候选 token
  • 正确实现时可保持目标模型输出分布
  • 在解码是瓶颈且草稿接受率高时最有用
  • 会增加采样、批处理和回退行为的工程复杂度

常见用途

  1. 降低高流量聊天补全负载的延迟
  2. 在输出长度主导成本时加速长文本生成
  3. 为同一模型家族或领域测试草稿模型
  4. 在不改变公开目标模型的情况下提升服务效率
  5. 评估连续批处理之外的解码优化

示例

loading...
Loading code...

常见问题

推测解码会改变模型质量吗?

正确实现可以保持目标模型分布,但真实系统必须仔细验证采样行为。

推测解码什么时候最有帮助?

当解码延迟是主要瓶颈,并且草稿模型提出的 token 经常被目标模型接受时,它最有帮助。

草稿模型一定更小吗?

通常更小,但草稿 token 也可以来自专用头、n-gram 方法或其他更便宜的候选机制。

什么会限制推测解码加速?

低接受率、验证开销、显存压力、批处理交互和硬件利用率都可能限制收益。

相关工具

相关术语