并行文本生成模型(非自回归模型)是一种新的文本生成范式。与传统自回归模型中的逐词迭代生成不同,它通过单次并行预测显著减少了解码时的延迟。
近年来,并行生成模型发展迅猛。在WMT21机器翻译大赛中,GLAT模型 [1,2] 结合知识蒸馏、数据增广等技术,在德英翻译方向夺冠,并超越了一大批自回归模型。
图1:并行(非自回归)生成模型的发展。性能指标为 BLEU,在 WMT17 中英机器翻译任务上测试,所有结果均未使用知识蒸馏。
在最新出炉的 ICML 2022 的论文中,清华大学和字节跳动联合推出了新的并行生成模型DA-Transformer。该方法相比之前的并行生成模型,其性能获得了飞跃式的增强:
- DA-Transformer不再依赖知识蒸馏,彻底摆脱自回归模型参与训练;
- 大幅超越之前所有的并行生成模型,最高涨点 4.57 BLEU;
- 首次在未使用知识蒸馏的情况下,接近并超越自回归 Transformer 性能,真正实现又快又好的文本生成。(最高+0.60 BLEU,7~14倍解码加速)
作者单位:
- The CoAI group, Tsinghua University, China
- Department of Computer Science and Technology, Tsinghua University, China.
- ByteDance AI Lab
论文链接:https://arxiv.org/abs/2205.07459代码链接:https://github.com/thu-coai/DA-transformer
背景:自回归和非自回归文本生成
目前文本生成中,最常用的模型是基于自回归的 Transformer 模型 (Autoregressive Transformer, AT),其特点是生成下一个词时需要输入已生成的前缀,因此在解码过程中需要迭代,生成延迟较高。
举例来说,Base 大小的 AT 模型在机器翻译中,单个样本(50~100词)大概需要600ms进行解码[1],在实时性要求较高的应用中比较影响用户的使用体验。
近几年来,被称作Non-Autoregressive Transformer (NAT) 的并行生成模型受到了广泛关注。
与自回归模型不同,并行生成模型往往采用非自回归的生成方式,即在同一时刻、并行地预测整句的每一个词。
并行生成方法能够大幅降低生成延迟,通常能获得10倍以上的加速。
但是,由于并行生成模型缺少生成前缀的输入,有时无法维持词语之间的正常搭配,因此生成质量往往较低,距自回归模型仍有较大差距。
并行生成中的一对多难题
之前的工作指出,并行生成的最大挑战集中在 「一对多难题」 (multi-modality problem) [3]:即对于同一个输入,往往有多种合理的输出。
例如在图2中,两种不同但合理的翻译会干扰 NAT 模型的训练,最终导致其混淆多个参考文本,生成不可读的文本。
图2:并行生成中的一对多难题 (multi-modality problem)。多个不同的参考文本 (reference)在一些位置提供了不同的词作为训练标签,最终产生了不可读的预测输出。
以往的模型通常采用知识蒸馏方法,使用自回归模型的输出训练 NAT 模型。但知识蒸馏不仅使得训练过程更加复杂,同时也限制了 NAT 模型的性能,难以超越作为教师的自回归模型。
为了摆脱对知识蒸馏的依赖,该工作另辟蹊径,将这个问题分解成为了两个因素:
- 在训练时,多个不同的参考文本会在某些位置提供不一致的词作为训练标签。由于 NAT 会独立学习预测每一个位置上的词,不一致的标签会损害模型的准确率,增加训练难度。
- 在解码时,NAT 缺少合适的解码手段去恢复正确的词间依赖。即使模型在训练时能够正确学得每个位置上的标签分布,NAT也无法得知每个位置上的预测词分别来自哪一个参考文本。
DA-Transformer:在有向无环图上的并行生成模型
有向无环图(Directed Acyclic Graph, DAG) 是图论中的概念,它代表由结点和有向边组成的一张图,且满足从任意结点出发无法回到该节点本身这一条件。
DA-Transformer 巧妙地在并行生成中引入有向无环图,用来无冲突地捕捉多个参考文本,同时建模词与词之间的转移关系。
图3:该工作提出的解决方法。在训练中将来自不同参考文本的词分配到不同的位置,以避免标签冲突;在解码时预测位置之间的转移,用于恢复输出中正常的词语搭配。
该模型的基本想法如图3所示,模型通过有向边连接不同的位置形成有向无环图,图中任意从起点到终点的一条路径,都是一种合理的输出。
这种设计刚好克服了一对多难题中的两个问题:
- 在训练时,模型将参考文本分配到不同的路径上,避免在同一位置提供冲突的标签,提高了模型预测的准确率。
- 在解码时,模型可以通过有向边的转移,采样或搜索出合理的输出,保证了输出中词语搭配的正确性。
图4:DA-Transformer的结构。图中的每条路径对应一种输出,例如图中的路径A(经过节点1,3,4,5,6,9)对应输出Y(「I went to the cinema」)。
训练方法简单通用:无需多个参考文本
DA-Transformer 使用有向无环图可以同时捕捉多种合理的输出,但通常的数据集中对一个样本只会提供单个输出作为参考文本。该工作提出了一种不需要多个参考文本的训练方法。
简单来说,该训练方法有如下特点:
- 对于单个样本,训练时会将提供的参考文本稀疏地分配到图上结点,每次只更新图的一部分;
- 对于整个数据集,有向无环图上的不同输出可以通过综合多个训练样本学习得到。
解码方法多样:在有向无环图上搜索路径
由于预测的有向无环图中包含多种不同的可能输出,因此可以采取灵活的解码方式,从图中搜索高质量的输出。该工作提出了三种不同的解码方式:包括贪心解码(Greedy)、前瞻解码(Lookahead)和集束搜索(BeamSearch)。
值得注意的是,整个有向无环图只需单词并行预测,因此仍然能大幅提高解码速度。即使使用集束搜索方法,有向无环图上的搜索并不需要再次进行神经网络的计算,因此相对自回归模型仍有显著的速度提升。
实验结果:又快又好的并行生成
图5:机器翻译上的生成性能。Average Gap 代表与最好的自回归模型结果的差距。Speedup 由 WMT14 En-De 测试集上每个样本的平均生成延迟得到(GPU为Nvidia V100-32G)。Raw为原始数据集,KD代表知识蒸馏后的数据集。Iter=1为单次预测的并行生成模型。
DA-Transformer在机器翻译数据集(WMT14 En-De, WMT17 Zh-En) 四个方向上进行了测试。结果显示:
- 与自回归模型相比,DA-Transformer无需知识蒸馏,在四个翻译方向上均获得了接近自回归模型的性能,同时提供了7~14倍的解码加速。特别地,在WMT17中英翻译数据集上,首次展示了并行生成模型能超越自回归模型性能,提升近0.6 BLEU;
- 与单次预测的并行生成模型相比,DA-Transformer大幅刷新了之前的SoTA,不仅提升了生成质量(Raw Data上平均提升近3 BLEU,最高的翻译方向上提升4.57 BLEU),同时维持了较高的加速比;
- 与多次预测的并行生成模型相比,DA-Transformer 从加速比和生成质量上都大幅超越已有模型。
生成例子:有向无环图上的多样输出
图6:DA-Transformer 的生成例子和集束搜索 (BeamSearch) 结果。其中黑色数字代表结点上词的预测概率,紫色数字代表转移概率。
图6展示了 DA-Transformer 预测的有向无环图。
可以看到,从初始结点到终止结点的多条路径均可以生成合理的输出结果,同时也证明了有向无环图捕捉多条可能输出的能力。
通过图上的集束搜索,DA-Transformer 可以进一步获得高质量且多样的输出。
总结
除了以上的结果外,文章还提供了更多的分析实验:
- DA-Transformer 显著提升了词表上预测的准确率;
- 通过在图上采样,DA-Transformer 能够生成多样且高质量的结果,与自回归生成模型相当;
- 通过调整图的大小和解码方式,DA-Transformer 能够提供多种不同的生成质量和解码速度的权衡。
总结来说,该工作提出了 DA-Transformer,通过在并行文本生成中引入有向无环图,缓解了并行模型「一对多难题」。该模型让并行生成模型摆脱了知识蒸馏,仅用单次的并行预测,模型能够获得和自回归模型类似或更好的效果,大幅刷新了 SoTA 性能。
近年来,并行生成模型作为文本生成的新范式发展迅猛,本文介绍的工作已经迈出了超越传统自回归的一步。此后,自回归模型还能在文本生成中的统治地位坚持多久?我们拭目以待!
参考资料:[1] Qian, L., Zhou, H., Bao, Y., Wang, M., Qiu, L., Zhang, W., Yu, Y., and Li, L. Glancing transformer for non-autoregressive neural machine translation. ACL 2021.[2] Qian, L., Zhou, Y., Zheng, Z., Zhu, Y., Lin, Z., Feng, J., Cheng, S., Li, L., Wang, M., and Zhou, H. The volctrans GLAT system: Non-autoregressive translation meets WMT21.[3] Gu, J., Bradbury, J., Xiong, C., Li, V. O. K., and Socher, R. Non-autoregressive neural machine translation. ICLR 2018.