此页面已由微软翻译机翻译服务自动翻译。 了解更多信息

微软翻译博客

神经机器翻译实现云中达到人类水平创新

2018年3月 宣布 (哈桑等人2018) 一个突破性的结果,我们首次展示了一个机器翻译系统,该系统可以执行以及人工翻译(在特定情况下 - 中英文新闻翻译)。这是机器翻译研究的一个令人振奋的突破,但我们为这个项目构建的系统是一个复杂的、重量级的研究系统,融合了多种尖端技术。虽然我们在多个测试集上发布了此系统的输出,但系统本身并不适合在实时机器翻译云 API 中部署。

今天,我们很高兴地宣布我们最新一代神经机器翻译模型的生产已上市。这些模型包含了我们研究系统的大部分优点,现在默认在使用 Microsoft 转换器 API 时可用。这些新型号今天有中文、德文、法文、印地语、意大利语、西班牙语、日语、韩语和俄语,从英语到英语都有售。更多的语言即将推出。

从研究论文到云 API

在过去的一年里,我们一直在寻找方法,将我们人类均等系统的大部分质量引入微软 翻译 API,同时继续提供低成本的实时翻译。以下是这次旅行中的一些步骤。

师生培训

我们的第一步是切换到"教师-学生"框架,在那里我们训练一个轻量级的实时学生来模仿一个重量级的教师网络(巴和卡鲁阿纳 2014).这是通过培训学生,而不是根据MT系统通常接受培训的并行数据,而是通过教师制作的翻译来实现的(金和拉什 2016).这是一个比从原始数据学习更简单的任务,它允许一个浅薄、更简单的学生非常密切地跟踪复杂的教师。正如人们所料,我们最初的尝试仍然遭受质量下降,从教师到学生(没有免费的午餐!Junczys-Dowmunt等人2018a).一些特别令人兴奋的结果,从这一努力是,变压器(瓦斯瓦尼等人 2017) 模型及其修改在师生培训中表现良好,在 CPU 推理过程中效率惊人。

