引言: 速度与质量的博弈

在自然语言处理 (NLP) 的世界里,Transformer 架构占据着统治地位。特别是对于机器翻译等任务,自回归 (Autoregressive, AR) Transformer 树立了质量的黄金标准。它们逐个生成单词,利用先前生成的单词作为上下文来生成下一个。这种顺序特性确保了高度的连贯性,但也制造了一个巨大的瓶颈: 延迟 (latency) 。 生成一个长句子需要很长时间,因为在计算出第 9 个单词之前,你无法计算第 10 个单词。

非自回归 Transformer (Non-Autoregressive Transformers, NATs) 随之登场。这些模型通过并行生成整个目标序列,承诺在速度上带来革命性的提升。想象一下,在一个计算步骤中翻译整整一个句子。这种加速是巨大的,但它也付出了代价。

NATs 面临的核心问题是 多模态问题 (multi-modality problem) 。 在翻译中,一个源句子通常有多种有效的译法。例如,英语的 “I have to go” 可以翻译成德语的 “Ich muss gehen” 或 “Ich muss weg”。自回归模型会逐步选定一条路径。然而,并行 NAT 模型可能会尝试同时生成两者,导致像 “Ich muss gehen weg” 这样混乱的混合结果——这种现象被称为“条件独立性假设”。

研究人员一直在寻找缓解这一问题的方法。其中最有前途的架构之一是 有向无环 Transformer (Directed Acyclic Transformer, DAT) , 它将输出结构化为一个图而不是一条线。然而,DAT 严重依赖一种称为扫视训练 (Glancing Training, GLAT) 的技术才能良好运行。虽然有效,但 GLAT 造成了训练方式 (可以访问目标信息) 与推理运行方式 (没有目标信息) 之间的不匹配。

在这篇文章中,我们将深入探讨 Diff-DAT (扩散有向无环 Transformer) ,这是一种新颖的方法,它使用 扩散模型 (Diffusion Models) 取代了 GLAT 机制。通过将翻译视为图结构内的去噪过程,Diff-DAT 不仅解决了训练与推理的不匹配问题,还在速度和质量之间引入了灵活的权衡。

背景: DAT 的基础

要理解 Diff-DAT,我们首先需要理解它所基于的架构: 有向无环 Transformer (DAT) 。

有向无环图 (DAG) 解码器

传统的 Transformer 输出线性的 token 序列。DAT 改变了这一规则,输出一个 有向无环图 (DAG) 。 解码器不是预测位置 \(i\) 上的单个单词,而是生成由节点和边组成的网格 (lattice) 。

给定源句子 \(X\) 和目标 \(Y\),DAT 设置解码器长度 \(L\) (通常明显长于预期的翻译) ,并通过对通过该图的所有可能路径 \(A\) 求和来对翻译的概率进行建模。

在数学上,给定源 \(X\) 生成目标 \(Y\) 的概率是通过对所有可能的路径 \(A\) 进行边缘化 (marginalizing) 计算得出的:

显示路径概率求和的公式 1。

这里,\(A = \{a^1, ..., a^M\}\) 代表路径的顶点索引。模型需要计算两件事:

  1. 转移概率 (Transition Probability) : 从一个节点移动到下一个节点的可能性。
  2. 发射概率 (Emission Probability) : 一个节点生成特定单词的可能性。

路径概率基于马尔可夫假设进行分解。它查看转移矩阵 \(\mathbf{E}\),该矩阵告诉我们从节点 \(a^i\) 跳转到节点 \(a^{i+1}\) 的可能性有多大:

显示转移概率乘积的公式 2。

一旦选定了一条路径,token 就基于这些特定路径索引处的隐藏状态生成:

显示 token 概率乘积的公式 3。

GLAT 的问题

原始的 DAT 使用扫视训练 (GLAT) 来提高性能。GLAT 在训练期间向解码器注入真实目标 (ground truth) 的“一瞥”,以帮助模型学习。

显示 GLAT 训练目标的公式 4。

这里,\(Z\) 是一个隐变量,代表被掩码 (masked) 的目标版本。问题在于? \(Z\) 仅在训练期间存在。 在推理期间,模型无法“瞥见”目标。这就产生了差异: 模型学会了依赖那些在实际翻译时根本不存在的信息。这促使研究人员寻找数学上更合理的替代方案: 扩散。

