扩散语言模型最新进展

扩散语言模型(Diffusion Language Models, DLMs)作为自回归(Autoregressive, AR)范式的有力竞争者,近年来取得了显著进展。本文系统梳理该领域的最新研究动态,重点分析效率悖论、缩放行为与混合架构等核心问题。

概述

扩散语言模型的核心优势在于并行生成能力——理论上可以在单次前向传播中生成整个序列,而非像AR模型那样逐token生成。然而,实践中的效率表现却呈现出复杂的图景。

特性自回归模型扩散语言模型
生成方式顺序逐token并行多token
上下文利用单向因果双向全局
推断延迟O(n) 次前向O(T) 次迭代
质量稳定性波动较大

效率悖论:理论上快但实际慢

核心问题

扩散语言模型面临一个显著的效率悖论:尽管并行生成在理论上具有显著优势,但当前开源的扩散语言模型(如LLaDA-Instruct-8B)在实际推理速度上往往落后于同规模的AR模型。例如,LLaMA3-Instruct-8B的推理吞吐量比LLaDA-Instruct-8B高出约13.7倍。1

成因分析

这一悖论源于多个因素的叠加:

  1. 迭代采样开销:扩散模型需要多步迭代去噪(如LLaDA需要约100步),每步都是完整的前向传播
  2. 实现优化不足:大多数扩散模型的开源实现缺乏针对AR模型的极致工程优化
  3. KV缓存效率:AR模型在解码时可以复用预计算的KV缓存,而标准扩散模型的迭代特性阻碍了缓存复用
  4. 批量推理劣势:在较大批量时,扩散模型的迭代开销使得其相对于AR的优势消失

关键发现

系统性的效率评测研究揭示了以下关键发现1

  • AR模型通常吞吐量更高:在相同的硬件条件下,AR模型的端到端吞吐量普遍优于扩散模型
  • 加速策略的效果边界:双缓存(dual cache)、并行解码等技术在小批量时效果显著,但在大批量时收益递减
  • 评估方法的重要性:先前研究中的效率比较存在方法论问题,需要更严格的控制变量实验

与自回归模型的效率对比

训练效率

在受控的预训练条件下(相同数据、相同计算预算、相同硬件),AR模型与掩码扩散语言模型(MDLM)呈现不同的收敛特性2

指标AR模型掩码扩散模型
训练吞吐量~50K tokens/s~50K tokens/s(仅慢4.7%)
收敛速度快速,约14000步后开始过拟合较慢,20000步仍在改善
样本多样性较低(99.8%以相同词开头)较高(93.4%独特5词开头)
流畅性偶有语法不一致

推断效率

扩散模型的并行生成潜力与实际效率之间存在显著差距:

  • 小批量场景:扩散模型的”自由token槽位”(free token slots)策略可以利用GPU空闲算力
  • 大批量场景:迭代去噪的开销成为主导因素,扩散模型的效率优势消失
  • 延迟vs吞吐量:扩散模型可能在吞吐量上有所改善,但单序列延迟仍然较高

数据效率的”交叉点”

研究揭示了一个重要现象——数据受限场景下的交叉点(Crossover)3

当可用唯一数据有限但允许重复训练时,扩散语言模型一致性地超越同等规模的AR模型。这一交叉点受以下因素调节:

因素影响方向
唯一数据量更多唯一数据 → 交叉点后移
数据质量更高质量 → 交叉点后移
模型规模更大模型 → 交叉点前移

理论解释:扩散模型的优势来源于三个叠加因素——

  1. 任意顺序建模(any-order modeling)
  2. 迭代双向去噪带来的超密集计算
  3. 内置蒙特卡洛增强

加速策略

双缓存机制

双缓存(Dual Cache)策略旨在解决扩散模型中KV缓存无法复用的问题:

┌─────────────────────────────────────────────────────┐
│                    扩散解码过程                      │
├─────────────────────────────────────────────────────┤
│  Step 1: [prefix] + [masked_tokens] → 预测          │
│         ↑                                     ↑     │
│       Prefix Cache                      Draft Cache  │
│                                                     │
│  Step 2: [prefix] + [draft_1] + [masked] → 重预测   │
│         ↑        ↑                            ↑     │
│       Prefix   Draft-1                      Draft-2 │
│        Cache   Cache                            Cache│
└─────────────────────────────────────────────────────┘

设计要点

  • 维护独立的Prefix Cache存储已接受token的KV
  • Draft Cache存储草稿token的中间表示
  • 减少重复计算相同前缀的注意力开销

并行解码

并行解码策略通过在单步内生成多个token来提升效率:

方法一:固定步长解码

每步生成固定数量的token,平衡速度与质量。

方法二:置信度自适应解码

根据模型置信度动态调整每步生成的token数量:

def confidence_adaptive_decoding(model, x_t, threshold=0.9):
    """基于置信度的自适应解码"""
    # 获取每个位置的logits
    logits = model(x_t)
    probs = F.softmax(logits, dim=-1)
    max_probs = probs.max(dim=-1).values
    
    # 置信度高于阈值的位置接受
    accepted = max_probs > threshold
    # 低置信度位置保持masked用于下一步
    return accepted

方法三:块级并行解码

Fast-DLLM v24提出的块级缓存机制:

  • 块级缓存:跨块存储历史上下文表示
  • 子块缓存:支持部分解码块内的高效并行生成
  • 结合并行解码管道,在A100上实现2.54倍加速

评估与限制

策略小批量增益大批量增益备注
双缓存中等有限主要减少重复计算
并行解码依赖GPU空闲算力
块级缓存显著中等Fast-DLLM v2的核心

掩码扩散 vs 均匀扩散的缩放行为

两种范式的对比

离散扩散模型主要有两种噪声类型,其缩放行为存在显著差异56

特性掩码扩散(Masked Diffusion)均匀扩散(Uniform Diffusion)
主导指标Perplexity(困惑度)任务性能(GSM8K等)
数据效率需要更多数据更少数据,更多参数
参数效率较高需要更多参数
少步生成急剧下降相对稳健
理解能力较弱
生成能力需要足够步数少量步数即可

缩放定律发现

系统性的IsoFLOP缩放研究表明5

计算受限场景

  • 所有噪声类型收敛到相似的损失值
  • 缩放行为与AR模型相当

数据受限场景

  • 均匀扩散展现出明显优势——需要更多参数但更少数据
  • 这使其成为数据瓶颈时代的理想选择

关键洞察

均匀扩散需要更多参数但更少数据来实现计算高效的训练,这使其在数据受限场景中成为有前景的候选方案。

Perplexity vs 序列错误率的权衡

一个重要的理论发现是:Perplexity在扩散族内具有信息量,但跨族比较时可能产生误导5

                    速度-质量 Pareto 前沿

  质量
   ↑
   │     ● AR (高质量但慢)
   │    ╱ ╲
   │   ╱   ╲● Duo (均匀扩散)
   │  ╱     ╲
   │ ╱    ● Eso-LM
   │╱   ● MDLM
   │ ●
   └──────────────────────→ 吞吐量

核心洞察

  • Perplexity更优的模型不一定在下游任务中表现更好
  • 序列级指标(如GSM8K准确率)可能更好地反映生成质量
  • 采样效率(speed-quality Pareto前沿)是更全面的评估维度

XDLM:统一框架

XDLM7提出通过平稳噪声核桥接两种范式:

  • 理论上统一:将掩码扩散和均匀扩散作为特例恢复
  • 代数简化:减轻后验概率计算的内存瓶颈
  • Pareto前沿推进:在理解能力与生成能力之间取得更优平衡

代码生成任务中的扩散语言模型

扩散模型的独特优势

扩散语言模型在代码生成任务中展现出独特优势8

