DLM(Diffusion Language Model) vs AR(Autoregressive)

我们可以从数学建模的角度,对比自回归语言模型(AR)与扩散语言模型(DLM)在文本生成任务中的核心机制和损失函数设计。


📐 数学模型对比:AR vs DLM

模型类型 数学建模方式 损失函数 生成方式 上下文建模
AR 模型 条件概率链式分解:
\(P(x_1, x_2, ..., x_T) = \prod_{t=1}^{T} P(x_t | x_{<t})\)
交叉熵损失:
\(\mathcal{L}_{AR} = -\sum_{t=1}^{T} \log P(x_t | x_{<t})\)
串行生成(逐 token) 单向(因果)
DLM 模型 掩码预测 + 去噪建模:
\(P(x) = \mathbb{E}_{M} \left[ \prod_{t \in M} P(x_t | x_{\setminus M}) \right]\)
或基于扩散过程:
\(x_T \sim \mathcal{N}(0, I),\quad x_0 = \text{目标文本}\)
\(\mathcal{L}_{DLM} = \mathbb{E}_{t, x_0, \epsilon} \left[ | \epsilon - \epsilon_\theta(x_t, t) |^2 \right]\)
并行生成(整体优化) 双向(非因果)

🔍 解释与分析

✅ AR 模型(Autoregressive)

  • 建模方式:通过链式规则将文本序列分解为逐个 token 的条件概率。
  • 损失函数:标准交叉熵损失,训练目标是最大化每个 token 的条件概率。
  • 推理过程:每次只能生成一个 token,依赖前面的所有 token。
  • 优点:训练稳定,易于实现,适合流式生成。
  • 缺点:无法并行生成,不能利用未来上下文。

✅ DLM 模型(Diffusion Language Model)

  • 建模方式
    • 一种方式是掩码预测(如 BERT),从部分已知 token 预测被遮盖的 token。
    • 更先进的方式是扩散建模:从高斯噪声开始,逐步去噪恢复目标文本。
  • 损失函数
    • 掩码预测:类似 BERT 的 masked language modeling。
    • 扩散建模:最小化预测噪声与真实噪声之间的均方误差。
  • 推理过程:可以一次性生成整段文本,通过多轮迭代优化。
  • 优点:可并行生成,上下文建模更充分,数据复用能力强。
  • 缺点:训练和推理成本高,需要更多 FLOPs。

📊 实验支持

根据最新研究:

  • 在固定 1B token 数据下,DLM 的表现远超 AR 模型:
    • HellaSwag:DLM 达到 56%,AR 仅 41%
    • MMLU:DLM 达到 33%,AR 仅 29%
  • DLM 在重复训练中没有性能饱和,展现出 >3x 的数据潜力。
  • DLM 的双向注意力机制使其在非因果语言建模中更具表达力。

如果你希望我用 numpy 或 pseudocode 模拟 DLM 的掩码训练过程,或构建一个模块化框架来比较两者在 Context Engineering 中的表现,我可以继续深入。你更想从优化角度分析它们,还是从推理效率出发?

posted @ 2025-08-11 14:47  ffl  阅读(54)  评论(0)    收藏  举报