核心摘要
在本研究中,我们推出了 DFlash。这是一种利用轻量级块扩散 (Block Diffusion) 模型在投机采样(Speculative Decoding)中进行草图拟合(Drafting)的新方法。
DFlash 实现了高效且高质量的并行草图生成,进一步突破了投机采样的性能极限。如图 1 所示,DFlash 为 Qwen3-8B 模型带来了高达 6.17倍 的无损加速,相比目前最先进的投机采样方法 EAGLE-3,其速度提升了近 2.5倍。
Huggingface 模型:
Qwen3-4B-DFlash-b16:https://huggingface.co/z-lab/Qwen3-4B-DFlash-b16
Qwen3-8B-DFlash-b16:https://huggingface.co/z-lab/Qwen3-8B-DFlash-b16DFlash实现了快速解码和无损生成,速度显著优于 EAGLE-3。我们使用 JetLM/SDAR-8B-Chat-b16 进行独立块扩散,并采用置信度阈值采样 (0.9);对于 EAGLE-3,我们使用 RedHatAI/Qwen3-8B-speculator.eagle3,并采用 7 长度的推测长度。

图 1. DFlash 和 EAGLE-3 相对于自回归解码的加速比比较。总体而言,DFlash 的加速比 EAGLE-3 高出 2.5 倍以上。
快速入门
pip install transformers==4.57.3 torch==2.9.0 acceleratefrom transformers import AutoModel, AutoModelForCausalLM, AutoTokenizer
# 1. Load the DFlash Draft Model
model = AutoModel.from_pretrained(
"z-lab/Qwen3-8B-DFlash-b16",
trust_remote_code=True,
dtype="auto",
device_map="cuda:0"
).eval()
# 2. Load the Target Model
target = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-8B",
dtype="auto",
device_map="cuda:0"
).eval()
# 3. Load Tokenizer
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8B")
tokenizer.add_special_tokens({"mask_token": "<|MASK|>"})
# 4. Prepare Input
prompt = "How many positive whole-number divisors does 196 have?"
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# 5. Run Speculative Decoding
generate_ids = model.spec_generate(
input_ids=model_inputs["input_ids"],
max_new_tokens=2048,
temperature=0.0,
target=target,
mask_token_id=tokenizer.mask_token_id,
stop_token_ids=[tokenizer.eos_token_id]
)
print(tokenizer.decode(generate_ids[0], skip_special_tokens=True))为什么选择DFlash?
自回归大语言模型(LLMs)改变了人工智能的格局,但其序列化的本质也造成了瓶颈:推理速度缓慢,且 GPU 计算资源往往利用不足。
投机采样(Speculative decoding)通过使用一个小的草图模型生成词元(tokens),再由目标大模型进行并行验证,从而解决了这一瓶颈。
虽然这种方法很有效,但像 EAGLE-3 这样最先进的方法仍然依赖于自回归草图拟合(autoregressive drafting)。
这种串行起草过程效率低下,且容易产生错误累积,实际上将 Qwen3 等热门模型的加速比限制在约 2-3 倍。
扩散大语言模型(dLLMs)具备并行文本生成和双向上下文建模的能力,为自回归模型提供了一个极具前景的替代方案。
然而,目前的 dLLMs 与自回归模型相比,仍存在性能退化的问题。
此外,为了保持生成质量,它们需要大量的去噪步骤,这限制了其原始推理速度。
这呈现出一种明确的权衡:自回归(AR)模型性能强大但速度慢,而扩散模型(dLLMs)允许快速并行生成但准确率往往较低。
我们能否结合两者的优点,同时规避各自的缺点?自然的解决方案是利用扩散模型进行草图拟合,发挥其并行性的优势,同时依靠自回归模型进行验证。
DFlash 的工作原理
然而,利用扩散模型进行草图拟合并非易事:
1、现有的扩散投机模型不具备实用性: 诸如 DiffuSpec 和 SpecDiff-2 等方法依赖于参数量高达 7B(70亿) 的巨型草图模型。如此高的显存占用使得它们在实际服务场景中极其昂贵,并将加速比限制在了 3-4 倍左右。
2、小型扩散模型效果不佳: 简单地缩小扩散起草器的规模并不可行。我们从零开始训练了一个轻量级的 5 层 块扩散(block diffusion) 模型(块大小为 16),训练数据源自 Qwen3-4B 生成的结果,并针对 Qwen3-4B 在一些数学任务上进行投机采样。如下表所示,在没有额外辅助的情况下,小模型缺乏与目标模型对齐的推理能力,导致加速效果非常有限。

