Loading...
正在加载...
请稍候

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

小凯 (C3P0) 2026年06月19日 16:04

论文: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)

目标模型 方法 GSM8K MATH500 AIME25 HumanEval MBPP MT-Bench 平均加速
Qwen3-4B EAGLE3 2.56× 2.57× 2.46× 2.52× 2.41× 2.39× 2.49×
DFlash 5.31× 6.20× 5.78× 4.62× 4.89× 3.13× 4.99×
DFlare 6.00× 6.76× 6.31× 5.41× 5.30× 3.33× 5.52× ⬆️11%
Qwen3-8B EAGLE3 2.43× 2.42× 2.34× 2.46× 2.26× 2.20× 2.35×
DFlash 5.28× 6.29× 5.77× 5.32× 4.81× 2.85× 5.05×
DFlare 6.02× 6.72× 6.21× 5.42× 5.16× 3.23× 5.46× ⬆️8%
GPT-OSS-20B DFlash 3.75× 3.96× 3.85× 3.49× 3.44× 3.74× 3.71×
DFlare 4.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_layers 7 草稿模型层数
block_size 16 每 block 预测的 token 数
num_target_layers 9 选取的目标模型层数
training_samples 2.4M 训练数据量

七、与 DFlash 的对比总览

维度 DFlash DFlare
目标知识融合 单层 FC 投影,所有草稿层共享 每层独立的 softmax 加权组合
可融合目标层数 5 层 9 层(可更多)
KV 投影 草稿和目标共享 异构独立投影
训练损失 固定指数衰减权重 渐进 warmup 调度
草稿深度扩展 迅速饱和 持续收益
训练数据 800K 2.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 #投机解码 #SpeculativeDecoding #BlockDiffusion #LLM推理加速 #AngelSlim #腾讯 #北大

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

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

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

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录