1. 共性:都是投机解码
DFlash 与 DSpark 都建立在推测解码(Speculative Decoding, SD)范式上:小草稿模型并行出块、目标大模型并行验证、靠拒绝采样保分布(零质量损失)。二者都不是“新模型”,而是解码 / 服务层的加速方案。
下文逐维度拆开看它们的不同。
2. 维度对比
| 维度 | DFlash | DSpark |
|---|---|---|
| 来源 | Z Lab + SGLang + Modal(2026-06-15 博客) | DeepSeek + 北大(2026-06-27 开源,MIT,deepseek-ai/DeepSpec) |
| 草稿范式 | Block Diffusion:一次前向并行预测整块 masked future tokens | Semi-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 系列多档 drafter | vLLM PR #46995 合入中,同时支持 SGLang / OpenInfer |
3. 关键区别一句话
- DFlash 革的是「草稿的并行方式(自回归 → 块扩散)」+「执行引擎(消除 host-device 同步空转的 overlap scheduler)」。
- DSpark 革的是「草稿块内的顺序建模(半自回归 + 马尔可夫头)」+「验证长度的动态调度(置信度调度器)」。
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 代码 / 官方博客为准。
💬 留言
NaphJohn/LLM-blog尚未启用 Discussions:请在 GitHub 仓库 Settings → General → Features 勾选 Discussions 后刷新本页,评论区即自动显示。