Block Diffusion:在自回归与扩散之间寻找语言生成的第三条道路
2025 年 3 月,Cornell 团队提出了 Block Diffusion,一种在离散去噪扩散和自回归模型之间进行插值的块级扩散语言模型。该架构通过块级别的并行去噪与块间自回归关系的结合,克服了纯扩散模型的固定长度限制和纯自回归模型的串行解码瓶颈,在语言建模基准上达到了扩散模型的最优性能,并支持任意长度序列的生成。
1. 语言生成架构的两极格局
1.1 自回归模型的统治与瓶颈
自 2018 年 GPT 系列兴起以来,自回归生成(autoregressive generation)一直是语言建模的主流范式:
| 优势 | 劣势 |
|---|---|
| likelihood 建模能力强 | 解码必须串行,延迟随长度线性增长 |
| 天然支持变长生成 | 难以施加精确的内容约束 |
| KV Cache 优化成熟 | 长文本推理效率低 |
核心矛盾:自回归的因果结构赋予其强大的概率建模能力,但也强制了计算上的串行性。
1.2 扩散模型的潜力与局限
扩散模型在图像生成领域展现了强大的并行去噪能力和可控性。将其应用于离散文本空间的研究(如 SSD-LM、MaskGIT)揭示了另一种可能性:
| 优势 | 劣势 |
|---|---|
| 块级并行生成,推理可加速 | likelihood 建模通常弱于自回归 |
| 去噪过程易于施加约束 | 传统方法限制于固定长度生成 |
| 支持编辑和填充(infilling) | 缺乏成熟的 KV Cache 机制 |
关键障碍:纯扩散模型在训练时确定序列长度,无法像自回归那样自然地扩展到任意长度。
2. Block Diffusion 架构:块作为基本单元
2.1 核心设计
Block Diffusion 的基本思想是将序列划分为块(block),在块内部执行扩散去噪,在块之间保持自回归关系:
其中每个 \(P(\text{Block}_i | \text{Block}_{ 通过扩散过程并行生成块内的所有 token。
插值特性:当块大小为 1 时,Block Diffusion 退化为纯自回归;当块大小等于序列长度时,退化为纯扩散。中间块大小实现了两种范式的连续插值。
2.2 推理效率:KV Caching 与并行采样的结合
Block Diffusion 的关键创新之一是同时支持两种优化:
| 优化机制 | 作用层级 | 功能 |
|---|---|---|
| 块内并行采样 | 单个块 | 块内 token 同时去噪,减少步数 |
| 块间 KV Cache | 跨块 | 已生成块的 key/value 被缓存复用 |
效率分析:设块大小为 \(B\),序列长度为 \(T\),则块数为 \(N = T/B\)。块内并行度为 \(O(B)\),块间串行步数为 \(O(N)\)。相比纯自回归的 \(O(T)\) 串行步数,Block Diffusion 在 \(B > 1\) 时实现了亚线性延迟增长。
3. 训练方法:数据驱动的噪声调度
3.1 块级别噪声调度
传统扩散模型使用全局噪声调度,对所有位置应用相同的噪声水平。Block Diffusion 引入了块级别的自适应噪声:
- 不同块可以处于不同的去噪阶段
- 噪声水平根据块在序列中的位置和数据的统计特性动态调整
- 数据驱动的调度器从训练数据中学习时间-噪声最优映射
设计动机:文本数据具有结构性——开头(如句子起始)和中间(如内容填充)的噪声敏感性不同。全局调度无法捕捉这种异质性。
3.2 梯度方差控制
扩散训练的一个挑战是梯度方差随噪声水平变化。Block Diffusion 引入了梯度方差估计器:
作用:稳定不同去噪阶段的梯度幅度,防止早期去噪(高噪声)阶段的梯度主导训练。
3.3 灵活长度训练
Block Diffusion 通过以下策略支持变长训练:
- 训练时使用变长块大小
- 块边界可以落在任意 token 位置
- 推理时动态增减块数量以适应目标长度
4. 实验结果与性能分析
4.1 语言建模基准
Block Diffusion 在标准语言建模基准上达到了扩散模型家族的最优性能:
| 模型类型 | 代表工作 | Perplexity | 长度灵活性 | 并行度 |
|---|---|---|---|---|
| 自回归 | GPT-2/3, Llama | 低 | ✅ | ❌ |
| 纯扩散 | SSD-LM, MaskGIT | 高 | ❌ | ✅ |
| Block Diffusion | 本文 | 扩散中最优 | ✅ | 块内 ✅ |
定位说明:Block Diffusion 的目标不是在 perplexity 上超越自回归模型,而是在扩散模型框架内实现最优性能,同时获得自回归模型的灵活性。
4.2 与相关工作的对比
| 方法 | 核心思想 | 与 Block Diffusion 的关系 |
|---|---|---|
| SSD-LM | 半自回归简单扩散 | Block Diffusion 提供更灵活的块大小控制 |
| MaskGIT | 掩码生成 Transformer | Block Diffusion 支持连续插值而非离散掩码 |
| SDAR | 协同扩散-自回归 | 同期工作,Block Diffusion 更强调块级设计 |
| Fast-DLLM | 扩散 LLM 的 KV Cache 加速 | Block Diffusion 原生集成 KV Cache |
5. 应用场景:可控生成与编辑
5.1 文本填充(Infilling)
Block Diffusion 的块级设计天然支持填充任务:
给定前缀块和后缀块,模型可以并行生成中间块的内容,同时保证与前缀和后缀的连贯性。
5.2 受约束生成
在去噪过程中,可以对特定块施加硬约束:
- 强制某块包含特定关键词
- 限制某块的语义属性(如情感、风格)
- 保持某些块不变,仅重写给定块
相比自回归的优势:自回归的因果约束使得"修改已生成内容"极为困难。Block Diffusion 的块级去噪允许在生成过程中重新调整任意块。
6. 局限性与开放问题
6.1 规模化验证
当前 Block Diffusion 主要在中小规模上验证。关键开放问题包括:
- 能否扩展到 10B+ 参数?
- 大规模训练时梯度方差控制是否仍然有效?
- 与同等规模自回归模型的性能差距能否缩小?
6.2 推理基础设施
自回归模型拥有成熟的推理优化生态(vLLM、TensorRT-LLM、FlashAttention 等)。Block Diffusion 需要:
- 块级 KV Cache 管理的新机制
- 并行去噪步的调度优化
- 与现有 serving 框架的集成
6.3 最优块大小
块大小 \(B\) 是 Block Diffusion 的关键超参数:
- \(B = 1\):退化为自回归,无并行优势
- \(B = T\):退化为纯扩散,无灵活性
- 中间 \(B\):需要任务特定的最优选择
开放问题:最优块大小是否与任务类型(摘要、对话、代码)相关?是否可以动态调整块大小?
7. 结论
Block Diffusion 代表了语言生成架构探索中的重要一步。它不是在自回归和扩散之间做非此即彼的选择,而是通过块级设计实现了两者的有机融合:
- 块内并行去噪 → 扩散的并行优势
- 块间自回归关系 → 自回归的灵活性和 KV Cache
- 连续插值 → 架构空间的平滑过渡
在可控生成、文本编辑、灵活长度生成等场景中,Block Diffusion 展现了独特的价值。虽然其在最大规模上的有效性仍有待验证,但它为"后自回归时代"的语言生成提供了一条值得探索的技术路径。
论文详情
| 项目 | 内容 |
|---|---|
| 标题 | Block Diffusion: Interpolating Between Autoregressive and Diffusion Language Models |
| 作者 | Marianne Arriola, Aaron Gokaslan, Justin T. Chiu, Zhihan Yang, Zhixuan Qi, Jiaqi Han, Subham Sekhar Sahoo, Volodymyr Kuleshov |
| 机构 | Cornell University |
| arXiv ID | 2503.09573 |
| 日期 | 2025-03-12 |
| 核心贡献 | 块级扩散语言模型;自回归-扩散插值;灵活长度生成;KV Cache + 并行采样;数据驱动噪声调度 |
| 关键结果 | 语言建模基准上扩散模型最优;支持任意长度序列生成 |
#Research #DiffusionModels #LanguageModeling #Autoregressive #GenerativeModels #智柴 🔬
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。