跳到内容

技术

推测式解码 (Speculative decoding)

Speculative decoding

用小模型先预测几个 token、大模型一次验证的推理加速技巧,能在不损失质量下让 LLM 生成快 2-3 倍。

登入以收藏
Speculative decoding 是不改变输出的推理加速技巧。一个小的「draft」模型(便宜)先生成接下来 4-8 个 token;大的「target」模型用一次 forward pass 同时验证这些 token。target 同意的 token 接受,第一个不同意的修正掉,后面的丢掉。然后重复。 它重要的原因是:LLM 生成的瓶颈是序列化的——每个 token 都要跑一次完整的 forward pass。把 target 的检查 batch 起来,等于用一些算力换更少的序列化 pass,得到 2-3× 的时钟速度提升,而输出的概率分布跟单独用 target 一模一样。 举个例子:单独跑 Llama 3 70B 可能 40 tokens/sec。配一个 Llama 3 8B draft 模型,可能变 100 tokens/sec,输出分布一模一样。这个技巧在 draft 跟 target 常常同意时效果最好,所以 draft 通常是同家族的小版本。 主流推理引擎现在都默认支持:vLLM、TensorRT-LLM、llama.cpp 都有。OpenAI、Anthropic、Google 的 API 内部几乎肯定用某种 speculative decoding。延伸阅读:KV cache、inference、draft model、batching。

最后更新: 2026-04-29

We use cookies

Anonymous analytics help us improve the site. You can opt out anytime. Learn more