What is 推测解码?
一种推理加速技术,使用小型快速的草稿模型一次性提议多个 token,然后由较大的目标模型并行验证。
Definition
推测解码是一种推理优化技术,可以在不改变输出分布的情况下加速大语言模型的文本生成。其核心洞察在于 LLM 推理是内存带宽瓶颈——瓶颈在于从内存读取模型权重,而非计算本身。处理 5 个 token 的单次前向传播成本几乎与处理 1 个 token 相同,因为权重加载成本占主导地位。推测解码利用这一特性,使用一个小型快速的草稿模型预测未来几个 token,然后在大型目标模型的单次前向传播中验证所有预测。
该技术分三步工作:(1)草稿模型以自回归方式生成 K 个候选 token(速度快,因为草稿模型很小),(2)目标模型在单次前向传播中处理所有 K 个候选(计算其为每个候选分配的概率),(3)验证步骤接受目标模型认同的最长候选前缀,拒绝其余部分。关键的是,接受准则的设计使得最终输出分布与标准自回归解码在数学上完全一致——推测解码是无损的。
加速效果取决于接受率——草稿模型的预测与目标模型生成结果匹配的频率。当草稿模型是目标模型的良好近似(例如,同一模型家族中 1B 模型为 70B 模型做草稿),接受率通常在 70-90% 之间,可以在零质量损失的情况下实现 2-3 倍的 token/秒速度提升。
Why It Matters
LLM 推理延迟直接影响用户体验和成本。用户会将 token 之间超过 200ms 的延迟感知为卡顿,而长文本生成任务(摘要、代码生成)可能需要数十秒。推测解码将延迟降低 2-3 倍,且不会对输出质量产生任何影响,使其成为少数在质量权衡方面真正免费的优化之一。
对于推理服务提供商来说,推测解码减少了每个请求所需的 GPU 时长,直接降低了服务成本。与量化不同——量化以质量换取速度,推测解码在数学上保证产生与标准解码相同的输出分布。这使其适用于输出质量不能妥协的应用。
How It Works
草稿模型运行标准自回归解码以生成 K 个 token(通常 K=4-8)。这个过程很快,因为草稿模型比目标模型小 10-50 倍。然后目标模型在单次前向传播中处理整个序列(原始上下文加上 K 个草稿 token),为每个位置生成概率分布。
验证步骤依次遍历 K 个草稿 token。对于每个位置,它将草稿模型选择的 token 与目标模型的分布进行比较。如果目标模型为草稿 token 分配了足够的概率(使用修改后的拒绝采样方案),则该 token 被接受。如果被 拒绝,验证停止,并使用目标模型在拒绝点的分布来采样一个替代 token。这保证了输出分布与标准目标模型解码一致,同时通常接受大多数草稿 token。
Example Use Case
一个推理平台为用户提供 Llama 3 70B 服务,用于长文本内容生成。平均生成 2000 个 token 需要 45 秒。通过部署 Llama 3 8B 作为草稿模型进行推测解码(K=5,平均接受率 78%),他们将生成时间减少到 18 秒——在输出质量完全一致的情况下实现了 2.5 倍加速。用户反馈体验显著改善,平台每个请求的 GPU 成本降低了 60%。
Key Takeaways
- 推测解码使用小型草稿模型提议 token,由大型目标模型验证。
- 它产生与标准解码数学上一致的输出——零质量损失。
- 典型加速为 2-3 倍,取决于草稿模型质量和接受率。
- 该技术利用了 LLM 推理是内存带宽瓶颈而非计算瓶颈的特性。
- 与目标模型同一模型家族的草稿模型能获得最高的接受率。
How Ertas Helps
在 Ertas Studio 中微调的模型可以通过将微调后的大模型与同一家族的小型草稿模型配对来部署推测解码,两者都导出为 GGUF 文件以实现高效的本地推理。
Related Resources
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.