本周精读:Fast Inference from Transformers via Speculative Decoding。
作者:Yaniv Leviathan、Matan Kalman、Yossi Matias(Google Research)。首次提交:2022-11-30;本期阅读版本:2023-05-18 的 arXiv v2;发表于 ICML 2023。本期导读日期:2026-10-31。阅读全文。
这是“推测解码 → MTP → DSpark”专题的基础篇。按近期确定的“由浅入深”路线,本期选读经典论文,以建立理解后续方法所需的概念。正文与附录已读完,下文为原创导读,论文实验未自行复测。
核心观点与证据
作者让小模型先顺序起草一段候选,大模型并行评估各位置,保留通过验证的前缀,在首个拒绝处修正;全部通过时还能补一个 token。流程见 §2 和 Algorithm 1。
随机采样下,候选来自草稿分布 q,按 min(1, p(x)/q(x)) 接受;拒绝后从归一化的 max(0, p−q) 采样。论文证明严格算法保持目标分布 p;这并不要求草稿模型与目标模型同样强。规则与证明见 §2.3、附录 A.1。
作者在单 TPU-v4、batch=1、WMT 英德翻译、temperature=0、草稿长度 7 的设置中,用 T5-small(77M)辅助 T5-XXL(11B),相对 T5X 基线测得 3.4 倍加速。条件与结果见 §4.1、表 2。
论文的耗时分析假定并行验证没有增加大模型单轮耗时,并考虑草稿成本。我的判断:上述结果说明了一种可行机制;在已经充分利用算力的服务中,需要重新测量验证成本,才能判断它是否有收益。
为什么值得你关注
这篇把后续各种草稿结构背后的共同接口讲清楚了:候选从哪里来、怎样验证、拒绝后怎样继续、实际省下了什么。先理解这个接口,再读 MTP 或 DSpark,就能把注意力放在各方法改变的部分。
我建议把阅读目标定为“能手算一个解码轮次”。第一遍看 Algorithm 1 的输入输出,画出首次拒绝后哪些候选失效;第二遍看附录 A.1,核对被接受与被修正两部分概率怎样拼回目标分布;第三遍看耗时分析和实验,逐项圈出理想假设。这样的顺序能把直觉、正确性与工程收益接起来。
我的工程阅读视角是:先给正确性和性能各留一份验收标准。前者描述允许哪些输出行为,后者记录每轮付出多少时间、产出多少有效 token。两份标准会帮助你审阅后续论文,而不被单个加速比带走。
阅读前置知识
- 自回归与条件概率:下一个 token 的概率取决于已有前缀;前缀改变,后续预测条件也随之改变。
- 草稿模型与目标模型:草稿负责提出便宜的候选,目标定义最终希望采样的分布。
- 采样与贪心解码:采样依概率抽取,贪心选择最大概率项;理解它们的区别,才能判断验证规则是否符合使用场景。
- 计算与访存瓶颈:并行计算需要可用资源;评估时应把草稿、验证和额外状态的成本都计入。
- 期望值:平均每轮有效进展与平均耗时共同决定长期生成速度,单轮接受得多不等于每秒生成得快。
读完最该带走的 3 个结论
- 把“无损”的验收口径写清楚。 我的建议是分别约定采样分布、贪心结果与固定种子复现的要求。分布等价本身不保证不同执行流程在同一个随机种子下逐 token 相同;实现测试要与所承诺的性质对应。
- 用每个有效 token 的总成本选择草稿长度。 我会同时测起草时间、验证时间、接受前缀长度和状态管理开销,再调整候选块大小。这适用于比较不同草稿模型或同一方法的不同配置。
- 把理论成立与部署划算分开验证。 我的上线判断还需要真实请求长度、并发和缓存条件下的测试,并覆盖拒绝后的状态回退。经典论文提供了正确性与成本分析的起点,具体服务的收益要由实际负载确认。