能力AR模型扩散模型
上下文利用仅左到右双向全局
填充生成困难自然支持
长距离依赖
编辑生成需要特殊设计原生支持

代表性模型

模型规模特点
CoDA1.7B首个大规模开源扩散coder,TPU训练
Dream-Coder 7B7B自适应解码策略,涌现任意顺序能力
DiffuCoder7B揭示去噪过程行为,coupled-GRPO训练
Mercury CoderMini/SmallSOTA速度-质量Pareto前沿
Seed Diffusion-H20上2146 tokens/s

关键发现

大规模代码生成实证研究8揭示了以下发现:

  1. 扩散LLM与AR模型竞争力相当

    • 在HumanEval和MBPP上,最优扩散LLM达到89.6%和79.4%的pass@1
    • 优于同规模AR模型的84.8%和70.8%
  2. 更强的长度外推能力

    • 扩散LLM在长代码理解任务上表现更优
  3. 去噪过程的独特行为

    • 扩散LLM可以在不依赖半AR解码的情况下控制因果性
    • 提高采样温度会同时增加token选择和生成顺序的多样性

DiffuCoder的分析

Apple的研究9对DiffuCoder的去噪过程进行了深入分析:

发现一:因果性控制

  • 扩散LLM可以自主决定生成过程中的因果程度
  • 无需依赖半AR解码等外部干预

发现二:温度的双重作用

  • 提高温度不仅增加token选择的多样性
  • 还增加了生成顺序的多样性

发现三:耦合GRPO训练

  • 为减少token似然估计的方差,提出构建互补mask噪声
  • 显著提升EvalPlus性能(+4.4%)

TiDAR混合架构

设计理念

TiDAR(Think in Diffusion, Talk in Autoregression)10提出了一种创新的序列级混合架构,在单次前向传播中结合扩散与自回归的优势

┌─────────────────────────────────────────────────────────────┐
│                      TiDAR 架构                              │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  输入: [prefix] + [draft_tokens] + [mask_tokens]              │
│         ↓              ↓              ↓                      │
│       因果注意力    块内双向      块内双向                   │
│       (AR采样)      (扩散起草)    (扩散起草)                 │
│                                                              │
│  核心思想:                                                   │
│  - "Think" (起草): 扩散模式并行生成多个token                 │
│  - "Talk" (采样): AR模式从草稿中选择最终输出                 │
│                                                              │
└─────────────────────────────────────────────────────────────┘

关键技术

结构化注意力掩码

TiDAR使用精心设计的注意力掩码,在单次前向传播中同时支持:

  • 因果注意力:前缀token之间的自回归采样
  • 双向注意力:草稿区域和mask区域的块内双向建模

自由Token槽位

在内存受限区域(常见于小批量推理),向输入序列添加更多token几乎不增加延迟:

# 伪代码示例
def tidar_forward(model, prefix, num_draft, num_mask):
    """
    TiDAR前向传播
    """
    # 构建混合序列
    sequence = concat(prefix, draft_tokens, mask_tokens)
    
    # 结构化注意力掩码
    # - prefix之间: 因果掩码 (AR模式)
    # - draft/mask区域: 双向掩码 (扩散模式)
    attention_mask = build_structured_mask(
        prefix_len=len(prefix),
        draft_len=num_draft,
        mask_len=num_mask
    )
    
    # 单次前向传播
    output = model(sequence, attention_mask)
    
    # 分离AR采样结果和扩散草稿
    ar_output = output[:len(prefix)]
    draft_output = output[len(prefix):]
    
    return ar_output, draft_output

性能表现

模型质量吞吐量相对AR增益
TiDAR 1.5B匹配AR基线-4.71× tokens/s
TiDAR 8B匹配AR基线-5.91× tokens/s
Dream/LLaDA低于AR低于AR-