天下没有免费的午餐吗?我们能否开发出一款既小巧(速度快)又精确(接受度高)的绘图工具?
关键洞察:The Target Knows Best
我们证明了“免费午餐”确实存在。我们的核心洞察是:大型 AR 目标模型的隐层特征(Hidden Features)中隐含地包含了关于未来词元的信息。
DFlash 不再要求微型扩散模型从零开始推理,而是将草图模型以目标模型提取的上下文特征为条件进行建模。这融合了大模型的深层推理能力与小型扩散起草器的并行速度。
设计架构
1、Feature Fusion: 在预填充或验证步骤后,提取并融合目标模型的隐层特征。
2、Conditioning: 隐层特征直接馈入草图模型各层的 K/V 投影中,并存储在草图模型的 KV 缓存中。
3、Parallel Drafting: 在这种丰富上下文的指引下,起草器使用扩散技术并行预测下一个词元块(Block)。
为了最小化开销,草图模型复用了目标模型的 Embedding 层和 LM Head 层,仅训练中间的 5 层结构,在起草质量与速度间达到了平衡。

图 2. DFlash 的总体设计。我们从目标模型中提取并融合隐藏的上下文特征,并将这些特征输入到每个草稿层中以执行条件推测。
基准测试结果
我们将 DFlash 与目前最先进的推测解码方法 EAGLE-3 进行比较。下表对比了不同基准测试中的解码速度提升和接受长度。
对于 DFlash,草稿块大小为 16,去噪步骤数为 1。对于 EAGLE-3,我们在所有实验中均使用预训练模型 RedHatAI/Qwen3-8B-speculator.eagle3[1],推测长度为 7。
我们将每个任务的最大生成长度设置为 2048。所有测试均禁用 Qwen3 模型的“思考”模式。接受与否通过草稿样本和目标样本之间的直接匹配来确定。

Math Benchmarks

Code Benchmarks

Chat Benchmarks
结论与未来展望
DFlash 证明了在投机采样的草图拟合(Drafting)阶段应用扩散模型具有广阔的前景,它成功突破了自回归大语言模型(LLMs)的速度极限。虽然扩散模型(dLLMs)具备并行生成的优势,但与最先进的自回归模型相比,它们往往面临生成质量下降的问题。
DFlash 表明,通过严格将 dLLMs 仅用于草图起草,我们可以在不牺牲输出质量的前提下,充分发挥其并行效率。至关重要的一点是,通过将起草器建立在高性能目标模型的上下文特征之上,DFlash 维持了极高的验证接受率。
DFlash 为扩散大语言模型的发展确立了一个新方向:与其苦苦尝试训练 dLLMs 来匹配自回归模型的准确度,不如将其部署为专门的起草器。这种方法允许我们安全地减少去噪步骤,从而完全利用并行生成的优势,同时依靠后续的验证环节来防止质量损失。
此外,训练一个用于起草的轻量级 dLLM 所需的计算资源,远低于训练一个大型独立 dLLM。
目前,我们正致力于将 DFlash 集成到 vLLM 推理框架中。我们还计划支持更广泛的模型系列,包括大型混合专家模型(MoE)。DFlash 与 DiffuSpec 和 SpecDiff-2 中引入的各种扩散模型推理加速技术兼容,这些技术可以进一步提升加速比;我们计划近期支持这些集成。目前的基准测试结果纯粹基于块大小(block size)为 16 的块扩散技术。
引用链接
[1] RedHatAI/Qwen3-8B-speculator.eagle3: https://huggingface.co/RedHatAI/Qwen3-8B-speculator.eagle3