blog
2025-08-18

上交大联手UCSD推出D2F,吞吐量达LLaMA3的2.5倍



视频 1:D2F dLLMs 与同尺寸 AR LLMs 的推理过程对比示意

在大语言模型(LLMs)领域,自回归(AR)范式长期占据主导地位,但其逐 token 生成也带来了固有的推理效率瓶颈。此前,谷歌的 Gemini Diffusion 和字节的 Seed Diffusion 以每秒千余 Tokens 的惊人吞吐量,向业界展现了扩散大语言模型(dLLMs)在推理速度上的巨大潜力。然而,当前的开源 dLLMs 却因一定的技术挑战 —— 例如缺少完善的 KV 缓存机制,以及未充分释放并行潜力 —— 推理速度远慢于同规模的 AR 模型。

近期的一篇工作彻底扭转了这个局面。上海交通大学 DENG Lab 联合加州大学圣地亚哥分校(UCSD)推出Discrete Diffusion Forcing(D2F),首次使开源 dLLMs 的生成速度显著超过同等规模的 AR 模型。实验显示,D2F 模型在 GSM8K 等基准上,实现了相比 LLaMA3 等主流 AR 模型高达 2.5 倍的吞吐量提升,同时相比于原始的 dLLMs 模型实现了最高达 50 倍的加速。

本文作者团队来自上海交通大学 DENG Lab 与加州大学圣地亚哥分校(UCSD)。该研究由硕士生王旭、准硕士生徐晨开、本科生金义杰以及博士生金佳纯共同完成,指导教师为邓志杰与张浩老师。DENG Lab 隶属上海交通大学,致力于高效、跨模态生成模型的研究。



  • 论文地址:https://arxiv.org/abs/2508.09192
  • 代码地址:https://github.com/zhijie-group/Discrete-Diffusion-Forcing
  • 项目主页:https://zhijie-group.github.io/Discrete-Diffusion-Forcing/
  • 模型仓库:https://huggingface.co/SJTU-Deng-Lab/D2F_Dream_Base_7B_Lora, https://huggingface.co/SJTU-Deng-Lab/D2F_LLaDA_Instruct_8B_Lora
  • Demo 地址:https://huggingface.co/spaces/zhijie3/D2F-LLaDA-Instruct-8B



图 1:D2F dLLMs 实现了相比 LLaMA3 等主流 AR 模型高达 2.5 倍的吞吐量提升

简单来说,D2F 赋予了 dLLMs 几种关键特性:

1. 自回归 - 扩散混合架构:引入块级自回归生成,块间保持因果性,让模型能够有效利用 KV 缓存。

2. 块内 + 块间双尺度并行:引入了块内 token 间并行解码和块间并行解码,最大化并行生成潜力

3. 双状态解码:通过设计双状态的块解码流水线,最大化吞吐量。

4.更优的 tradeoff:相比原始 dLLMs,具有显著更优的性能 - 效率权衡

5. vLLM 集成:已将 vLLM 集成到 D2F 中,让推理速度更进一步

问题的根源:dLLMs 理论优势与现实瓶颈

扩散大语言模型(dLLMs)理论上具有并行生成 token 的能力,不必像 AR 模型一样逐个生成,从而在推理效率上具备巨大潜力。然而,在实践中,现有的开源 dLLMs 并未充分展现这一优势,其推理速度往往落后于 AR 模型,这个瓶颈主要源于两个基础性问题:

KV Cache 的不兼容性:标准 dLLM 依赖双向注意力机制来获取全局上下文,导致 AR 模型中常见的 KV 缓存加速技术无法直接应用于 dLLMs。在每次去噪迭代中,模型都需要重新计算所有 token 的 K、V 矩阵,造成了巨大的计算冗余。

块间解码的串行限制:为了引入缓存机制,一些工作尝试将生成过程分块(block-wise)。但这些方法通常要求严格的块间顺序,即只有前一个块必须被完全解码后,才能开始处理下一个块。这种严格的依赖使得并行生成仅限于块内而无法应用于块之间,极大地限制了整体的并行潜力。

