导航菜单
SpecOPD:面向投机解码的分支并行在线策略蒸馏
SpecOPD: Branch-Parallel On-Policy Distillation for Speculative Decoding
Tianyu Liu, Jun Zhang, Wenjie Huang, Yuhao Shen, Tianqi Xu, Xinyue Hao et al.
2026-11-05▲ 13arXiv 2611.02846v1Hugging Face代码
本页由 AI 根据论文全文生成(deepseek-flash),可能有误,请以原文为准。
一句话
SpecOPD 是一种分支并行 on-policy 蒸馏框架,它从参考锚点并行监督由 draft 采样的分支,并训练 speculative-decoding drafter 以提升接受长度。
要解决的问题
Speculative decoding 的加速取决于接受长度,而 on-policy distillation 可推动 drafter 突破接受长度平台期。传统面向 SD 定制的 OPD 通过串行 draft-and-verify rollout 收集监督:drafter 提出一个 block,target 验证它,接受的 prefix 决定下一轮。这使响应收集在 drafter 更新前串行化,并在 rollout 收集期间 GPU 利用率低。论文追问 on-policy 训练是否必须继承这些串行依赖。
方法
SpecOPD 从预先收集的 reference response 中采样 B 个 anchor 位置,并将 reference sequence 作为共享 trunk;在每个 anchor,当前 drafter 独立采样 W-token continuation,形成带 branch parent map 和 semantic positions 的 proposal tree。它只预填充 reference trunk 一次,并对缓存表示批量执行 branch scoring,因此在共享 trunk 处理后,B 个 branch 增加 B(W-1) 个新 scoring rows。为保留 branch histories,它对 full attention(如 GQA)使用 tree attention masks,对 sparse attention(如 QSA)使用 branch-consistent compressed indexer groups,对 linear attention(如 GDN)使用 indexed state replay。drafter 使用 Bebop 的 E2E-TV acceptance-length surrogate 训练:token 接受概率为 1 减去 draft 与 target 之间的 total variation,loss 最小化 1 减去 BW 个 proposed tokens 上平均 prefix product。每次更新重采样 branch,而 sampled tokens 与 target distributions 固定;当各 rank 的 scored-position 数不等时,distributed normalization 保持目标不变。
实验结果
- SpecOPD 将五个 benchmark 的平均 acceptance length 提升最多 41.45%。 §3
- 相比串行 rollout OPD,SpecOPD 在每次更新处理更多 supervised tokens 的同时实现更高的 update throughput,从而获得更高的 supervised-token throughput。 §3
- 实测 generation speedup 相比 autoregressive decoding 达到 3.56×。 §3
- Agentic-task acceptance length 提升最多 81.51%。 §3
- 在匹配 optimizer steps 和 reference-sequence batches 下,SpecOPD 相比 off-policy E2E-TV 将 mean AL 提升最多 15.71%,相比 off-policy CE 提升 6.96%;其最佳评估 checkpoint 在第 7 个位置获得 4.33% 的 prefix survival。 §3
- 在 125B 评估中,step 22,000 使六单元平均 acceptance length 最大。 §A.4
局限
- 对于 conditional proposals,E2E-TV prefix products 是 serving acceptance 的代理目标,而非无偏估计(§2.3)。
- SWE 和 Terminal 使用固定历史重放,无实时工具或任务成功评分;它们是否属于官方 SWE-bench Verified 和 Terminal-Bench 2.0 子集尚未确认,且有 64 条 Terminal 源轨迹被标记为与训练数据重叠(§A.1)。
- 训练吞吐比较不包含离线 reference preparation,也不衡量达到匹配 acceptance threshold 的时间(§3、§B.2),因此端到端 time-to-quality 仍未解决。
- Off-policy 比较匹配了 sequence presentations,但使用不同 compute allocations 和 gradient paths(§A.6)。
要点
- 一个 draft block 可以仅使用其 reference prefix 和 draft-sampled history 进行监督,因此各 branch 无需等待验证结果。 §1
- 各 branch 使用独立采样流,且 sampled continuations 上的联合分布可按 branch 和 position 的乘积分解。 §2.1
- proposal tree 将 draft branches 附着到 reference trunk 的 anchors 上;首个 branch token 的 parent 是 anchor token,后续 parent 是先前 sampled tokens,semantic position 是 anchor position 加 offset。 §2.1
- 只预填充 reference trunk 一次并批量执行 branch scoring,可在摊销开销的同时保留每个 target query;在共享 trunk 处理后,B 个 branch 贡献 B(W-1) 个新 scoring rows。 §2.2
- Full attention 使用 tree masks,sparse QSA 使用 branch-consistent compressed indexer groups,linear GDN 使用 indexed state replay。 §1
- E2E-TV loss 最小化 1 减去 draft-target overlap 的平均 prefix product,因此早期 mismatch 会影响所有后续 prefix terms。 §2.3
- 评估覆盖 8B full-attention GQA、27B full-linear GQA-GDN 和 125B sparse-linear QSA-GDN targets、三种 draft architectures 以及四个 task domains。 §Abstract
- Off-policy E2E-TV 和 CE baselines 尽管 training loss 下降,却从初始化开始退化,而 SpecOPD 在所有七个 draft positions 上改善 prefix survival。 §3
思维导图
登录
选择一种方式继续
登录即表示你同意我们的服务条款和隐私政策