作为世界顶级的机器翻译比赛,WMT 大赛自 2006 年以来已经举办了 16 届,每年都会吸引来自世界各地的顶级企业、高校和科研机构参赛。历年参赛队伍来自微软、脸书、腾讯、阿里巴巴、百度、华为等。
在 WMT 的各个翻译任务中,火山翻译团队挑战的德英翻译更是参赛队伍角逐的核心项目。在德语-英语翻译方向上,火山翻译团队仅使用了官方提供的数据(受限资源),成功摘得桂冠。
引言
历年的 WMT 比赛中,各个团队大多基于自左向右解码的自回归式生成模型(简称自回归式模型,例如 Transformer)开发自回归式翻译系统。
相比于自回归式翻译系统自左向右的逐词输出(如下图 1 左边的例子),并行翻译系统则采用了更新颖的并行生成技术,在翻译的过程中同时输出所有的词(如图 1 右边的例子),从而可以获得数倍的翻译加速。
图 1:自左向右生成(左)和并行生成(右)。
可惜的是,尽管并行翻译系统在翻译速度上存在优势,但在之前的实践中其翻译质量相对于自回归式系统还落于下风。因此,并行生成仍在学术探索阶段,许多技术尚未成熟,实际应用更是寥寥无几。
尽管困难重重,在火山翻译团队的技术攻坚下,其自研的 GLAT 模型最终成功击败了自回归式翻译系统,成为历史上首个夺得 WMT 冠军的并行翻译系统,展现出并行生成技术巨大的潜力。
领先的自研并行生成技术
在本次大赛中,火山翻译团队使用的并行生成技术完全基于自研的 Glancing Transformer 模型(GLAT)。GLAT 提出了一种为并行生成建模词之间依赖关系的有效训练方式,大幅提升了并行生成的效果。目前,GLAT 的 paper 已被 ACL2021 接收。
具体地,GLAT 会先学习并行输出一些较为简单的语句片段,然后逐渐学习整句话的一次性并行生成。GLAT 的训练示例如下图 2 所示:
图 2:GLAT 的训练示例。
在训练中,GLAT 会进行两次解码。在第一次解码中,GLAT 将模型并行生成的结果和目标语句进行对比。根据第一次解码结果和目标语句的差异,GLAT 会决定目标词的采样数量,差异越大采样数量就越多。在第二次解码中,GLAT 将被采样的目标词的向量表示替换到解码器输入中,然后让模型利用新的解码器输入学习预测剩余的目标词。
在图 2 的例子中,模型的翻译结果「travel to to a world」和目标语句「travel all over the world」仅有两个词在对应位置上相同。因此,GLAT 随机采样了词「over」作为解码器的输入来帮助训练。而随着模型在训练中能更好捕获目标词之间的依赖关系,生成结果与目标语句会更接近。所以在训练后期需要作为解码器输入的目标词数量越来越少,GLAT 会逐渐学习整个语句的并行生成。
为了进一步提高翻译效果,团队在此基础上对模型结构和训练方式进行了各方面的优化,例如在模型中加入动态线性网络层组合(DLCL),利用多种形式的原始和蒸馏数据,分阶段训练等等。除此之外,通过结合多种结构的 Glancing Transformer 和改进的重排序技术,可以获得更出色的翻译结果。需要强调的是,模型在生成时不使用任何形式的顺序解码或者迭代式解码,只进行一次并行的解码,保持了翻译的高效性。
除了在世界级大赛中夺冠,GLAT 在实际工业系统的应用中也展现出优势。GLAT 已经在火山翻译的部分语种上线,其并行的生成方式有效地加速了解码过程,缩短了翻译服务的响应时间。