前文介紹了 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.