核心方法: Diff-DAT

Diff-DAT 用正式的 扩散过程 (Diffusion Process) 取代了 GLAT 的特设隐变量机制。如果你熟悉像 Stable Diffusion 这样的图像生成模型,概念是相似的: 你通过噪声破坏数据,并学习重建它。然而,由于文本是离散的 (分类的) ,我们不能直接添加高斯噪声。相反,我们使用 吸收态离散扩散 (Absorbing State Discrete Diffusion)

1. 前向过程 (添加噪声)

在这种语境下,“噪声”意味着掩码 token。我们引入一个吸收态 token,记为 [M]

前向过程在 \(T\) 个时间步长内逐渐破坏目标句子 \(Y_0\)。在每一步,一些 token 被替换为 [M]。到最后一步 \(T\),序列 \(Y_T\) 完全由掩码 token 组成。

前向过程的转移规则 (论文中的公式 7) 非常直观:

  • 如果一个 token 已经被掩码为 [M],它将保持掩码状态。
  • 如果一个 token 是真实单词,它有 \(\beta_t\) 的概率保持不变,有 \(1-\beta_t\) 的概率变为 [M]

我们可以使用累积概率 \(\alpha_t\) 直接从开始 \(Y_0\) 描述任何时间步 \(t\) 的状态:

显示累积前向过程概率的公式 17。

这精确定义了训练数据是如何被破坏的。

2. 后向过程 (去噪)

神经网络的目标是逆转这一过程。给定一个部分掩码的序列 \(Y_t\),模型试图预测 \(Y_{t-1}\) (一个掩码稍微少一点的序列) 。

然而,Diff-DAT 并不直接预测上一步。遵循扩散模型的最佳实践 (如 DDPM) ,网络试图预测原始的无噪声 token \(Y_0\)。然后,该预测与已知的扩散动态相结合,以估计上一步。

后向转移概率参数化如下:

显示参数化后向概率的公式 19。

这个等式本质上是说:

  • 如果当前 token 是 [M],模型尝试根据扩散计划表 (\(\gamma_t\)) 和模型的输出分布 (\(\mathbf{P}\)) 来预测原始单词 \(y_0\)。
  • 如果当前 token 已经被解掩码 (是真实单词) ,它保持解掩码状态 (概率为 1) 。

3. 训练目标 (变分下界 / VLB)

扩散模型通过最大化对数似然的 变分下界 (Variational Lower Bound, VLB) 来训练。Diff-DAT 将标准扩散目标与 DAT 的路径边缘化相结合。

整体目标函数对所有时间步 \(T\) 求和:

显示变分下界推导的公式 6。

关键部分是 \(\mathcal{L}_t\),即特定时间步的损失。这衡量了模型在图结构中导航时重建数据的能力。

显示时间 t 的损失函数的公式 8。

让我们拆解这个等式 (公式 8) :

  • \(\gamma_t\) : 源自扩散计划表的权重。
  • \(b_t^i\) : 一个二进制掩码,如果 token 被掩码 (需要预测) 则为 1,否则为 0。
  • \(\log \mathbf{P}_{a_i, y_0^i}\) : 模型分配给节点 \(a_i\) 处正确单词 \(y_0\) 的概率。
  • \(\mathbf{E}\) : 累加路径可能性的转移概率。

这看起来计算成本很高,因为它对所有路径 \(A\) 求和。然而,作者使用了一个聪明的简化方法。他们不针对扩散计算对 所有 路径求和,而是以模型找到的 最可能路径 \(\hat{A}\) 为条件。这允许使用动态规划进行高效训练。

4. 为什么这样做更好?

  1. 对齐 (Alignment) : 与 GLAT 不同,扩散过程定义了一个严格的数学框架,其中“隐变量” (噪声序列) 与输入有着明确定义的关系。在推理过程中,我们可以模拟这一过程。
  2. 迭代解码 (Iterative Decoding) : 标准 NATs 是一次性生成的。Diff-DAT 允许 迭代优化 。 你可以运行后向过程多个步骤。第 1 步给出一个粗略的翻译;第 2 步优化模型不太确定的 token (那些实际上仍然被“掩码”的部分) 。