关键突破

  • 首个在质量上追平AR模型的混合架构
  • 同时实现4.7-5.9倍吞吐量提升
  • 支持精确KV缓存,服务友好

与其他方法的对比

方法质量吞吐量备注
纯AR最高基线顺序生成,内存bound
纯扩散较低较低迭代开销大
投机解码依赖drafter中等需要额外drafter模型
TiDAR匹配AR显著提升单模型,无需drafter

理论洞见

Perplexity与序列错误率的权衡

传统观点认为perplexity是评估语言模型的金标准,但扩散模型的研究揭示了更复杂的图景:

Perplexity的局限性

  1. 跨算法比较的误导性:不同扩散族之间,perplexity不能准确预测下游任务性能
  2. 序列级 vs token级:Perplexity是token级的平均指标,可能掩盖序列级的一致性问题
  3. 采样敏感性:扩散模型的perplexity依赖于采样步数

更全面的评估框架

评估维度适用指标扩散模型特点
语言建模能力Perplexity族内可比,族外不可比
任务完成能力Accuracy/F1更可靠的代理指标
生成效率Tokens/s, Latency取决于采样策略
样本多样性Entropy, Distinct-n扩散模型通常更优

推理时计算缩放

扩散模型的一个独特优势是推理时计算缩放(Inference-Time Scaling)

ReMDM11提出了重新掩码(Remasking)采样器:

  • 在去噪过程中允许token被重新掩码
  • 通过增加采样步数,输出质量趋近AR模型水平
  • 在计算受限情况下,比传统掩码更好维持质量

这为扩散模型提供了一种可调控的质量-效率权衡机制

数据效率的理论分析

在高质量数据日益成为瓶颈的时代背景下,扩散模型的数据效率优势具有重要意义:

关键理论结果3

  • 在严格匹配的预训练设置下,当唯一数据受限时,扩散模型一致性地超越AR模型
  • 这一”交叉点”现象具有系统性:
    • 随唯一数据增加而后移
    • 随模型规模增大而前移
    • 在密集和稀疏架构中均存在

实践意义

在数据受限场景下,扩散模型的任意顺序建模和迭代双向去噪带来了实质性的效率提升,可能使其成为未来扩展的有力候选。


总结与展望

核心发现总结

主题关键发现
效率悖论扩散模型理论上快但实践中慢,需要系统性改进
AR对比AR模型通常吞吐量更高,但扩散模型在数据受限场景有优势
缩放行为均匀扩散需要更多参数但更少数据,适合数据受限时代
评估指标Perplexity在族内可比,跨族比较需谨慎
代码生成扩散LLM竞争力强,具有双向上下文优势
混合架构TiDAR首次实现质量追平AR同时4.7-5.9倍加速

未来方向

  1. 效率优化:更高效的推理策略,减少迭代开销
  2. 统一框架:如XDLM般融合不同扩散范式的优势
  3. 混合架构:探索更多AR与扩散的协同方式
  4. 评估标准化:建立更适合扩散模型的评估体系
  5. 数据效率:充分发挥扩散模型在小数据场景的优势

相关内容


参考

Footnotes

  1. How Efficient Are Diffusion Language Models? A Critical Examination of Efficiency Evaluation Practices 2

  2. Autoregressive vs. Masked Diffusion Language Models: A Controlled Comparison

  3. Diffusion Language Models are Super Data Learners 2

  4. Fast-DLLM v2: Efficient Block-Diffusion LLM

  5. Scaling Beyond Masked Diffusion Language Models 2 3

  6. Scaling Behavior of Discrete Diffusion Language Models

  7. XDLM: Balancing Understanding and Generation in Discrete Diffusion Models

  8. Diffusion LLMs for Code Generation: An Empirical Study 2

  9. DiffuCoder: Understanding and Improving Masked Diffusion Models for Code Generation

  10. TiDAR: Think in Diffusion, Talk in Autoregression

  11. ReMDM: Inference-Time Scaling for Diffusion Models