因此,想要释放 dLLMs 的潜力,就必须同时解决 KV Cache 的兼容性与块间的并行解码问题。

D2F 的核心设计:一种自回归 - 扩散混合范式

面对上述瓶颈,D2F 的核心思想是构建一个融合自回归和扩散思想的混合范式,协同设计高效的模型架构,训练方法以及推理策略。

架构:块级因果注意力,兼容 KV Cache

为了让 dLLMs 能真正兼容 KV 缓存,D2F 将 dLLMs 中标准的双向注意力机制重塑为了块级因果注意力。具体来说:

  • 块内(Intra-block):保持标准的双向注意力,以充分利用块内的上下文信息。
  • 块间(Inter-block):使用因果注意力,即任意一个块只能关注其自身及所有在它之前的块。

这种设计在块的层面上建立了自回归的顺序。每个生成完成的块的 KV 状态被缓存并在后续复用,从而根本上解决了 KV Cache 的兼容性问题,大幅减少了冗余计算。

训练:非对称蒸馏与结构化噪声



图 2:D2F dLLMs 基于非对称蒸馏实现训练

为了避免从头训练 dLLMs 的高昂成本。D2F 使用了非对称蒸馏策略,将一个预训练好的 dLLMs 教师模型的能力,高效地蒸馏到 D2F 学生模型上。两者区别在于教师模型使用双向全注意力而学生模型使用块级因果注意力。

为了进一步解锁学生的块间并行能力,D2F 引入了单调递增的结构化噪声调度。具体而言,训练数据前向加噪过程中,序列靠前的块被施加较小的噪声而靠后的块被施加更大的噪声。这种结构化的噪声训练,其目的是为了教会学生模型如何依据部分去噪、尚不清晰的前文来预测后文。

推理:流水线并行解码



图 3:D2F dLLMs 的推理流程示意

在上述训练范式的基础上,D2F 设计了一套创新的并行解码算法:Pipelined Parallel Decoding。

该算法维护一个动态的待解码窗口,其中包括若干 tokens 块。在必要时,新块以半激活的状态进入窗口,并在前缀去噪到一定比例后转为全激活状态。这种动态添加和双状态解码的机制,确保了流水线的高效和质量。

两种状态的区别主要在于解码策略的激进程度:

  • 半激活状态(Semi-activated):只接受那些预测置信度超过某一阈值τ_conf的 token。
  • 全激活状态(Fully-activated):如果没有 token 超过置信度阈值,也会选择置信度最高的一个 token 进行解码。

视频 2:D2F dLLMs 推理过程中显式地对多个块进行并行解码

实验结果

速度提升,性能不降

D2F 给原始 dLLM 带来了最高可达 50 倍的加速,同时平均性能不下降。



图 4:D2F-LLaDA 与基线方法的对比



图 5:D2F-Dream 与基线方法的对比

优异的性能 - 效率权衡曲线

D2F 提供了一条远优于现有模型的性能 - 效率权衡曲线。通过调整解码参数,D2F 可以适应各种场景,在性能和速度之间做出灵活的选择。例如,在 MBPP 任务上,通过稍微牺牲性能,吞吐量可达 AR 模型的 4 倍以上。



图 6:D2F dLLMs 实现更优异的优异的性能 - 效率权衡

总结与思考

D2F 的出现为开源 dLLMs 社区注入了新的活力,展现了 dLLMs 推理速度上的巨大潜力。通过开源代码和模型,团队希望能够激励社区投入更多的研究资源,共同推动并行解码技术走向成熟,进入更广泛的实际应用。

此外,D2F 的成功证明了 AR 和 Diffusion 并非是两种完全对立的范式。通过巧妙的混合框架设计,可以融合 AR 模型的缓存优势和 dLLMs 的并行优势,这为大模型推理优化开辟了新的道路。

未来工作:目前 vLLM 的 Async Engine (for realtime serving), CUDA Graph Capture support, optimized Kernels, hybrid parallel (DP + TP + PP) 都有待实现,欢迎感兴趣的同学跟我们联系。

来源于:https://www.163.com/dy/article/K78PQAFH0511AQHO.html    如有侵权请联系我们