DSpark:按置信度调度验证的半自回归推测解码(arXiv 2026)
原题:DSpark: Confidence-Scheduled Speculative Decoding with Semi-Autoregressive Generation
一句话总结:并行草稿模型能快速提出长候选,却容易在后半段丢失词间依赖;DSpark 用轻量串行头修正草稿,再按前缀存活概率和引擎吞吐曲线分配每个请求的验证长度。在 DeepSeek-V4 预览版的线上流量中,与 MTP-1 相同总吞吐时,V4-Flash 的单用户生成速度提高 60%–85%(§5.4、图 7)。
版本与证据:本页依据 arXiv:2607.05147v1 的 33 页全文,经 MinerU 分段提取并回看 PDF 关键页。它是 2026 年 7 月的预印本,不能当作已录用会议论文。离线基准、线上部署和 DeepSeek V4.1 Flash 生产实践博客 是不同证据来源,下文分开陈述。
问题与动机
推测解码让小模型先提出多个 token,再由目标模型并行验证;如果候选前缀通过验证,一次目标模型前向就能产出多个 token。逐 token 生成草稿可以条件化于刚生成的词,但草稿耗时随长度增加。DFlash 一类并行草稿模型用一次前向生成整块候选,省掉多次前向,却让块内每个位置独立预测。遇到“of course”和“no problem”这类多种合理续写时,独立位置可能拼成不连贯的混合结果,后半段的接受率随之下降(§2.2、§3.1)。
另一层问题出现在目标模型的验证批次里。草稿已经生成,不代表整块都值得验证:开放式聊天的后段候选比代码更容易被拒绝;并发高时,每个低把握的候选都占去本可服务其他请求的批容量。论文因此同时优化两个环节:提高长草稿的条件一致性,以及把目标模型的验证算力分给预期产出最大的前缀(§1、§3.2)。
关键观察 / 隐含假设
- 并行模型先手强,尾部弱:Qwen3-4B 的逐位置分析中,DFlash 在数学首位置的条件接受率为 0.88,Eagle3 为 0.81;聊天为 0.72 对 0.53。但 DFlash 的聊天尾部降到 0.63,Eagle3 则升到 0.74(§4.3.1、图 2)。首位置一旦拒绝,整块后续失效;因此既需要保留并行骨干的首词能力,也需要补块内依赖。这个规律来自所测目标模型与任务,换成确定性更高的文本分布仍需重测。
- 验证长度受内容和负载共同决定:固定 7 个草稿位置、关闭调度器时,Qwen3-4B 的 DSpark 在 GSM8K 的平均接受长度为 6.11,在 Alpaca 聊天为 3.54(§4.2、表 1)。引擎每步吞吐又随批量变化;请求难度相同,在空闲和繁忙时也不应得到同一验证预算(§3.2)。
- 调度器把批量视为主要成本变量:算法用初始化时测得的每步吞吐
SPS(B),假设解码负载均衡后,上下文长度差异对单步耗时的影响次于验证批量(§3.2.2 脚注 2)。若超长上下文、注意力实现或各数据并行 rank 的上下文分布改变,这张成本表可能失准。 - 线上收益依赖并发未填满计算能力:作者称其生产流量常受 KV 容量和请求供给约束,有效批量低于 GPU 饱和点(§5.3)。此时追加高价值验证 token 可同时提高单用户速度和 GPU 总产出;持续饱和的工作负载不能直接套用相同倍数。
核心方法
草稿生成:DSpark 在 DFlash 并行骨干之后加一个很轻的串行输出头。骨干一次产生整块隐藏状态和基础 logits;串行头按位置读入前一个已采样 token,为当前位置的 logits 加转移偏置,再采样。默认 Markov 头只看前一个 token,用秩 256 的低秩词表转移矩阵避免完整 V×V 参数;RNN 头能记住更长的块内历史,但部署更复杂,线上版本选 Markov(§3.1、§4.3.2、§5.1)。这种局部条件化仍给出每个 token 的精确草稿概率,供标准拒绝采样使用。
接受概率估计:置信度头输出“此前草稿都通过的条件下,当前位置也通过”的概率。位置 k 的前缀存活概率,是前 k 个条件概率的乘积。作者用目标分布与草稿分布的总变差距离构造训练监督;再用留出集逐位置做顺序温度缩放(STS),校准累计存活概率。这里校准很关键:调度器需要概率的绝对值估算收益,仅有正确排序还不够(§3.2.1、图 6)。
验证预算:设一个目标前向的总验证批量为 B,预计产出为各请求已选前缀存活概率之和,再加每请求的目标模型 bonus token。调度器估算 预计产出 × SPS(B),把所有请求下一枚可扩展 token 按存活概率排序,逐个纳入,决定各请求的验证长度。由于同一请求越往后存活概率越低,排序自然遵守前缀约束。理论算法在预计吞吐首次下降时停止,以避免当前 token 的选择借用了后续 token 的信息;只有吞吐目标沿这条路径单峰时,这种提前停止才保证找到全局最优(§3.2.2、算法 1、附录 A)。
生产实现:实际引擎的 SPS(B) 有台阶,而零开销调度(ZOS)和 CUDA Graph 要提前知道下步形状。实现用两步前的置信度估计下一步批容量,当前请求仍按其最新概率排序;全局搜索只看历史容量预测,避免把本轮未来 token 混进当前的纳入决策。不同请求的变长验证 token 在内核里压平执行,序列依赖交给稀疏注意力的标记张量;论文称 DeepSeek-V4 只需改 index-attention 与 compress 内核(§5.2–5.3)。训练侧还只跨 worker 传目标模型的 hidden state,并按采样 anchor 打包草稿训练块(§5.1)。
设计取舍
- 生成整块,再有选择地验证:并行骨干的成本近似不随验证长度改变,换来长候选和高首词接受率;低接受率请求即使只验证少量 token,前期整块生成成本仍已付出(§5.4 Limitations)。
- 概率校准换负载感知:静态阈值只区分好坏,
SPS(B)能表达“此刻多验一个 token 的机会成本”;代价是引擎性能表、校准集和线上负载发生漂移时需更新。论文没有给出长期漂移或自动重校准的测量。 - 因果约束限制搜索:理论提前停止保证候选纳入不偷看未来,却会在锯齿形硬件曲线上错过更优批量;线上两步历史预测解开这一限制,但当负载骤变时容量选择可能滞后(§3.2.2、§5.2)。
- 模型与内核共同适配:离线算法能在多个开源目标模型上训练;线上收益还依赖变长验证内核、DeepSeek-V4 架构和自身引擎的性能曲线,不能仅凭草稿模型接受长度估算其他系统的端到端速度。
实验与结果
- 离线设置:Qwen3-4B/8B/14B 与 Gemma4-12B;数学、代码、聊天各 3 个基准。Eagle3、DFlash、DSpark 用同一训练数据和框架重新训练,统一 7 步候选范围;Eagle3 为 1 层,DFlash/DSpark 为 5 层。离线主表关闭置信度调度,只比较草稿质量;平均接受长度包含目标模型产生的 bonus token,不是端到端吞吐(§4.1–4.2、表 1)。
- 草稿质量:Qwen3-4B/8B/14B 的九基准宏平均接受长度,相对 Eagle3 分别高 30.9%/26.7%/30.0%,相对 DFlash 高 16.3%/18.4%/18.3%。Qwen3-4B 的 GSM8K 为 6.11,DFlash 5.40、Eagle3 5.14;Alpaca 为 3.54、2.96、2.26(§4.2、表 1)。
- 机制检查:两层 DSpark 在所测数学、代码、聊天集合的接受长度已超过五层 DFlash;串行头对单轮服务延迟增加约 0.2%–1.3%。阈值扫描中,聊天草稿的接受率从 45.7% 升到 95.7%,但同时舍弃了候选 token,不能把这项接受率当成吞吐改善。校准后累计概率的平均 ECE 约 1%,原始置信度约 3%–8%(§4.3、图 3–6)。
- 生产对照:DeepSeek-V4-Flash/Pro 预览版最大草稿块长 5,与原生产 MTP-1 比较;结果取自实时用户流量采样和拟合的吞吐—单用户速度前沿。Flash 在 80 token/s/用户的目标下,总吞吐高 51%;Pro 在 35 token/s/用户下高 52%。相同实用总吞吐下,Flash 单用户速度高 60%–85%,Pro 高 57%–78%(§5.4、图 7)。
- 严格目标需单独读:Flash 在 120 token/s/用户下的名义吞吐提升为 661%,Pro 在 50 token/s/用户下为 406%;作者解释基线此时只能维持很小并发,因此这主要说明可服务区域扩张,不能当作高利用率基线的普遍加速倍数。图 8 显示低至中并发时平均每请求验证预算约 4–6 token,高并发时逐渐缩短(§5.4、图 7–8)。
论断—证据表
| 论断 | 证据 | 评测边界 | 置信度 |
|---|---|---|---|
| 轻量块内依赖改善并行草稿尾部质量 | 表 1 的九基准接受长度;图 2 逐位置条件接受率;图 3 深度比较 | 四种目标模型,固定候选范围;Eagle3 与并行模型层数不同 | 强(所测草稿质量) |
| 置信度可识别低价值尾部候选 | 图 5 阈值扫描;图 6 校准前后 ECE | 离线估计器诊断,未单独给调度器的端到端消融 | 中 |
| 负载感知验证改善服务前沿 | 图 7 实时流量、MTP-1 对照;图 8 并发与预算变化 | DeepSeek-V4 预览版、内部引擎和当时流量;前沿为拟合曲线 | 中到强(该部署) |
| 极严格 SLA 下仍可维持吞吐 | 图 7:Flash 120 TPS、Pro 50 TPS 的名义 661%/406% | 基线接近服务边界,分母很小 | 中(可服务性);弱(作普遍倍数) |
| 在线搜索保持目标分布 | §3.2.2 的非预知约束、附录 A 反例、§5.2 的两步历史方案 | 依赖实际调度实现遵守所述因果边界;未见独立输出分布审计 | 中(理论机制) |
批判性分析
论证链条
论文把“草稿是否被接受”和“值得花目标模型算力验证吗”分开处理。前者由块内条件化改善,后者由校准后的存活概率和引擎吞吐曲线决策。离线实验关闭调度器,能较清楚地支撑草稿模型贡献;线上图 7 则验证整套部署后的前沿变化。两段结果的指标不同,不能用接受长度的百分比解释线上全部收益。
假设压力测试
若请求长期处于满载,额外验证很快挤占其他请求,调度器应缩短预算;图 8 支持这一方向,但未覆盖其他 GPU、其他注意力内核和跨代硬件。若 chat/code 占比漂移,校准集上的存活概率会偏离真实分布;若超长上下文影响每步耗时超过批量影响,单变量 SPS(B) 也会误估机会成本。负载快速突变时,两步历史容量预测可能做出过大或过小的验证批次。
实验可信度
离线对照复训并统一训练数据,主表数值和消融能定位半自回归头的作用。不过 Eagle3 采用 1 层、并行方法 5 层,这是各方法的典型配置,不是完全等参数或等草稿延迟对照。线上采样比纯合成负载更贴近生产,但图 7 用拟合前沿比较先后两种生产方案,未报告随机 A/B、流量组成稳定性、P99 延迟或单位请求成本。可把它作为该部署的有效实证,外推时仍需本地负载回放。
系统性缺陷
推测解码的分布正确性不仅依赖拒绝采样,还依赖调度决策不能使用尚未生成的候选。附录 A 给出越过这一边界会产生选择偏差的反例;线上异步方案的实现细节因此属于正确性关键路径。论文主要给出理论解释,未提供独立的输出分布回归测试或调度错误恢复数据。生产集成还要求修改变长注意力内核;对缺乏这种支持的引擎,算法收益可能被 padding 和调度开销吞掉。
局限与后续工作
- 为极低接受率请求加入难度感知的草稿早退,避免即将丢弃的整块候选消耗固定生成成本;这是作者在 §5.4 明确提出的方向。
- 在负载突变、上下文极长、模型版本更新和域分布漂移时,分别测
SPS(B)与 STS 校准误差,并报告 P95/P99 生成速度、吞吐及目标分布偏差。 - 在相同模型、流量和引擎上,分别对照固定长验证、仅静态阈值、仅半自回归草稿、同步与异步调度,以分离两项算法贡献和内核贡献。
相关
- 专题:LLM-Serving;生产实践博客:DeepSeek-V4.1-Flash-Serving。博客中的 V4.1 Flash 与本文的 V4 预览版,版本和对照基线不同。
- 相邻问题:ACDC-SOSP26 也选择推测解码策略,但面向离线作业;BatchGen-OSDI26 调整运行中批次,关注任务完成时间。
- 原文与实现:arXiv PDF、DeepSpec 官方训练仓库。