从这些初始结果中学习,经过大量的迭代,我们发现了一个配方,允许我们简单的学生拥有几乎相同的素质复杂的老师(有时有一个免费的午餐毕竟?现在,我们可以自由地构建大型、复杂的教师模型,以最大限度地提高质量,而不必担心实时限制(太多)。

实时翻译

我们决定切换到师生框架,其动机是 金和拉什 (2016)用于基于 RNN 的简单模型。此时,还不清楚报告的对变压器型号的好处是否也会显现出来(参见 瓦斯瓦尼等人 2017 有关此模型的详细信息)。然而,我们很快发现,情况确实如此。

Transformer 学生可以使用一种大大简化的解码算法(贪婪搜索),我们只是在每个步骤中选择一个最佳翻译的单词,而不是通常的方法(光束搜索),它涉及在可能的巨大空间中搜索翻译。这一变化对质量的影响很小,但翻译速度有了很大的提高。相比之下,教师模型在从光束搜索转向贪婪搜索时,质量会大幅下降。

同时,我们意识到,与其在解码器中使用最新的神经架构(具有自我注意的变压器),不如对学生进行修改,以使用大幅简化和更快的循环 (RNN) 体系结构。这很重要,因为虽然变形金刚编码器可以并行计算整个源句子,但目标句子一次生成一个单词,因此解码器的速度对翻译的整体速度有很大的影响。与自我注意相比,循环解码器将目标句子长度的算法复杂性从二次到线性。特别是在师生设置中,我们没有看到由于这些修改而导致的质量损失,无论是自动的,还是人为的评估结果。参数共享等其他改进进一步降低了复杂性并提高了速度。

我们非常兴奋地看到,师生框架的另一个优点是,随着教师的成长和变化,质量的提高很容易转移到一个没有改变的学生架构中。如果我们看到这方面的问题,学生模型能力的轻微提高将再次缩小差距。

对偶学习

对偶学习背后的关键见解 (他等人2016年) 是"往返翻译"检查,人们有时用来检查翻译质量。假设我们使用在线翻译从英语到意大利语。如果我们不读意大利语,我们怎么知道它是否做得好?单击之前 发送 在电子邮件中,我们可能会选择通过将意大利语翻译成英语来检查质量(可能在不同的网站上)。如果我们回来的英语偏离了原来的太远,那么其中一个译文很可能偏离了轨道。

对偶学习使用相同的方法并行训练两个系统(例如英语--意大利语和意大利语-英语),使用一个系统的往返翻译对另一个系统进行评分、验证和培训。

对偶学习是我们人类均等性研究结果的主要贡献者。在从研究系统到生产配方中,我们广泛推广了这种方法。我们不仅在彼此的输出上共同训练系统对,还使用相同的标准来筛选并行数据。

清理不准确的数据

机器翻译系统根据"并行数据"接受培训,即相互翻译的文档对,最好由人工翻译创建。事实证明,这种并行数据通常充满了不准确的翻译。有时,这些文档并不是真正的平行的,而只是彼此的松散转述。人工翻译人员可以选择删除一些源材料或插入其他信息。数据可能包含拼写错误、拼写错误和语法错误。有时,我们的数据挖掘算法被类似但非并行的数据,甚至被错误语言的句子所愚弄。最糟糕的是,我们看到的很多网页都是垃圾邮件,或者实际上可能是机器翻译,而不是人工翻译。神经系统对数据中的这种不准确非常敏感。我们发现,构建神经模型以自动识别和消除这些不准确之处,大大改善了系统的质量。我们的数据筛选方法首先导致 WMT18 并行语料库过滤基准 (君奇斯-道蒙特 2018a),并帮助建立一个最强大的英语-德语翻译系统 WMT18 新闻翻译任务 (君奇斯-道蒙特 2018b).我们在今天发布的生产系统中使用了这种方法的改进版本。

分解字表示形式

将研究技术转移到生产中时,出现了一些实际挑战。获得数字、日期、时间、资本化、间距等在生产中比在研究系统中重要得多。

考虑资本化的挑战。如果我们翻译的句子是"请在此处播放",我们知道如何翻译"猫"。我们希望以同样的方式翻译"CAT"。但现在考虑"在这里看美国足球"。在这种情况下,我们不想混淆"我们"一词和首字母缩略词"美国"。

为了解决这个问题,我们使用了一种称为因子机器翻译的方法(科恩和霍恩 2007森里奇和哈多 2016),其工作方式如下。我们使用多个嵌入,称为"因子",而不是"cat"或"CAT"的单个数字表示形式("嵌入")。在这种情况下,"CAT"和"cat"的主嵌入是相同的,但一个单独的因子将表示大写,表明它在一个实例中是全帽,但在另一个实例中是小写。源端和目标端也使用类似的因子。

我们使用类似的因素来处理单词片段和单词间距(非间距或半间距语言(如中文、韩语、日语或泰语)的复杂问题)。

因素还极大地改善了数字的转换,这在许多情况下至关重要。数字转换主要是算法转换。例如,1,234,000 可以写成 12,34,000 印地语,1.234.000 德语,123.4 元。"传统上,数字像单词一样表示,表示为不同长度的字符组。这使得机器学习很难发现算法。相反,我们分别馈送数字的每个位数,并标记开始和结束的因子。这个简单的技巧可靠可靠地消除了几乎所有的数字转换错误。

更快的模型培训

当我们训练单个系统实现单一目标时,正如我们在人平价研究项目中所做的那样,我们期望在需要数周培训的模型上投入大量硬件。当为 20 多种语言对培训生产模型时,这种方法变得站不住脚。我们不仅需要合理的周转时间,还需要调整硬件需求。对于此项目,我们进行了一些性能改进,以 玛丽安 NMT (Junczys-Dowmunt等人2018b).

玛丽安NMT是微软翻译器所基于的开源神经MT工具包。Marian 是一个纯 C# 神经机器翻译工具包,因此效率极高,运行时不需要 GPU,在训练时非常高效

由于其自包含的性质,很容易针对 NMT 特定任务优化 Marian,从而获得最有效的 NMT 工具包之一。请看 基准.如果您对神经MT的研发感兴趣,请加入并参与 Github 上的社区.

我们在混合精度训练和解码以及大型模型培训方面的改进将很快在公共 Github 存储库中提供。

我们对神经机器翻译的未来感到兴奋。我们将继续将新的模型体系结构推广到其余语言和 自定义转换器 贯穿今年。我们的用户将自动通过 翻译 API我们 翻译应用程序、微软办公室和边缘浏览器。我们希望新的改进有助于您的个人生活和职业生活,并期待您的反馈。

 

引用

  • 吉米·巴和里奇·卡鲁阿纳2014. 深网真的需要深部吗?神经信息处理系统27。页 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
  • 汉尼·哈桑、安东尼·奥、张晨、维沙尔·乔达里、乔纳森·克拉克、克里斯蒂安·费德曼、黄学东、马辛·容茨-道蒙特、威廉·刘易斯、穆力、刘树杰、刘铁燕、罗仁谦、阿鲁尔·梅内塞斯、陶勤、弗兰克·塞德、徐坦、费天、吴立军、吴双芝、夏英思、张东东、张志瑞、周明。2018. 实现中文到英文新闻翻译的自动达到人类水平。 http://arxiv.org/abs/1803.05567
  • 他、狄和夏、英和秦、陶和王、利伟和余、能海和刘、铁燕和马伟英。2016. 机器翻译对偶学习。神经信息处理系统的进展 29.页 820-828。 https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • 马辛·容奇斯-道蒙特2018a. 噪声并行公司的双条件交叉熵过滤。第三次机器翻译会议记录:共享任务文件。比利时,第888-895页。 https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • 马辛·容奇斯-道蒙特2018b. 微软提交WMT2018新闻翻译任务:我如何学会停止担心和爱数据。第三次机器翻译会议记录:共享任务文件。比利时,第425-430页。 https://www.aclweb.org/anthology/W18-6415/
  • 马辛·容奇斯-道蒙特、肯尼思·希菲尔德、海乌·霍昂、罗曼·格兰德凯维奇、安东尼·奥伊。2018a. 玛丽安:C++中经济高效的高质量神经机器翻译。第二届神经机器翻译与生成研讨会记录。澳大利亚墨尔本,第 129-135 页。 https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • 马辛·容奇斯-道蒙特、罗曼·格兰德凯维奇、托马斯·德沃亚克、希乌·霍昂、肯尼思·海菲尔德、汤姆·内克尔曼、弗兰克·塞德、乌尔里希·德恩、阿尔哈姆·菲克里·阿吉、尼古拉·博戈伊切夫、安德烈·马丁斯、亚历山德拉·伯奇。2018b. 玛丽安:C#快速神经机器翻译。ACL 2018,系统演示记录。澳大利亚墨尔本,第 116-121 页。 https://www.aclweb.org/anthology/P18-4020/
  • 金永和亚历山大·拉什2016. 序列级知识蒸馏。2016年11月1日至4日,美国得克萨斯州奥斯汀市,2016年11月1日至4日,第1317-1327页,《2016年自然语言处理经验方法会议记录》,EMNLP 2016年。 https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • 菲利普·科恩,海黄。2007. 分解翻译模型。2007年自然语言处理和计算自然语言学习经验方法联席会议会议记录。布拉格, 捷克共和国, 页 868-876. https://www.aclweb.org/anthology/D07-1091/
  • 里科·森里奇,巴里·哈多2016. 语言输入功能改进了神经机器翻译。第一届机器翻译会议记录:第1卷,研究论文。柏林, 德国, 第 83-91 页. https://www.aclweb.org/anthology/W16-2209/
  • 瓦斯瓦尼、阿希什和沙泽尔、诺阿姆和帕尔玛、尼基和乌斯科赖特、雅各布和琼斯、利翁和戈麦斯、艾丹·恩和凯泽、卢卡什和波洛苏欣、伊利亚。2017. 关注是您所需要的一切。神经信息处理系统的进步 30.页 5998-6008。 https://papers.nips.cc/paper/7181-attention-is-all-you-need