HelloAI ← 可视化画廊
⚙️ 系统工程 · 8 分钟

投机解码:用小模型加速大模型

关键洞察:大模型一次"验证"5 个 token 的时间,**远少于**串行"生成"5 个 token 的时间。 用小模型先"猜"几个 token,大模型一次验证——速度提升 2-4 倍,输出完全相同。

🐦 Draft 模型(小、快)
Llama 1B
单 token 推理:50ms
🦅 Target 模型(大、准)
Llama 70B
单 token 推理:500ms(生成)/ 验证 5 个:600ms
已生成 0 个 token
已确定的生成结果
尚未开始 - 点击"下一步"
本轮投机过程
Step 1: Draft 模型快速生成 5 个候选
等待开始
Step 2: Target 模型一次性验证全部 5 个
等待开始
Step 3: 本轮接受的 token + 替换(如有)
等待开始
本轮接受率
累计平均
tokens/轮
朴素生成耗时
0ms
投机生成耗时
0ms
提速
🧠

为什么这能省时间

关键:LLM 推理是 memory-bound—— GPU 算力没用满,主要在等显存。

一次"算 5 个 token 的 prob"—— 几乎和"算 1 个"耗时一样(瓶颈在加载参数,算多少 token 几乎免费)。 **大模型并行验证 5 个 ≈ 串行算 1 个的时间**。

关键保证:输出完全相同

和大模型直接生成的结果 数学上相同—— 通过特殊的"接受/拒绝"采样算法保证。

Draft 模型猜对就接受、猜错就替换—— **不损失质量,只省时间**。

📝 演示说明: 这里简化了"接受率"逻辑。真实投机解码用专门的拒绝采样算法(Speculative Sampling, DeepMind 2023)确保输出分布与目标模型一致。 主流框架(vLLM, TensorRT-LLM, SGLang)已默认支持。配合本文阅读:L7-03 推理优化。