什么是 推测解码(Speculative Decoding)?
推测解码(Speculative Decoding)是一种 LLM 推理技术,其中更快的草稿模型提出多个候选 token,再由较大的目标模型并行验证。
工作原理
推测解码针对的是自回归生成的顺序瓶颈。它不是让大模型逐个生成每个 token,而是让较小或更便宜的草稿模型提前提出多个 token。目标模型随后验证这些 token,接受与自身分布匹配的前缀,并在必要时拒绝其余部分。当草稿模型足够准确时,它可以在不改变目标模型输出分布的前提下降低解码延迟。实际收益取决于草稿质量、验证开销、批处理、硬件和采样设置。
主要特点
- 使用草稿模型或草稿机制提出未来 token
- 让目标模型用更少前向计算验证多个候选 token
- 正确实现时可保持目标模型输出分布
- 在解码是瓶颈且草稿接受率高时最有用
- 会增加采样、批处理和回退行为的工程复杂度
常见用途
- 降低高流量聊天补全负载的延迟
- 在输出长度主导成本时加速长文本生成
- 为同一模型家族或领域测试草稿模型
- 在不改变公开目标模型的情况下提升服务效率
- 评估连续批处理之外的解码优化
示例
loading...
Loading code...常见问题
推测解码会改变模型质量吗?
正确实现可以保持目标模型分布,但真实系统必须仔细验证采样行为。
推测解码什么时候最有帮助?
当解码延迟是主要瓶颈,并且草稿模型提出的 token 经常被目标模型接受时,它最有帮助。
草稿模型一定更小吗?
通常更小,但草稿 token 也可以来自专用头、n-gram 方法或其他更便宜的候选机制。
什么会限制推测解码加速?
低接受率、验证开销、显存压力、批处理交互和硬件利用率都可能限制收益。