小凯
@C3P0 · 2026年06月19日 16:04 · 3 浏览

DFlare:北大+腾讯联合突破,Block Diffusion 投机解码的「层感知」革命

> 论文:DFlare: Scaling Up Draft Capacity for Block Diffusion Speculative Decoding > 作者:Jiebin Zhang et al. (北大 + 腾讯) > arXiv: 2606.02091 | 代码:https://github.com/Tencent/AngelSlim > 发布日期:2026-06-02

---

一、一句话总结

DFlare 通过层感知融合(Layer-wise Fusion)打破了 DFlash 的窄瓶颈,让草稿模型的每一层都能获得定制化的目标模型知识注入,从而在三个维度(每层的知识量、模型深度、训练数据)同时扩展,实现了 Qwen3-4B 上 5.52×、Qwen3-8B 上 5.46× 的端到端加速。

---

二、为什么需要 DFlare?DFlash 的两大死锁

2.1 投机解码的困境

大模型推理的瓶颈不在计算,而在内存带宽——每生成一个 token 都要把整个模型权重从 HBM 搬到 SRAM。投机解码(Speculative Decoding)的解法是:用一个小草稿模型快速生成候选 token,大模型一次性并行验证,只要草稿够准,就能成倍加速。

但这里有个 trade-off:

  • 草稿模型越小越快,但越不准
  • 草稿模型越大越准,但生成延迟越高

2.2 Block Diffusion:打破自回归诅咒

传统草稿模型是自回归的(AR),生成 N 个 token 需要 N 次前向传播,深度直接等于延迟。

Block Diffusion 改变了游戏规则:在一个 block 内,所有 token 同时预测(通过离散扩散过程),深度和 block 大小基本解耦。这意味着——我们终于可以用更深的草稿模型了

2.3 DFlash 的「窄瓶颈」死锁

DFlash(当前 SOTA)用了一个巧妙的设计:把目标模型多层 hidden states 拼接起来,过一个 FC 层,生成一个「上下文特征」,然后通过 KV Injection 注入到草稿模型的每一层。

问题出在这两个耦合的局限:

局限具体表现
单层共享所有草稿层收到同一个融合特征,无法专业化
层数饱和加深草稿模型时,acceptance length 不再提升,因为新层没有新信息可用
论文原文说得直白: > "Feeding the *same* fused signal to every layer prevents individual layers from specializing, which also explains why depth scaling saturates."

这俩问题是耦合死锁:没有差异化输入,加深度没用;深度不够,又无法充分利用注入的知识。

---

三、DFlare 的三把手术刀

DFlare 的核心思路是 "flare out"(扩展开)——把 DFlash 的窄瓶颈撑开,让信息流动更自由。

🔧 手术刀一:Adaptive Layer Fusion(层感知自适应融合)

核心洞察:目标模型的不同层编码不同抽象层次——浅层是语法模式,深层是语义表示。为什么让所有草稿层看同样的混合物?

做法

  • 引入可学习的融合权重矩阵 W^fuse ∈ R^(D×T),D=草稿层数,T=选取的目标层数
  • 每层草稿模型学自己的 softmax 权重组合:
  α^(i) = softmax(W^fuse_{i,:})  // 第 i 层对 T 个目标层的权重
  f_t^(i) = RMSNorm(Σ_j α_j^(i) · h_t^(j))  // 第 i 层的专属融合特征
  
  • 训练完权重预计算缓存,推理时只是标量加权求和,零额外延迟
参数开销:D×T 个标量。D=7, T=9 时只有 63 个参数,可以忽略不计。

效果

  • 浅层草稿可以专注目标模型的浅层特征(语法、局部模式)
  • 深层草稿可以专注深层特征(语义、推理结构)
  • 每层都有「自己的视角」,专业化成为可能

🔧 手术刀二:Heterogeneous KV Projections(异构 KV 投影)

核心洞察:草稿模型的 hidden states 和目标模型的上下文特征,是两种完全不同的信息——前者是扩散过程中的噪声预测,后者是目标模型的语义知识。强行共享同一个 KV 投影矩阵,等于逼一个投影同时服务两个正交空间。

做法

  • 目标上下文特征用独立的 W_K^t, W_V^t
  • 草稿 token 和目标 decode token 共享 W_K^d, W_V^d
  • Query 仍来自草稿位置
K = [F^(i)·W_K^t ; x_t·W_K^d ; X̂·W_K^d]
V = [F^(i)·W_V^t ; x_t·W_V^d ; X̂·W_V^d]

效果:目标知识和草稿噪声在 attention 中有各自的子空间,互不干扰。

🔧 手术刀三:Progressive Position-Weighted Loss(渐进位置加权损失)

核心洞察:投机解码中,block 前面位置的误差会级联影响后面所有 token。DFlash 用固定指数衰减权重,小 γ 收敛快但尾部优化不足,大 γ 收敛慢。

做法:线性 warmup 的 γ 调度:

γ(s) = γ_0 + (s/S)·(γ_max - γ_0)  // s=当前步,S=总步数
w_k(s) = exp(-(k-1)/γ(s))  // 位置 k 的权重

效果

  • 早期:小 γ,聚焦前几个「简单」位置,快速收敛
  • 后期:大 γ,逐渐展开到尾部「困难」位置
  • 课程学习风格,最终所有位置都充分优化
---

四、实验结果:数字说话

4.1 主实验(Greedy Decoding)

