Nobody Knows Qwen3.5-27B Better Than Me
證據(jù)如下:
寫(xiě)無(wú)可寫(xiě),居然還有高手——Qwen3.5-27B-DFlash
它讓Qwen3.5-27B的推理速度直接起飛,最高能到5 倍加速,而且是無(wú)損加速,生成質(zhì)量完全不打折
簡(jiǎn)介
用大模型寫(xiě)代碼、做數(shù)學(xué)題,模型想半天才吐一個(gè) token 出來(lái),GPU 利用率低得讓人心疼?
這就是自回歸解碼的老毛病了——一個(gè) token 一個(gè) token 地生,串行瓶頸在那擺著
之前業(yè)界用Speculative Decoding(推測(cè)解碼)來(lái)解決這個(gè)問(wèn)題:先用一個(gè)小模型快速猜一串 token,再讓大模型并行驗(yàn)證。EAGLE-3 是這個(gè)方向的 SOTA,但它的小模型還是自回歸的,加速比也就 2-3 倍,上限明顯
DFlash(z-lab.ai/projects/dflash)來(lái)了,直接把「猜」的過(guò)程從自回歸換成了擴(kuò)散模型。一次前向傳播就能并行生成一整個(gè) block 的 token,配合大模型驗(yàn)證,在 Qwen3-8B 上實(shí)現(xiàn)了6 倍以上的無(wú)損加速,比 EAGLE-3 快了將近2.5 倍
下圖是 DFlash 的系統(tǒng)架構(gòu):
![]()
DFlash 架構(gòu)圖
DFlash 來(lái)自z-lab(UCSD ML Systems Group),這幫人專(zhuān)做「讓 AI 更小、更快、更高效」的事,從算法到系統(tǒng)到應(yīng)用全棧搞。論文已發(fā)(arXiv: 2602.06036),而且代碼全開(kāi)源。
為什么 DFlash 這么快?
核心原因有兩個(gè),搞懂了你就知道為什么這東西比 EAGLE-3 強(qiáng)這么多:
1. 擴(kuò)散模型天然適合做「猜測(cè)」
EAGLE-3 的 drafter 是自回歸的,猜 8 個(gè) token 就要跑 8 次前向傳播,成本線性增長(zhǎng)。為了控制延遲,EAGLE-3 只能用極淺的模型(1 層 Transformer),猜測(cè)質(zhì)量自然上不去
DFlash 用的是block diffusion模型——不管你要猜 8 個(gè)還是 16 個(gè) token,都是一次前向傳播搞定。這意味著 drafter 可以做得更深(5 層 Transformer),模型更有表達(dá)力,猜得更準(zhǔn),但延遲反而更低。論文里有個(gè)數(shù)據(jù)很能說(shuō)明問(wèn)題:一個(gè) 5 層的 DFlash 生成 16 個(gè) token 的延遲,比 1 層的 EAGLE-3 生成 8 個(gè) token 還低
2. 關(guān)鍵洞察:「大模型自己就知道未來(lái)」
光用擴(kuò)散模型還不夠。如果小模型完全從零開(kāi)始猜,猜不準(zhǔn)的。DFlash 的核心創(chuàng)新是:從大模型(target model)的隱藏層抽取特征,注入到 drafter 的每一層 KV cache 里
這跟 EAGLE-3 的做法有本質(zhì)區(qū)別——EAGLE-3 只在輸入層融合 target 的特征,信息隨著層數(shù)增加會(huì)衰減。DFlash 是在 drafter 的每一層都注入,信息保持一致。這就是為什么 DFlash 的 acceptance length(被接受的草稿 token 數(shù)量)能隨著 drafter 層數(shù)有效增長(zhǎng),而 EAGLE-3 加層數(shù)收益遞減
Qwen3.5-27B-DFlash:最熱門(mén)的版本
DFlash 系列目前覆蓋了不少模型(huggingface.co/collections/z-lab/dflash),完整列表如下:
目標(biāo)模型
DFlash Drafter
Kimi-K2.5 (Preview)
z-lab/Kimi-K2.5-DFlash
Qwen3.5-4B
z-lab/Qwen3.5-4B-DFlash
Qwen3.5-9B
z-lab/Qwen3.5-9B-DFlash
Qwen3.5-27Bz-lab/Qwen3.5-27B-DFlash
Qwen3.5-35B-A3B
z-lab/Qwen3.5-35B-A3B-DFlash
Qwen3-Coder-Next
z-lab/Qwen3-Coder-Next-DFlash
Qwen3-Coder-30B-A3B
z-lab/Qwen3-Coder-30B-A3B-DFlash
gpt-oss-20b
z-lab/gpt-oss-20b-DFlash
gpt-oss-120b
z-lab/gpt-oss-120b-DFlash
其中Qwen3.5-27B-DFlash是目前最熱門(mén)的版本,HuggingFace 上 5200+ 下載量、47 個(gè) likes,drafter 模型只有2B 參數(shù),非常輕量
為什么 27B 最受歡迎?因?yàn)樗切詢(xún)r(jià)比最優(yōu)點(diǎn)——27B 夠強(qiáng),能處理大部分任務(wù),又不像 122B/397B 那樣對(duì)顯卡要求太高,配合 DFlash 加速后更是如虎添翼
實(shí)測(cè)數(shù)據(jù)
官方在單張 NVIDIA B200 上做了全面測(cè)試,數(shù)據(jù)很有說(shuō)服力。以 Qwen3.5-27B 為例,block size = 16,thinking 模式開(kāi)啟:
吞吐量對(duì)比(tok/s,越高越好):
任務(wù)
并發(fā)
原版 (AR)
MTP
DFlash
Math500
1
84
243 (2.9x)
397 (4.7x)
Math500
8
625
1457 (2.3x)
2270 (3.6x)
HumanEval
1
83
236 (2.9x)
427 (5.2x)
HumanEval
8
602
1345 (2.2x)
2079 (3.5x)
MBPP
1
84
200 (2.4x)
347 (4.2x)
MT-Bench
1
84
169 (2.0x)
255 (3.0x)
單并發(fā)場(chǎng)景下,HumanEval 上直接5.2 倍加速,Math500 上4.7 倍
哪怕在并發(fā) 32 的高壓場(chǎng)景下,依然能維持1.5-1.9 倍的加速,這在生產(chǎn)環(huán)境里非常有價(jià)值
對(duì)比 MTP(Multi-Token Prediction),DFlash 在所有任務(wù)上都大幅領(lǐng)先。而且記住——這是無(wú)損加速,輸出質(zhì)量跟原版一模一樣。
Acceptance Length 對(duì)比:
任務(wù)
B16 (MTP / DFlash)
Math500
7.14 /7.93
HumanEval
7.38 /9.18
MBPP
5.94 /7.27
MT-Bench
5.30 /5.47
HumanEval 上 DFlash 平均每輪能被接受9.18 個(gè) token,這意味著一次猜測(cè)就能「猜中」大部分內(nèi)容,效率極高
安裝與使用
DFlash 已經(jīng)適配了三大主流推理框架:vLLM、SGLang和Transformers。
vLLM(推薦生產(chǎn)環(huán)境)
SGLang# 安裝(需要 nightly 版本)
uv pip install vllm
uv pip install -U vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly# 啟動(dòng)服務(wù)
vllm serve Qwen/Qwen3.5-27B \
--speculative-config '{"method": "dflash", "model": "z-lab/Qwen3.5-27B-DFlash", "num_speculative_tokens": 15}' \
--attention-backend flash_attn \
--max-num-batched-tokens 32768
python -m sglang.launch_server \
--model-path Qwen/Qwen3.5-27B \
--speculative-algorithm DFLASH \
--speculative-draft-model-path z-lab/Qwen3.5-27B-DFlash \
--speculative-num-draft-tokens 16 \
--tp-size 1 \
--attention-backend fa3 \
--mem-fraction-static 0.75 \
--mamba-scheduler-strategy extra_buffer \
--trust-remote-code
啟動(dòng)后就是標(biāo)準(zhǔn)的 OpenAI 兼容 API,調(diào)用方式跟平時(shí)一樣:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:30000/v1", api_key="EMPTY")response = client.chat.completions.create(
model="Qwen/Qwen3.5-27B",
messages=[{"role": "user", "content": "Write a quicksort in Python."}],
max_tokens=4096,
temperature=0.0
)
print(response.choices[0].message.content)
Tip:對(duì)于長(zhǎng)上下文或 Agent 場(chǎng)景,可以加--speculative-dflash-draft-window-size WINDOW_SIZE開(kāi)啟 drafter 的滑動(dòng)窗口注意力。
Transformers(本地快速體驗(yàn))
技術(shù)細(xì)節(jié)補(bǔ)充from transformers import AutoModel, AutoModelForCausalLM, AutoTokenizer
# 加載 drafter 和 target
draft = AutoModel.from_pretrained(
"z-lab/Qwen3.5-27B-DFlash",
trust_remote_code=True, dtype="auto", device_map="cuda:0"
).eval()
target = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3.5-27B", dtype="auto", device_map="cuda:0"
).eval()
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-27B")
messages = [{"role": "user", "content": "How many positive whole-number divisors does 196 have?"}]
input_ids = tokenizer.apply_chat_template(
messages, return_tensors="pt",
add_generation_prompt=True, enable_thinking=False
).to(draft.device)# 推測(cè)解碼生成
output = draft.spec_generate(
input_ids=input_ids, max_new_tokens=2048,
temperature=0.0, target=target,
stop_token_ids=[tokenizer.eos_token_id]
)
print(tokenizer.decode(output[0], skip_special_tokens=False))
幾個(gè)值得關(guān)注的設(shè)計(jì)細(xì)節(jié):
1. 訓(xùn)練成本極低
Drafter 模型復(fù)用了 target model 的 embedding 層和 LM head(凍結(jié)),只訓(xùn)練中間幾層 Transformer。以 27B 版本為例,drafter 才 2B 參數(shù),訓(xùn)練集用了大約 80 萬(wàn)條樣本(來(lái)自 NVIDIA Nemotron 和 CodeAlpaca),用 target model 重新生成了響應(yīng)來(lái)做訓(xùn)練數(shù)據(jù),保證對(duì)齊效果
2. 只需一步去噪
DFlash 推理時(shí)只做一步去噪(single denoising step),這跟傳統(tǒng)擴(kuò)散模型需要多步迭代完全不同。因?yàn)樗?target model 的隱藏特征做條件,一步就夠了。這也是它比其他擴(kuò)散解碼方法(如 DiffuSpec 需要 7B drafter)輕量得多的原因
3. Reasoning 模型也能加速
DFlash 對(duì)開(kāi)啟了 thinking mode 的推理模型同樣有效。在 Qwen3-8B thinking 模式下,仍然能達(dá)到大約4.5 倍加速。對(duì)于動(dòng)輒生成上千 token 思維鏈的推理模型來(lái)說(shuō),這個(gè)加速太有價(jià)值了
總結(jié)
DFlash 的核心貢獻(xiàn)可以用一句話概括:擴(kuò)散模型不需要跟自回歸模型在生成質(zhì)量上競(jìng)爭(zhēng),它只需要做一個(gè)優(yōu)秀的「猜測(cè)者」
這個(gè)思路確實(shí)精妙——擴(kuò)散模型負(fù)責(zé)高速并行猜測(cè),自回歸模型負(fù)責(zé)驗(yàn)證保底,兩全其美
優(yōu)點(diǎn):
加速比碾壓 EAGLE-3,實(shí)測(cè)高達(dá) 5 倍以上
完全無(wú)損,輸出跟原版一模一樣
drafter 極其輕量(27B 版本 drafter 才 2B 參數(shù))
已適配 vLLM + SGLang + Transformers 三大框架
覆蓋模型廣泛,Qwen3、Qwen3.5、Kimi-K2.5、gpt-oss 全都有
局限:
需要 nightly 版本的 vLLM/SGLang,穩(wěn)定性可能有坑
目前 drafter 訓(xùn)練代碼還未開(kāi)源(不過(guò)已經(jīng)承諾即將放出)
高并發(fā)場(chǎng)景加速比會(huì)下降(這是 speculative decoding 的通病)
Qwen3.5-122B 和 397B 的 DFlash 版本還在路上
如果你在用 Qwen3.5-27B 做推理服務(wù),DFlash 幾乎是個(gè)無(wú)腦加分項(xiàng)。多加載一個(gè) 2B 的 drafter,就能讓吞吐量翻好幾倍,簡(jiǎn)直是免費(fèi)的午餐
.5
制作不易,如果這篇文章覺(jué)得對(duì)你有用,可否點(diǎn)個(gè)關(guān)注。給我個(gè)三連擊:點(diǎn)贊、轉(zhuǎn)發(fā)和在看。若可以再給我加個(gè),謝謝你看我的文章,我們下篇再見(jiàn)!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.