实验与结果

研究人员在标准的机器翻译基准上测试了 Diff-DAT: IWSLT14 (德语-英语) 和 WMT 数据集 (英语-德语,英语-罗马尼亚语,中文-英语) 。

性能 vs. 基准模型

结果汇总在下表 1 中。关键指标是 BLEU 分数 (越高越好) ,这是衡量翻译质量的标准方法。

比较 Diff-DAT 与其他 NAT 模型的表 1。

主要观察结果:

  • 最先进水平 (SOTA) : 与 CMLM 和原始 DAT 等强大的基准相比,Diff-DAT 取得了有竞争力甚至更优越的性能。
  • 迭代改进: 查看 Diff-DAT 的 “1 iter” (1 次迭代) 与 “2 iters” (2 次迭代) 的行。在 WMT16 En-Ro 上,分数从 33.65 跃升至 34.00。这证实了扩散机制允许模型有效地优化其输出。
  • 速度: 即使进行 2 次迭代,与自回归 Transformer 相比,加速比仍为 9.2倍 。 在 1 次迭代时,它保持了标准 NATs 14.0倍 的加速比。

图大小 (\(\lambda\)) 的影响

参数 \(\lambda\) 控制 DAG 相对于源句子长度的大小 (\(L = \lambda \cdot N\)) 。较大的图提供更多的路径 (模态) ,但也使搜索空间更加复杂。

显示 lambda 对 BLEU 分数影响的图 1。

上面的图表显示,性能通常在 \(\lambda=4\) 到 \(\lambda=8\) 左右达到峰值。至关重要的是,Diff-DAT (绿线和橙线) 在不同的图大小下始终优于原始 DAT (蓝线) 。当使用 2 次迭代 (绿线) 时,差距尤为明显,证明了扩散方法的稳健性。

更多的迭代总是有帮助吗?

由于图像生成中的扩散模型通常使用数百个步骤,人们可能会认为运行 Diff-DAT 更多步会线性提高质量。

显示序列长度和迭代次数影响的图 2。

分析揭示了一个细微差别:

  • 对于 短句子 (长度 < 40) ,增加迭代次数 (例如到 4 或 8) 可以提高质量。
  • 对于 长句子 (长度 > 40) ,过多的迭代实际上会 降低 性能。

作者推测,对于长序列,图变得巨大,使得转移预测变得困难。早期步骤中的错误会传播,迭代过程可能会“产生幻觉”或偏离最佳路径,而不是优化它。然而,2 步解码在整体上仍然是一个“最佳平衡点”。

超越 BLEU: 模糊对齐 (Fuzzy Alignment)

论文还探讨了将 Diff-DAT 与 模糊对齐 (Fuzzy Alignment, FA) 相结合,这是一种放宽严格单调对齐约束的技术。

比较 FA-Diff-DAT 性能的表 5。

如表 5 所示,将两者结合 (FA-Diff-DAT) 进一步推高了性能,超过了独立的 FA-DAT 模型。这表明扩散目标与对齐改进是正交的 (独立的) ;它们可以协同工作以进一步提升结果。

结论与启示

Diff-DAT 代表了非自回归翻译的成熟。通过摆脱像 GLAT 这样的特设训练技巧,并采用 离散扩散 的原则性框架,作者创造了一个既在理论上合理又在实践中有效的模型。

对于学生和从业者来说,关键要点是:

  1. 弥合差距: 扩散模型有效地弥合了使用隐变量训练与不使用隐变量推理之间的差距。
  2. 灵活的延迟: 与僵化的 NATs 不同,Diff-DAT 提供了一个可调节的旋钮。需要最快速度?运行 1 次迭代。需要更高质量?运行 2 次。
  3. 图 + 扩散: 结构化搜索 (DAG) 和迭代优化 (扩散) 的结合是一种强大的范式,可以从机器翻译扩展到其他序列生成任务。

虽然挑战依然存在——特别是在超长序列上的迭代解码——但 Diff-DAT 证明了我们不一定非要在自回归模型的高质量和并行生成的高速度之间做选择。我们正日益能够兼得两者。