我们可以从数学建模的角度,对比自回归语言模型(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 中的表现,我可以继续深入。你更想从优化角度分析它们,还是从推理效率出发?
