由于缺乏平行数据,小语种的翻译一直是一大难题。来自谷歌的研究者提出了一种能够翻译 103 种语言的大规模多语言神经机器翻译模型,在数据丰富和匮乏的语种翻译中都实现了显著的性能提升。他们在 250 亿个的句子对上进行训练,参数量超过 500 亿。
在过去的几年里,由于神经机器翻译(NMT)的发展,机器翻译(MT)系统的质量得到了显著提升,打破了世界各地的语言障碍。但 NMT 的成功很大程度上要归功于有监督的训练数据。那么,数据较少甚至没有数据的语言该怎么办呢?多语言 NMT 是一种有效的解决方法,它有一种归纳偏见,即「来自一种语言的学习信号应该有助于提高其他语言的翻译质量」。
多语言机器翻译使用一种语言模型处理多种语言。数据匮乏语种多语言训练的成功已经应用于自动语言识别、文本转语音等系统。谷歌的研究者之前探索过扩展单个神经网络可以学习的语言数量,同时控制每种语言的训练数据量。但如果将所有限制因素都移除会发生什么?我们能否使用所有可用数据训练单个模型——即使这些数据的大小、脚本、复杂度和领域都各不相同。
在一篇名为「Massively Multilingual Neural Machine Translation in the Wild: Findings and Challenges」的论文和后续几篇论文中,谷歌的研究者们在超过 250 亿的句子对上训练了一个 NMT 模型,这些句子是 100 多种语言与英语的互译,参数量超过 500 亿。他们得到了一种大规模多语言、大规模神经机器翻译方法 M4,在数据丰富和匮乏的语言中都实现了显著的性能提升,可以轻松适应单个领域/语言,同时能够有效应用于跨语言下游迁移任务。
大规模多语言机器翻译
尽管跨语言对数据倾斜是 NMT 任务中的一大挑战,但这种倾斜也为研究迁移创造了一种理想情景,在一种语言上训练得到的信息可以应用到其他语言的翻译中。法语、德语、西班牙语等数据丰富的语言占据分布的一端,提供了数十亿的平行语料;约鲁巴语、信德语、夏威夷语等数据匮乏的语言占据分布的另一端,只有几万的语料。
所有语言对的数据分布(取对数)和在每个特定语言对上训练得到的双语基线的相对翻译质量(BLEU 分数)。
使用所有可用数据(来自 103 种语言的 250 亿个样本)训练之后,研究者观察到,数据匮乏语言有着强烈的正向迁移倾向,30 多种语言的翻译质量得到了显著提高,数据分布尾部的 BLEU 分数平均提高了 5 分。效果是已知的,但却非常鼓舞人心,因为比较是在双语基线(即只在特定语言对上训练得到的模型)和单个多语言模型之间进行的,后者拥有类似于单个双语模型的表征能力。这一发现表明,大规模多语言模型可以有效泛化,而且能够捕捉大量语言之间的表征相似性。
单个大规模多语言模型与双语基线模型之间的翻译质量对比。
在一篇名为「Investigating Multilingual NMT Representations at Scale」的 EMNLP 2019 论文中,谷歌的研究者比较了多语言模型在多种语言中的表征能力。他们发现,多语言模型无需外部限制就能学习在语言学上相似的语言的共享表征,验证了长期以来利用这些相似性的直觉和实验结果。
在「Evaluating the Cross-Lingual Effectiveness of Massively Multilingual Neural Machine Translation」一文中,研究者进一步证明了这些学习到的表征在下游任务中跨语言迁移的有效性。
所有 103 种语言编码表征聚类的可视化,基于表征相似性。不同的颜色代表不同的语系。
构建大规模神经网络
在增加数据匮乏的语种数量之后,数据丰富的语种翻译质量开始下降。这种下降在多任务设置中可以被观察到,由任务间的竞争和迁移的单向性引起(即从数据丰富的语言到数据匮乏的语言)。研究人员探索了能够更好地学习和实现能力控制的算法,以此来解决这种负迁移问题。在此过程中,他们还通过增加神经网络模型的参数量来提高其表征能力,以此来提高数据丰富语言的翻译质量。
提高神经网络的能力还有其他几种方法,包括添加层数、增加隐藏表征的宽度等。为了训练更深的翻译模型,研究者利用 GPipe 来训练 128 层、参数超过 60 亿的 Transformer。模型能力的提高使得所有语言的翻译质量都得到了显著提升,BLEU 分数平均提高了 5 分。他们还研究了深度网络的其他性质,包括深度-宽度权衡、可训练性难题以及将 transformer 扩展到 1500 多层、840 亿参数的设计选择等。
尽管扩展深度是提高模型能力的一种方法,探索能够利用问题多任务特性的架构也是一种非常可行的补充方法。研究者通过用稀疏门控专家混合层(sparsely-gated mixture of experts)替代原始的前馈层修改 transformer 的架构,显著提高了模型能力,使得我们可以成功地训练和传递 500 亿参数,从而进一步提高了翻译质量。
与 103 个双语翻译基准相比,谷歌的新方法在单个多语言模型上提高了容量(参数量),进而提高了翻译质量。
让 M4 模型实用化
对于每个语言的领域或迁移任务来说,训练大型模型,花费大量算力非常不经济。谷歌提出的方法通过使用容量可调层使新模型适应特定的语言或领域,无需更改原始模型,使得这些模型变得更加实用。
展望
有研究显示,到 21 世纪末,全球至少有 7000 种目前正在使用的语言将会不复存在。多语言机器翻译系统可以拯救这些语言吗?谷歌认为,M4 是通向另外 1000 种语言翻译的基石。从这类多语言模型开始,即使没有平行语料,我们也可以轻松地将机器翻译扩展到新的语言、领域和下游任务中去。在通用机器翻译的方向上,很多有希望的解决方案似乎是跨领域的,多语言 NMT 正在成为多任务学习、元学习、深层网络训练等机器学习技术的理想测试平台。