前文介绍了 Qwen3.5-27B-DFlash,非常神奇
本文更进一步,深入了解一下 DFlash 技术细节
![]()
DFlash + DDTree 加速流水线 先说背景:推测解码(Speculative Decoding)
大模型生成文本的时候,最大的瓶颈是什么?一个 token 一个 token 地吐
不管你 GPU 有多猛,自回归生成就是一步一步来,快不了
推测解码(Speculative Decoding)是目前主流的加速思路:用一个小模型快速"猜"一串 token,再让大模型一次性验证。猜对了就赚了,猜错了也不亏——大模型自己纠正就行
但传统推测解码有个问题:小模型也是自回归的,猜的速度也不够快。
DFlash:用扩散模型替代自回归草稿
DFlash(Block Diffusion for Flash Speculative Decoding)来自 Z Lab,核心创新就一句话:用轻量级 block diffusion 模型,单次前向传播并行生成整个 token block 作为草稿
传统小模型一个一个猜,DFlash 一次猜一整块(block size = 16)
![]()
DFlash 方法流水线
怎么做到的?
关键技术叫 KV Injection——把目标大模型多层 hidden features 融合后注入草稿小模型的 KV cache,让小模型也能高质量预测
加速效果有多猛?
基准
模型
DFlash 加速
HumanEval T=0.0
Qwen3-30B-MoE
6.09x
MATH-500 T=0.0
Qwen3-8B
6.17x
GSM8K T=0.0
Qwen3-8B
5.20x
AIME24 T=0.0
Qwen3-8B
5.91x
MBPP T=0.0
Qwen3-8B
4.75x
对比 EAGLE-3(目前最流行的推测解码方案),DFlash 快了约 2.5 倍。EAGLE-3 的极限大概 2-3x 加速,DFlash 直接干到 5-6x
而且在采样模式(Temperature=1)和 thinking mode 下仍然保持约 4.5x 加速,这一点非常重要——大部分加速方案在有随机性的时候就拉胯了
DDTree:把 DFlash 再推一把
DDTree(Diffusion Draft Tree)是以色列理工学院 Liran Ringel 在 DFlash 基础上做的进一步优化
核心思路:DFlash 一次前向传播输出的是每个位置的概率分布。DDTree 不是从中只取一条路径,而是用 best-first heap 算法构建一棵草稿树,选出最有希望的多条分支,然后让目标模型一次前向传播验证整棵树
![]()
DDTree 四步流程:
Block diffusion 一次前向生成 L 个位置的分布
Best-first heap 在节点预算 B 下构建最优草稿树
Tree attention 编译为目标模型输入
验证遍历:匹配子节点则继续,不匹配则取 bonus token 进入下轮
这套方案有个数学保证:构建的树在 draft 模型分布下可证明最大化期望接受长度。
效果:
在 HumanEval T=0.0 上,DDTree 把 DFlash 的 6.09x 直接拉到了 8.22x,额外多赚了 2.13x。
最关键的是——完全无损。目标模型用自己的解码规则,DDTree 只是帮它更高效地探索搜索空间,输出分布和不加速时完全一致。
已支持的模型
DFlash 已经为一批主流模型训好了 Draft 模型:
目标模型
Draft 模型
Kimi-K2.5 (Preview)
z-lab/Kimi-K2.5-DFlash
Qwen3.5-4B/9B/27B
z-lab/Qwen3.5-*-DFlash
Qwen3.5-35B-A3B
z-lab/Qwen3.5-35B-A3B-DFlash
Qwen3-Coder-30B-A3B
z-lab/Qwen3-Coder-30B-A3B-DFlash
Llama-3.1-8B-Instruct
z-lab/LLaMA3.1-8B-Instruct-DFlash
Qwen3.5-122B、397B 和 GLM-5.1 的 Draft 模型也在路上了。
怎么用?
DFlash 已经接入了三大推理框架:
SGLang:
python -m sglang.launch_server \
--model-path Qwen/Qwen3.5-35B-A3B \
--speculative-algorithm DFLASH \
--speculative-draft-model-path z-lab/Qwen3.5-35B-A3B-DFlash \
--tp-size 1 --attention-backend trtllm_mha
vLLM:
vllm serve Qwen/Qwen3.5-27B \
--speculative-config '{"method": "dflash", "model": "z-lab/Qwen3.5-27B-DFlash", "num_speculative_tokens": 15}'
Apple Silicon(MLX):
pip install -e ".[mlx]"
对,Mac 用户也能用。
DDTree 跑基准测试:
git clone https://github.com/liranringel/ddtree
cd ddtree
pip install -r requirements.txt
bash run_benchmark.sh
python3 plot_results.py
总结DFlash + DDTree 这对组合拳,代表了推测解码的下一个阶段:
DFlash 解决了"猜得慢"的问题 ——用 block diffusion 一次猜一整块
DDTree 解决了"猜得不够多"的问题 ——用概率树探索多条路径
最终效果是 8x+ 无损加速,而且已经接入 SGLang、vLLM、MLX 三大框架,实际可用。
对于部署大模型推理服务的团队来说,这几乎是免费的午餐——加速 5-8 倍,不牺牲任何输出质量,只需要加载一个很小的 Draft 模型
制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.