推理加速速览(Inference Acceleration,2023 ~ 2026)
投机解码(speculative decoding)→ 多头草稿(Medusa/Hydra/EAGLE)→ multi-token prediction(MTP)→ 块扩散草稿(DFlash/DSpark)· 检索时间 2026-08-23 · 每篇 = 配方 + 一句话(问题 / 方法 / 核心)
零基础读法:先把「为什么逐 token 生成慢」拆开
定义:自回归 LLM 每生成一个 token 都要把前面所有 token 再算一遍,而且 token 之间串行,GPU 大量算力在等、利用率低。推理加速就是想:能不能一次多猜几个 token,再用大模型一次性验证。
方法:主流是「投机解码」——用一个便宜的小模型(或额外预测头)先草拟一串 token,目标大模型并行验证,按概率接受或拒绝,最终输出分布和大模型自己逐 token 生成完全一样(无损)。草稿可以由小模型出,也可以由额外 head 出,最近还可以由扩散模型一次性并行出一整块。
模型:Medusa 在冻结主干上挂多个解码头;EAGLE 系列预测特征而非 token;DeepSeek-V3 把 MTP 做成训练目标 + 推理草稿头;2026 年的 DFlash 用块扩散一次出一整块,DSpark 再加「置信度调度」用于生产高并发。
算法:核心循环是「草拟 → 并行验证 → 接受/拒绝」。加速取决于两个数:每轮平均接受多少 token(接受长度 τ),以及草拟本身贵不贵。扩散草稿把「草拟成本随预算线性涨」改成「一次前向出一整块」。
评测:通常看 wall-clock 加速倍数、吞吐(tokens/s)、接受长度,以及是否严格无损(输出分布一致)。生产系统还看并发、SLA、显存占用,不能只看单请求峰值。
读每篇时问三句:草稿谁来出?怎么保证无损?草拟成本会不会吃掉加速?
0. 记法(这个领域的「最大公约数」)
推理加速的所有方法都在回答两个问题:草稿怎么出(draft)和验证怎么省(verify)。配方围绕「草稿机制 → 无损加速 + 验证/调度机制」:
| 记号 | 意思 |
|---|---|
draft / verify | 草稿模型先猜一串 token,目标模型并行验证 |
lossless | 接受/拒绝采样保证输出分布与目标模型一致 |
tree | 草稿 token 树:多个候选路径,一次前向并行验证 |
head | 挂在主干上的额外预测头(Medusa/Hydra/EAGLE) |
mtp | multi-token prediction:训练时每位置预测多个未来 token |
feature draft | 预测下一 token 的 hidden 状态,再用冻结 LM head 出 token(EAGLE) |
parallel draft | 扩散/块并行一次出一整块草稿(DFlash/DSpark) |
$\tau$ / acceptance length | 每轮平均被接受的 token 数(含 bonus token) |
confidence | 置信度头估计每个草稿位置的前缀存活概率(DSpark) |
配方格式:方法(草稿机制) -> 无损加速 + 验证/调度 [接受率 / 并行度]。例:DFlash: parallel draft(block diffusion) -> 无损加速 + 并行验证 [目标 hidden 注入 K/V]。
一句话主线:先用小模型串行猜(Leviathan)→ 再用额外头并行猜、别猜 token 猜特征(Medusa/Hydra/EAGLE)→ 训练时直接学「一次预测多个 token」(MTP)→ 2026 干脆用块扩散一次出一整块(DFlash),再用置信度调度省验证预算(DSpark)。草稿从「串行小模型」走到「并行扩散」,验证从「全验」走到「按置信度调度」。
1. 主线:草稿从「串行」走向「并行」,验证从「全验」走向「调度」
- 2023 投机解码(draft-verify):Leviathan 用小模型草稿 + 大模型并行验证,确立「无损」这一硬标准。
- 2024 多头草稿 + 特征草稿:Medusa 加解码头、Hydra 加顺序依赖、EAGLE 预测 hidden 状态,草稿更准更轻;Sequoia 把草稿树和硬件验证一起优化。
- 2024-2025 MTP:Gloeckle 证明「一次预测多个未来 token」既提训练样本效率又能加速推理;DeepSeek-V3 把它做成可部署的 MTP 草稿头。
- 2026 块扩散草稿:DFlash 用块扩散一次并行出一整块、草稿成本不再随块长线性涨;DSpark 再补半自回归 + 置信度调度,进入 DeepSeek V4 生产服务。
一条并行轴是无损 vs 近似:主流投机解码严格保持输出分布,但最近也有「近似验证」用更便宜的验证器换吞吐。交点是一个开放问题:草稿质量、草稿延迟、验证开销三者怎么同时最优?
2. 源头:投机解码与 MTP 训练(2023-2024)
这条线的两个起点:投机解码回答「怎么无损地一次多出 token」,MTP 回答「训练时预测多个未来 token 会不会既更准又更快」。前者是推理侧的工程范式,后者打通了预训练与推理加速。
Speculative Decoding(Fast Inference from Transformers via Speculative Decoding)(2211.17192,Leviathan, Kalman & Matias 2023)
speculative(draft → verify) -> 无损加速 + 拒绝采样验证 [小模型串行草稿 + 大模型并行验证]
问题 自回归逐 token 生成慢、GPU 利用率低;方法 用一个便宜的小模型先自回归猜 $\gamma$ 个 token,目标大模型一次前向并行验证,按概率做接受/拒绝(rejection sampling),保证输出分布与目标模型完全一致;核心 draft-verify 无损范式,是所有后续工作(Medusa/EAGLE/DFlash/DSpark)的底座。
Better & Faster Large Language Models via Multi-token Prediction(2404.19737,Gloeckle et al. 2024,Meta)
mtp(shared trunk + n heads) -> x_{t+1..t+n} pred + ce(h_k, x_{t+k}) [每位置预测 n 个未来 token]
问题 next-token 训练只暴露短期监督、样本效率低,推理又要单独做加速;方法 共享主干 + $n$ 个独立输出头,每个位置用交叉熵同时预测接下来 $n$ 个 token;核心 提高样本效率与下游能力,并可直接当草稿头:13B、$n=4$ 时 HumanEval/MBPP 提升约 12%/17%,解码约 3×——把「预训练目标」和「推理加速」打通。
3. 多头草稿 + 特征草稿(2024:草稿更准、更轻)
Leviathan 需要额外部署一个草稿模型,占显存又不够准。这一代把「草稿」搬进主干:加预测头、加顺序依赖、预测特征而非 token,再把草稿做成树一次验证。
Medusa(Simple LLM Inference Acceleration Framework)(2401.10774,Cai et al. 2024)
head(frozen backbone + k heads) -> 并行草稿 + tree 验证 [额外解码头预测多个后续 token]
问题 额外草稿模型占显存、还要单独部署;方法 冻结主干、挂多个解码头并行预测多个未来 token,再用 tree attention 一次验证;核心 Medusa-2 联合训练主干与头,加速 2.3–2.8×,是多头草稿线的开山。
Hydra(Sequentially-Dependent Draft Heads for Medusa Decoding)(2402.05109,Ankner et al. 2024)
head(顺序依赖) -> 更高接受率 [第 i 个头把前 i-1 个头的预测当输入]
问题 Medusa 各解码头互相独立、漏掉 token 之间的顺序依赖;方法 Hydra 头让后续头依赖前面头的预测,做顺序依赖的草稿;核心 接受率比 Medusa 头更高、解码吞吐更高。
EAGLE(Speculative Sampling Requires Rethinking Feature Uncertainty)(2401.15077,Li et al. 2024)
feature draft(第二顶层 hidden) -> token 草稿 + 冻结 LM head [预测下一 token 的 hidden 分布]
问题 只把 token 喂给草稿模型会丢掉主干已算好的特征;方法 预测主干 penultimate hidden 层的下一状态,再用冻结 LM head 把它变成 token;核心 特征级草稿比 token 级更准、更稳,约 3× 加速,是 EAGLE 线的起点。
EAGLE-2(Faster Inference with Dynamic Draft Trees)(2406.16858,Li et al. 2024)
eagle + dynamic tree -> 更快 [上下文感知动态草稿树]
问题 EAGLE 用静态草稿树,默认接受率只与位置有关;方法 把草稿树改成上下文感知的动态树,接受率高的分支展开更深;核心 不改变输出分布下进一步提速。
EAGLE-3(Scaling up Inference Acceleration via Training-Time Test)(2503.01840,Li et al. 2025)
direct-token draft + training-time test -> ~6.5× 无损 [弃特征预测 + 训练时测试融合]
问题 特征预测难 scale、顶层特征依赖限制草稿深度;方法 直接预测 token(不再预测 hidden),并用 training-time test 融合主干信息;核心 无损下把加速推到约 6.5×,并展示投机解码也能随规模/训练扩展(scaling law)。
Sequoia(Scalable, Robust, Hardware-aware Speculative Decoding)(2402.12374,Chen et al. 2024)
tree(dynamic programming) -> 硬件感知验证 [最优草稿树 + 最长公共前缀复用]
问题 草稿树怎么构造、怎么验证才对硬件友好;方法 用动态规划找最优草稿树,验证时复用最长公共前缀;核心 Llama2-7B 单 A100 最多 4.04×、Llama2-70B offload 场景约 4.6×。
4. MTP 落地:训练目标即草稿头(2024-2025)
Gloeckle 的 MTP 证明「一次预测多个未来 token」有用,但工程落地要解决共享参数、显存和推理调度。DeepSeek-V3 把它做成标准组件,既当训练目标、又当推理草稿头,与投机解码互补。
DeepSeek-V3 MTP(Multi-Token Prediction)(2412.19437,DeepSeek-AI 2024)
mtp(depth-D 顺序头) -> ce(h_k, x_{t+k}) [D 个 MTP 模块 + 共享 embedding/输出头]
问题 训练信号只来自 next token、推理加速又得另做一套;方法 每个位置用 $D$ 个顺序 MTP 模块预测接下来 $D$ 个 token,与主模型共享 embedding / output head,交叉熵联合训练;核心 训练侧增强监督信号,推理侧直接当草稿头(MTP-1),与投机解码互补,是 MTP 工业化的标志。
5. 块扩散草稿 + 置信度调度(2026:一次出一整块)
此前草稿基本还是自回归(即便 EAGLE 也是串行出树),草稿成本随预算线性涨,加速上限被卡。2026 年把扩散搬进草稿:一次并行出一整块,再靠置信度决定验证多少。DFlash 立范式,DSpark 补生产级调度并部署到 DeepSeek V4。
DFlash(Block Diffusion for Flash Speculative Decoding)(2602.06036,Chen, Liang & Liu 2026)
parallel draft(block diffusion) -> 无损加速 + 并行验证 [目标 hidden 注入每层 K/V + 一次出整块]
问题 自回归草稿仍串行、草稿成本随预算线性涨,加速上限卡在约 2–3×;方法 轻量块扩散草稿模型一次并行去噪一整块 masked token,并把目标模型的隐藏状态注入草稿每一层的 K/V,让草稿复用大模型语义;核心 草稿成本不随块长涨,无损 >6×、相对 EAGLE-3 最高约 2.5×。
DSpark(Confidence-Scheduled Speculative Decoding with Semi-Autoregressive Generation)(2607.05147,Zhang et al. 2026,DeepSeek / PKU)
semi-ar draft(并行骨干 + Markov 头) + confidence-scheduled verify -> 60-85% 单用户提速 [置信度头 + 硬件感知调度]
问题 并行草稿后面 token 容易「掉队」(suffix decay)、验证预算又浪费;方法 半自回归生成:保留并行草稿骨干、只加轻量串行 Markov 头补 token 依赖;验证侧用置信度头估计每个位置的前缀存活概率,硬件感知调度把验证预算投给期望收益最高的位置;核心 生产级落地:相对 MTP-1 基线,DeepSeek V4-Flash/Pro 单用户生成提速 60–85% / 57–78%(同等吞吐);离线 Qwen3-4B/8B/14B 上接受长度比 EAGLE-3 高约 30%、比 DFlash 高约 16–18%。
6. 共识与分歧(速记版)
共识:
- 「草拟 + 并行验证」是无损加速的事实标准,输出分布一致性是硬约束。
- 草稿质量比草稿模型大小更关键:把主干特征喂给草稿(EAGLE/DFlash)比让小模型从零猜更有效。
- MTP 与投机解码不是替代关系,而是互补:MTP 出训练信号 + 草稿头,SD 出验证协议。
- 草稿并行化(块扩散)打破了「草稿成本随预算线性涨」的旧上限。
分歧 / 难点:
- 无损 vs 近似:严格无损保证输出一致,但验证仍有开销;近似验证/近似草稿能换更高吞吐,代价是分布可能漂移。
- 草稿深度 vs 草稿延迟:更深的草稿更准但更慢,DFlash 用并行打破这个 tradeoff,但扩散步数/噪声设计仍无共识。
- 单请求加速 vs 系统吞吐:很多方法只在单请求 latency 上漂亮,高并发、SLA、显存占用下的加速才是生产问题(DSpark 重点解决)。
- 评测碎片化:接受长度、speedup、tokens/s、并发吞吐各说各话,缺统一、可复现的投机解码基准。
说明:本主题从 sparse-attention 里「厂商 MTP」交叉引用拆出、单独成篇。核心论文(Leviathan、Gloeckle、Medusa、EAGLE 1/2/3、Sequoia、DeepSeek-V3、DFlash、DSpark)已读摘要/正文要点;DFlash、DSpark 为 2026 年新作,数字以原文为准。PARD / DiffuSpec / SpecDiff-2 / TiDAR 等扩散草稿的前序工作未逐篇单独展开,只在正文趋势段提及;D2SD 与 Approximate Speculative Decoding 见台账。更底层的注意力实现优化(FlashAttention/PagedAttention)见 long-context.html。