目标模型方法GSM8KMATH500AIME25HumanEvalMBPPMT-Bench平均加速
Qwen3-4BEAGLE32.56×2.57×2.46×2.52×2.41×2.39×2.49×
DFlash5.31×6.20×5.78×4.62×4.89×3.13×4.99×
DFlare6.00×6.76×6.31×5.41×5.30×3.33×5.52× ⬆️11%
Qwen3-8BEAGLE32.43×2.42×2.34×2.46×2.26×2.20×2.35×
DFlash5.28×6.29×5.77×5.32×4.81×2.85×5.05×
DFlare6.02×6.72×6.21×5.42×5.16×3.23×5.46× ⬆️8%
GPT-OSS-20BDFlash3.75×3.96×3.85×3.49×3.44×3.74×3.71×
DFlare4.06×4.20×3.88×3.71×3.72×3.87×3.91× ⬆️5%
关键发现
  • 数学推理任务收益最大(GSM8K、MATH500 加速最明显)
  • GPT-OSS-20B 上绝对加速较低(草稿模型和目标模型差距更大),但相对提升依然稳定
  • MT-Bench(开放对话)绝对值低但相对增益最大——说明差异化知识注入对多样本生成尤其有效

4.2 Stochastic Decoding(Temperature=1)

采样引入分布不匹配,所有方法性能下降,但 DFlare 保持优势:

  • Qwen3-4B:acceptance length +10.9%
  • Qwen3-8B:+11.3%
  • GPT-OSS-20B:+3.9%

4.3 消融实验

变体相对 DFlare 表现
−Softmax(去掉权重归一化)最严重下降——权重约束对稳定性至关重要
−KVProj(去掉异构投影)一致下降
−Loss(去掉渐进损失)下降
++FC(融合后加额外 FC 层)无提升——说明轻量设计已足够
---

五、Scaling Analysis:三个维度的解锁

5.1 Draft 深度 Scaling

DFlare 5→6→7 层,acceptance length 和 speedup 单调提升,每层都有意义。

DFlash 同样条件下,5→6→7 层,提升迅速饱和。

结论:Layer-wise Fusion 真正解锁了深度扩展的潜力。

5.2 目标层数 Scaling

DFlare:T=5→7→9,acceptance length 和 speedup 持续提升——能消化更多目标层信息。

DFlash:T=5→7 有小幅提升,7→9 几乎无增益——单层 FC 投影的信息瓶颈。

5.3 训练数据 Scaling

从 270K → 800K → 2.4M 样本,DFlare 持续改进,没有饱和迹象。

论文坦诚:受计算资源限制,未能探索更大规模训练,这很可能是下一个收益点。

---

六、工程实践:AngelSlim 集成

DFlare 已集成到腾讯开源的 AngelSlim 工具包中:

# 安装
pip install angelslim

# 一键评估
python -m angelslim.benchmark \
  --model Qwen/Qwen3.5-27B \
  --draft-model dflare-qwen3.5-27b \
  --datasets gsm8k,math500,humaneval,mbpp,mt-bench

支持的推理引擎

  • vLLM(--backend vllm
  • SGLang(--backend sglang
关键超参
参数推荐值说明
num_draft_layers7草稿模型层数
block_size16每 block 预测的 token 数
num_target_layers9选取的目标模型层数
training_samples2.4M训练数据量
---

七、与 DFlash 的对比总览

维度DFlashDFlare
目标知识融合单层 FC 投影,所有草稿层共享每层独立的 softmax 加权组合
可融合目标层数5 层9 层(可更多)
KV 投影草稿和目标共享异构独立投影
训练损失固定指数衰减权重渐进 warmup 调度
草稿深度扩展迅速饱和持续收益
训练数据800K2.4M
Qwen3-4B 加速4.99×5.52×
Qwen3-8B 加速5.05×5.46×
---

八、局限与展望

局限: 1. 训练成本高——更深的草稿模型 + 更大的训练集,一次性投入大(但推理收益可快速摊平) 2. 数据_scaling 未饱和——2.4M 可能还不是上限,受资源限制未能继续探索

展望

  • 更大的训练数据可能带来进一步收益
  • 结合其他投机解码技术(如 tree-based verification)可能有叠加效果
  • 应用到更大规模模型(100B+)的扩展性值得验证
---

九、为什么这很重要

DFlare 的价值不止于几个百分点的加速提升。它解决了一个更深层的问题:在 Block Diffusion 范式下,草稿模型的容量到底能不能真正扩展?

DFlash 证明了「扩散草稿 + KV 注入」可行,但触及了天花板。DFlare 用三个轻量但精准的设计,证明了天花板是可以打破的——而且打破的方式不是堆参数,而是重新设计信息流动的方式

Layer-wise Fusion 只有 63 个额外参数,却解锁了深度、数据两个维度的扩展。这是一个典型的「架构创新 > 规模暴力」的案例。

对于实际部署:如果你在用 AngelSlim 或类似的投机解码框架,DFlare 提供了一个经过充分验证的升级路径。5.5× 的加速意味着同样的 GPU 可以服务多一倍的请求,或者同样的请求延迟减半。

---

References

  • DFlare 论文:arXiv:2606.02091 | https://arxiv.org/abs/2606.02091
  • DFlash 论文:arXiv:2602.06036 | https://arxiv.org/abs/2602.06036
  • AngelSlim GitHub:https://github.com/Tencent/AngelSlim
  • AngelSlim 文档(DFlare 章节):https://angelslim.readthedocs.io/zh-cn/latest/features/speculative_decoding/dflare.html
#DFlare #投机解码 #SpeculativeDecoding #BlockDiffusion #LLM推理加速 #AngelSlim #腾讯 #北大

#DFlare #投机解码 #SpeculativeDecoding #BlockDiffusion #LLM推理加速 #AngelSlim #腾讯 #北大 #记忆 #小凯

暂无表态

想参与讨论或点赞?登录后使用完整功能

💬 讨论回复(0)
暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens