SOAR周冠军笔记08 | 香草小张:MiniCPM-SALA 推测解码演进
编者按·推测与吞吐
本周 SOAR 2026 周赛中,“香草小张”队伍再次夺得冠军。本次复盘围绕推测解码在 MiniCPM-SALA 上的持续演进展开,从 Medusa 到 EAGLE,团队系统分析了不同 draft 架构在 accept rate、verify 开销与长上下文场景下的表现差异,并进一步讨论了高并发条件下推测解码收益回归的问题。
从 Medusa 多预测头结构的容量瓶颈,到 EAGLE 自回归 draft 带来的 accept rate 提升,再到长上下文与大 batch 场景中的工程观察,这篇复盘不仅关注“如何加速”,更关注“何时真正有效”。对于关注大模型推理系统与推测解码落地的开发者而言,这是一份兼具理论分析与工程实践价值的参考。
很高兴再次和队友拿下第八周冠军。
上一周的分享涉及量化方案与 Medusa 推测解码的初步适配。本文沿推测解码这条线索继续展开,讨论从 Medusa 迁移至 EAGLE 的过程,以及长上下文与高并发场景下观察到的若干问题。
01 推测解码简要回顾
大模型 decode 阶段受 memory bandwidth 约束,每生成一个 token 需将全部权重矩阵从显存搬运一次,计算单元利用率极低。推测解码(Speculative Decoding)针对这一瓶颈,由轻量 draft 模型预先生成 K 个候选 token,再由 target 模型在单次 forward 中并行 verify,在保证输出分布严格不变的前提下,单次 forward 可产出多个 token。
实际收益取决于 draft 每个候选的生成代价、候选被 target 接受的比例(accept rate)、以及 verify K 个候选引入的额外耗时,三者共同决定推测解码在具体部署条件下是否具有正收益。
02 Medusa:在主模型上附加预测头
Medusa(Cai et al., ICML 2024)不引入独立 draft model,而是在 target 最后一层 hidden state 上附加 K 个轻量 MLP head,第 k 个 head 预测后续第 k 个位置的 token 分布:
p_t^(k) = softmax( W₂⁽ᵏ⁾ · ( SiLU(W₁⁽ᵏ⁾ · h_t) + h_t ) )W₁ 初始化为零矩阵,训练初期各 head 输出与主模型等价,有利于收敛稳定性。Verify 阶段,各 head 的 top-s 候选经笛卡尔积构成候选树,配合 tree attention mask 在单次 forward 中完成验证。这一设计的工程优势在于参数增量小、无需 draft 自回归推理、训练流程简洁。
但 Medusa 的结构性上限也源于此:各 head 独立预测,第 2 个 head 无法获知第 1 个 head 的预测结果,不存在 head 间共享的递推上下文。每个 head 本质上是对同一 hidden state 的浅层映射,预测位置越远精度衰减越显著。同时,K 增大时候选树规模指数膨胀,verify 开销的增长速率超过 accept rate 的提升。
我们在 MiniCPM-SALA 上实现了 Medusa K=1,端到端取得正向收益,但随着 head 数量增加,accept rate 曲线迅速趋于平坦——这反映的是该架构固有的容量上限,而非实现层面的问题。
03 EAGLE:自回归 draft 模型
EAGLE(Li et al., arXiv:2401.15077)在 draft 架构上做了根本性变更:draft 本身是一个自回归模型,输入为 target 的 hidden state 而非 token embedding。draft 接收 target 中间层已压缩的语义特征,以远小于 target 的参数量逼近其输出分布。与 Medusa 不同,draft 自身执行 K 步自回归推理,每步以上一步的输出作为输入,因此具备连贯的递推上下文——而这正是 Medusa 各 head 之间所缺乏的。
从 Medusa 迁移至 EAGLE 后,accept rate 上限有实质性提升。
04 长上下文下的 accept rate 衰减
我们在实测中观察到一个一致的现象:推测解码在长上下文条件下 accept rate 呈系统性下降。这并非某一种 draft 架构的特有问题,而是多个机制叠加的结果。
其一是位置编码外推。draft 模型的训练通常以较短上下文为主(受训练成本约束),当推理时序列长度显著超出训练分布,位置嵌入进入外推区间,draft 的内部表示与训练阶段产生偏离,预测精度随之下降。
其二是 draft KV 误差累积。draft 自回归执行 K 步推理时,每步均依赖前序步骤生成的 KV cache。短上下文条件下,这些 KV 与 target 之间的偏差尚在 verify 的容忍范围内;长上下文条件下 KV 序列增长,各步的微小偏差沿序列方向逐步放大,K 步执行完毕时 draft 的内部状态可能已显著偏离 target。
05 高并发下推测解码的收益回归
推测解码的收益随 batch size 增大而递减,batch 足够大时转为负收益——这一点在学术文献中已有讨论(Sequoia, SpecInfer 等),但在工程部署中仍然容易被忽视。
小 batch 条件下 GPU 计算资源严重闲置,target 处理 1 个 token 与处理 K+1 个候选的耗时差异极小,瓶颈在于 memory bandwidth 而非算力,verify 的边际代价接近零。中等 batch 条件下 GPU 利用率提升,verify 产生实际的算力开销,target 单次 forward 需并行处理 batch × (K+1) 个 token,额外耗时与 token 产出增益逐渐接近平衡点。大 batch 条件下 GPU 接近 compute-bound,forward 耗时与 token 总量近似线性,推测解码以 batch × (K+1) 的计算开销换取 ≤ K 个额外 token,当 accept rate 不足以覆盖该开销时,关闭推测解码反而是端到端更优的选择。
✒️作者介绍
王致尧:队长,华中科技大学人工智能专业大四本科生。
武显瑾:队友,华中科技大学人工智能专业大四本科生。
🌟 OpenBMB 社区的小伙伴们:
SOAR 2026 稀疏算子加速大奖赛正火热进行中,每周都有新挑战,实时榜单虚位以待 。如果你想在模型推理加速、算子级优化、量化技术上展示你的技术实力 ,我们诚挚邀请你入场参赛,与曹议及更多优秀的小伙伴同台竞技,共同挑战 MiniCPM-SALA 的推理极限!点击下图或访问大赛官网 https://soar.openbmb.cn/ 了解更多。