无需依赖英语数据 100种语言互译 脸书推出 M2M (无需依赖英语翻译)
译者:AI研习社( 季一帆 )
双语原文链接: Is The src="https://static.leiphone.com/uploads/new/sns/article/202011/1605163209467627.png?imageMogr2/quality/90">
机器翻译(MT)能够打破语言障碍,将不同语种的人团结起来,为不同人群提供有关 COVID的权威信息 以帮助他们 避免感染 。得益于我们在 低资源机器翻译 及 翻译质量评估 的最新 研究与进展 ,现在,我们每天能够在Facebook News Feed上提供近200亿次翻译。
典型的MT系统需要对不同语言和任务单独构建翻译模型,然而,这样的方式却并不适合Facebook,因为在Facebook上,有超过160种语言发布的数十亿条内容。现在的多语言系统虽然可以一次处理多种语言,但却是通过英语数据作为源语言和目标语言之间的中转,从而降低了准确性。因此,我们需要一个真正的多语言机器翻译(MMT)模型,该模型可以在任何语言之间直接进行翻译,这将为我们的社区提供更好的服务。
我们已经在Facebook对MT进行了多年的研究,现在终于可以自豪的宣布:我们首次构建了一个的大型MMT模型,该模型可以在100种不同语言之间直接进行翻译,而无需依赖英语作为中转语言。同时,我们的多语言模型的表现完全不弱于传统的双语模型,甚至要比以英语为中转的多语言模型提高了10个BLEU点。
通过新颖的挖掘策略,我们首次构建了一个真正的“多对多”翻译数据集,该数据集有75亿个句子,涵盖100种不同语言。最终,我们构建了一个具有150亿个参数的通用模型,该模型可以捕获相关语言的信息,并能够学习更加多样化的语言和形态特征。开源地址 见此 。
不同语言的亿万训练语句挖掘
建立多对多MMT模型的最大障碍之一是训练数据,即不同语言之间直接的高质量翻译数据,而不是以英语作为中间语言。然而现实情况是,比起法语和中文的直接翻译数据,中文和英文以及英语和法语的翻译数据更易获取。此外,训练所需的数据量与支持语言的数量成正比,例如,如果每种语言需要需要10M句子对,那么10种语言就是1B句子对,100种语言需要100B句子对。
构建包含100种语言的75亿句子对的多对多MMT数据集是艰巨的任务,由于我们多年来积累了不同的资源,包括,和,因此构建该数据集是可行的。为此,我们创建了新的LASER 2.0,改进了fastText语言识别,从而提高挖掘质量,相关的训练与评估脚本也会开源。当然,所有这些数据都是开源合法的。
Facebook AI提出的多对多的多语言模型是多年研究的结晶,MT模型、数据资源和优化技术等方面均是开创性的。本文会重点介绍一些主要成就。除此之外,我们通过挖掘ccNET创建了庞大的训练数据集,该数据集是基于fastText的(是处理单词表示的重要方法);基于CCMatrix的LASER库可将句子嵌入多语言嵌入空间中;CCAligned则能够根据URL匹配来对齐文档。进一步,我们开发了改进版本LASER 2.0。
即使使用LASER 2.0等先进技术,挖掘100种不同语言/4450种可能语言对中的任意一类训练数据也需要大量的计算。由于数据规模巨大,为方便管理,我们首先关注翻译请求最多的语言。因此,我们综合数据规模和数据质量对挖掘目标进行优先排序,舍弃了对极冷门语言的,如冰岛语-尼泊尔语或僧伽罗语-爪哇语。
接下来,我们引入一种新的过渡挖掘策略,该策略根据地理和文化相似性将语言分为14个语言组。之所以这样做,是因为相同国家或地区中的人们会有更多的交流,这样的翻译数据质量更高。例如,将印度地区的语言分为一组,包括孟加拉语,北印度语,马拉地语,尼泊尔语,泰米尔语和乌尔都语。类似的,我们系统挖掘了不同组的全部语言对。
为了在不同组的语言之间建立联系,我们从每组中选择少量过渡语言,一般是一到三种主要语言。在上端的示例中,我们选择印地语,孟加拉语和泰米尔语作为印度雅-利安语言的过渡语言。然后,我们并行挖掘了过渡语言2200种组合的所有数据,最终得到包含75亿条数据的训练集。由于翻译数据是可以在两种语言之间相互进行训练的(如en-> fr和fr-> en),因此我们的挖掘策略采用高效的稀疏挖掘方式,通过一个模型就能实现100x100(共9,900个)种组合的数据挖掘工作。
在并行挖掘过程中,会得到一些低质量、低资源的翻译数据,基于此,我们采用反向翻译方法对这类数据进行扩充,该方法帮助我们在年和年的WMT国际机器翻译比赛中获得第一名。具体而言,如果我们的目标是训练汉语到法语的翻译模型,那么我们首先会训练法语到汉语的模型,然后将法语反译成汉语。我们发现,在 数据规模较大 时(如上亿语句)该方法非常有效。本研究中,我们使用反向翻译的合成数据对挖掘数据集进行扩充,同时,我们还使用反向翻译为那些未标注的语言对创建训练数据。
总体而言,相比仅依赖挖掘数据训练的模型,结合过渡策略和反向翻译的训练数据学习到的模型在100个反向翻译任务中BLEU平均提升约1.7。有了丰富、高质量的训练数据集,多对多翻译模型成为可能。
此外。我们还发现,对于没有训练数据的一个语言对,零样本(zero-shot)想过显著。例如,如果模型的训练数据只有法语-英语和德语-瑞典语,通过zero-shot我们可以在法语和瑞典语之间实现翻译。我们的M2M-100模型也表明,对于没有训练数据的语言对,融合zero-shot的多语言模型表现优于以英语作为过渡的多语言模型。
MMT模型-150亿参数,翻译快又准
多语言翻译中的一个挑战是,单一模型必须要能够从不同语言获取信息。为此,通常的方法是增大模型,添加面向特定语言类型的参数。同时,过量训练数据训练的模型包含一些无关参数,舍弃这类参数不仅会压缩模型,还避免了这些参数对翻译任务的干扰。最终,我们当将模型大小缩放到含120亿参数,发现在不同语言的翻译任务中BLEU平均提升约1.2,但随着参数的继续减少,模型性能开始下降。这样,通用多语言翻译模型含120参数,加上面向特定语言的32亿稀疏参数,最终的模型有150亿参数。
我们将该模型与双语基准模型和以英语作为过渡的多语言模型进行比较,如上图所示。第一行表示由24个编码器层和24个解码器层组成的包含12亿参数的基线模型,第二行是以英语为过渡的的多语言翻译模型。接下来,分别是包含12亿参数和120亿参数的M2M-100模型,可以看到,更多参数的模型BLEU提升1.2。
通过增加Transformer的层数以及每层的宽度,我们训练得到更大的模型,该模型依然训练高效、收敛快递。值得注意的是,该多对多翻译系统首次应用了——一个是专用于pipeline和张量并行运算的新的PyTorch库。我们建立了通用架构,以通过Fairscale并行训练大型模型,避免了单GPU的限制。同时,我们应用 ZeRO优化器 , 层内模型并行 和 pipeline模型并行 来加快模型训练。
然而,120亿参数的多语言翻译模型是不够的,我们要训练更准确高效的模型。现在有许多研究工作使用多模型集成方法,即训练多个模型,并将其用于相同源语句进行翻译。为降低多个模型训练的复杂性和计算量,我们引入多源自组技术,该技术将源句子翻译成多种语言以提高翻译质量。参照和 Depth-Adaptive ,我们训练得到一个具有公共主干和不同语言特定参数集的模型。该方法能够按语言对或语言族将模型进行分块,非常适用多对多模型。最终,将压缩的多语言模型参数(12B)与特定语言参数(约3B)相结合,我们的模型不仅能像大型模型那样具有广泛扩展性,同时还能面向不同语言进行针对处理。
全力打破不同语言间的壁垒
多年来,人工智能研究人员一直在努力构建一个能够理解所有语言的通用模型。这样一个支持所有语言或方言的通用模型将为所有人提供更好的服务,令人满意的翻译将打破数十亿人的语言壁垒,让他们更加平等的了解这个世界。这项工作使我们更加接近了这一目标。
在长久的研究中,我们在预训练语言模型,微调和自我监督学习等方面发展迅速,研究成果振奋人心。这一系列的研究将进一步提高我们的系统使用未标记的数据来理解低资源语言文本的能力。例如,是一个强大的多语言模型,它可以仅从一种语言数据中进行学习,然后扩展到100种语言。针对多语言BART任务,是首次预训练全模型之一。最近,我们提出新的自我监督方法,通过许多不同语言的未标记数据来挖掘不同语言的并行句子,迭代训练更好的多语言模型。
我们将持续关注前沿进展,学习最新技术,探索MT系统的部署方式以及更加专业的计算架构,以继续改进翻译模型。
AI研习社是AI学术青年和AI开发者技术交流的在线社区。我们与高校、学术机构和产业界合作,通过提供学习、实战和求职服务,为AI学术青年和开发者的交流互助和职业发展打造一站式平台,致力成为中国最大的科技创新人才聚集地。
如果,你也是位热爱分享的AI爱好者。欢迎与译站一起,学习新知,分享成长。
版权文章,未经授权禁止转载。详情见 转载须知 。