系列:推测解码手记

同台对比:DFlash 与 DSpark 到底差在哪

1. 共性:都是投机解码

DFlash 与 DSpark 都建立在推测解码(Speculative Decoding, SD)范式上:小草稿模型并行出块、目标大模型并行验证、靠拒绝采样保分布(零质量损失)。二者都不是“新模型”,而是解码 / 服务层的加速方案。

下文逐维度拆开看它们的不同。

2. 维度对比

维度DFlashDSpark
来源Z Lab + SGLang + Modal(2026-06-15 博客)DeepSeek + 北大(2026-06-27 开源,MIT,deepseek-ai/DeepSpec)
草稿范式Block Diffusion:一次前向并行预测整块 masked future tokensSemi-Autoregressive + Markov head:块级并行出块,马尔可夫头注入块内顺序依赖
条件化 / 顺序建模Target hidden-state conditioning + KV injection(跨层注入 target 特征,维持高接受率)马尔可夫头注入块内顺序依赖
验证调度固定 block size(默认 16)标准并行验证置信度调度器动态调验证长度(高置信多验证、低置信少验证)
执行层优化Spec V2 引擎 + overlap scheduler:消除 host-device 同步空转(再 +33%)侧重算法层,执行依赖宿主引擎(vLLM / SGLang)
公开效果Qwen3-8B 最高 6×(比 EAGLE-3 快 ~2.5×);Blackwell 上 15×V4 加速 57–85%、吞吐 +400%
生态状态SGLang 主支持、vLLM PR #16818 in progress,含 Qwen3 系列多档 draftervLLM PR #46995 合入中,同时支持 SGLang / OpenInfer

3. 关键区别一句话

4. 为什么正交可叠加

DFlash 改的是“草稿怎么生成”和“怎么执行”,DSpark 改的是“块内顺序怎么建”和“验证多少 token”。它们作用在不同层面,因此正交:OpenInfer 能在 Qwen3-4B 上同时挂两套路径——一端是 DFlash 的 block-diffusion drafter + KV injection + overlap scheduler,另一端是 DSpark 的 semi-AR drafter + Markov head + confidence scheduler。

5. 一个常见的误区

DFlash 与 DSpark 正交可叠加,但二者并非“并联同时跑两套草稿”。更可能的实现是:共享同一套 verify 流水线,只是 draft 阶段在两种方案间互换。具体实现以 OpenInfer 代码 / 官方博客为准。

觉得有用?欢迎点赞、收藏,或请作者喝咖啡 ☕️

支付宝收款码

支付宝

微信收款码

微信

💬 留言

评论由 Giscus 驱动(基于 GitHub Discussions)。 当前仓库 NaphJohn/LLM-blog 尚未启用 Discussions:请在 GitHub 仓库 Settings → General → Features 勾选 Discussions 后刷新本页,评论区即自动显示。