写点什么

打破语言壁垒:谷歌推 M4 翻译模型,训练参数多达 500 亿,支持 103 种语言

  • 2019-10-16
  • 本文字数:3015 字

    阅读完需:约 10 分钟

打破语言壁垒:谷歌推M4翻译模型,训练参数多达500亿,支持103种语言


据《圣经·创世纪》第十一章记载,巴别塔是由当时人类联合兴建,希望能够借其通往天堂的通天塔。为阻止人类的计划,上帝让人类说不同的语言,使人类之间不能相互沟通,因此人类计划最后以失败告终。终结人类语言的壁垒,一直是科学家们的目标,时光之轮转到 21 世纪的今天,曙光仿佛就在眼前。近期,Google AI 分享了他们在大规模多语言、大规模神经机器翻译方面的相关探索。所以,人类真的能够建造巴别塔吗?答案是:也许可以。


“也许翻译的方式可能是从每种语言沉降到人类交流的共同基础,即真实的但尚未被发现的通用语言,然后再以任何方便的特定方式重新出现。”


——Warren Weaver,1949 年


在过去的几年里,由于神经机器翻译(Neural Machine Translation,NMT)的发展,机器翻译(Machine Translation,MT)系统的质量出现了飞跃,打破了世界各地的语言障碍。然而,神经机器翻译的成功,很大程度上要归功于大量监督学习的训练数据。但是,对于那些数据稀少、甚至没有数据的语言,又该怎么办呢?多语言神经机器翻译是一种潜在的补救措施,它带有归纳性的偏见,认为“一种语言的学习信号应该有利于翻译到其他语言的质量。”


多语言机器翻译使用单一翻译模型来处理多种语言。数据稀缺语言的多语言训练的成功,已经在自动语音识别文本转语音系统,以及之前的多语言翻译的研究 [123] 中得到证明。我们先前研究了在控制每种语言的训练数据量的同时,增加单个神经网络可学习的语言数量的效果。但是,一旦所有的约束都被解除,将会发生什么呢?尽管不同语言在数据大小、脚本、复杂性和域方面存在巨大的差异,但我们能不能利用所有可用的数据来训练一个单一的模型呢?


Massively Multilingual Neural Machine Translation in the Wild: Findings and Challenges (《大规模多语言神经机器翻译现状:发现与挑战》以及后续的论文 [4567],我们通过对超过 250 亿个句子对(从 100 多种语言与英语的双向语言对)上使用 500 多亿个参数,对单个神经机器翻译模型进行训练,从而突破了多语言神经机器翻译研究的极限。其结果是一种大规模多语言、大规模神经机器翻译(Massively Multilingual, Massive Neural Machine Translation,M4)的方法,在低资源语言和高资源语言上均表现出巨大的质量飞跃,并且可以很容易地适应各个域 / 语言,同时在跨语言下游移转任务上表现出极高的效率。

大规模多语言机器翻译

尽管跨语言对的数据倾斜(Data Skew)在神经机器翻译中是一个巨大的挑战,但它也为研究语言移转创造了一个理想的场景,在这个场景中,通过一种语言的训练获得的洞见可以应用于其他语言的翻译。在分布的一段,有像法语、德语和西班牙语这样的高资源语言,它们有数十亿个并行的例子,而在另一端,像约鲁巴语(Yoruba,非洲西部的一种语言)、信德语(Sindhi,巴基斯坦信德省和印度西部的一种语言)和夏威夷语这种地资源语言的监督学习数据,仅限于几万个。



在所有语言对上的数据分布(以对数标度)和双语基线的相对翻译质量(BLEU 得分)对这些特定语言对进行训练。


一旦使用所有可用数据(来自 103 种语言的超过 250 亿个样本)进行训练,我们就会观察到向低资源语言的强烈正向移转,从而使分布尾部的 30 多种语言的翻译质量平均提高了 5 个 BLEU 点。这种影响已为人所知,但令人惊讶的是,考虑到这种比较在双语基线(即仅在特定语言对上进行训练的模型)和具有类似于单一双语模型的表示能力之间进行的,这种比较结果令人鼓舞。这一发现暗示了大规模多语言模型在泛化方面是有效的,并且能够捕获大量语言之间的代表性相似性。



针对 103 对语言对中的每一种语言对进行训练,将单一大规模多语言模型与双语基线进行翻译质量比较。


在 EMNLP 的 19 篇论文 [5] 中,我们比较了不同语言之间的多语言模型的表示方式。我们发现,多语言模型无需外部约束即可学习语言相似的语言的共享表示,从而验证了利用这些相似性长期直觉和经验结果。在 Evaluating the Cross-Lingual Effectiveness of Massively Multilingual Neural Machine Translation(《大规模多语言神经机器翻译跨语言效果评估》)[6] 中,我们进一步证明了这些学习表征在下游任务的跨语言移转中的有效性。



基于表征相似性的所有 103 种语言编码表征的聚类可视化。语言按其语系进行颜色编码。


译注:语言移转(Language Transfer),指的是说话者或写作者在使用第二语言时,也运用了他们母语知识的一种现象。标准的定义为一种语言对学习另一种语言的影响。当两种语言的语言结构或单位相当类似时,语言移转的现象就看有可能发生。语言移转包括正向移转(Positive Transfer)和负向移转(Negative Transfer)。正向移转是发生在语言移转时,说话者仍说出正确的目标语的现象。而负向移转是发生在说话者将和目标语结构不同的一个语言套用在目标语里。在对比分析的理论里,两个语言的差异越大,负向移转的情况就越多。

构建大规模神经网络

随着模型中低资源语言数量的增加,高资源语言翻译的质量开始出现下降。这种回归在多任务设置中得到认可,这是由于任务间的竞争和移转的单向性质(即从高资源到低资源)引起的。在研究更好的学习容量控制算法来减轻这种负向移转的同时,我们还通过增加模型参数的数量来提高高资源语言的翻译质量,从而扩大神经网络的代表性能力。


为了扩大神经网络的容量,可以进行许多设计的选择,包括增加更多的层或使隐藏的表示更宽。我们继续研究训练更深层次的翻译网络,利用 GPipe [4] 训练了 128 层 Transformers,参数超过了 60 亿。增加模型容量可以显著提高所有语言的性能,平均提高 5 个 BLEU 点。我们还研究了超深网络的其他特性,包括深度与宽度之间的权衡,可训练性挑战以及将 Transformer 扩展到超过 1500 层、840 亿个参数的设计选择。


虽然扩展深度是增加模型容量的一种方法,但探索可以利用问题的多任务性质的架构是一种非常合理的补充方式。通过使用稀疏门控混合专家层(sparsely-gated mixture of experts)来替换普通的前馈层,对 Transformer 架构进行修改,大幅提升了模型容量,使我们能够成功训练和传递 500 亿个参数,从而进一步提高了整体的翻译质量。



与 103 个单独的双语基线相比,当我们增加容量(参数数量)时,单个大规模多语言模型的翻译质量得到了改进。

使 M4 实用化

为每个单独的语言、域或语言移转任务,用极高的计算成本来训练大型模型是低效的。相反,我们提出了方法 [7],通过使用容量可调层使新模型适应特定的语言或域,而不改变原来的模型,从而使这些模型更加实用。

对未来的展望

到本世纪末,目前使用的 7000 种语言中,至少有一半将不复存在。多语言机器翻译真的能解决这一问题吗?我们将 M4 方法视为服务未来 1000 种语言的垫脚石;从这样的多语言模型开始,我们可以很容易地扩展到新的语言、域和下游任务,即使在秉性数据不可用的情况下也是如此。事实上,道路是曲折的,在通往通用机器翻译的道路上,许多有前途的解决方案似乎都是跨学科的。这使得多语言的神经机器翻译成为机器学习实践者和理论家的一个可信的测试平台,他们对探索多任务学习、元学习、深度网络的训练动态等等感兴趣。我们还有很长的路要走,路漫漫其修远兮,吾将上下而求索。


译注:到本世纪末将有一半语言不复存在,引自《剑桥濒危语言手册》(The Cambridge Handbook of Endangered Languages),Austin、Sallabank 编著。


原文链接:


Exploring Massively Multilingual, Massive Neural Machine Translation


2019-10-16 08:003265
用户头像

发布了 375 篇内容, 共 189.1 次阅读, 收获喜欢 945 次。

关注

评论

发布
暂无评论
发现更多内容

汽车总线系统

不脱发的程序猿

汽车电子 CAN总线 汽车总线系统

数字化办公,企业OA软件技术该如何发力?

FinClip

前端面试哪些是必须要掌握的

loveX001

JavaScript 前端

EasyCV带你复现更好更快的自监督算法-FastConvMAE

阿里云大数据AI技术

深度学习 算法 计算机视觉

从0开始的计算机之路

吉师职业混子

9月月更

经久不衰的设计定律是不要让我思考的设计

宇宙之一粟

读书笔记 设计 设计思维 设计原则 9月月更

英特尔Wi-Fi 7速率提升5倍,为多应用场景带来改变

科技之家

长安链ca 容器部署(解决无法访问Mysql问题)

长安链

为什么Java中有三种基础的类加载器?

小小怪下士

Java 编程 程序员 程序

Lua脚本在Redis事务中的应用实践

京东科技开发者

数据库 redis 事务 开发语言 Lua脚本

Java | extends关键字【面向对象的第二大特征——继承】

Fire_Shield

Java 9月月更 extends

设计模式和七大设计原则不难的

知识浅谈

设计模式 设计原则 9月月更

netty原理分析

小小怪下士

Java 编程 程序员 后端 Netty

Java 面试之技术框架

小小怪下士

Java spring 编程 程序员

基于微信小程序的会议室预定平台开发笔记

CC同学

【存疑】爬虫学习中decode问题

Sher10ck

存疑

Java基础科普

吉师职业混子

9月月更

【数据结构】利用Python手把手带你自定义矩阵

迷彩

数据结构 矩阵 矩阵运算 9月月更 自定义矩阵

Vue3-无限滚动的懒加载-本地数据操作版

Sam9029

Vue 前端 懒加载 9月月更

Vue3-无限滚动的懒加载-模拟网络请求Mock版

Sam9029

Vue 前端 9月月更 无限滚动

【网络安全】记一次简单渗透测试实战

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞利用

Docker镜像列表中的none:none是什么

程序员欣宸

Docker 9月月更

这样Debug,排查问题效率大大提升...

程序知音

架构师成长之路——什么是架构师

小小怪下士

Java 程序员 架构 后端

追光动画《杨戬》:水墨、石窟、洛神赋,中式美感背后有中国云计算

B Impact

PipyJS - 函数式网络编程语言

Flomesh

Service Mesh 服务网格

成为优秀程序员的8种方法

小小怪下士

Java 程序员 职业发展

35岁程序员自荐:我所掌握的架构技术

小小怪下士

Java 程序员 中年危机

开发者有话说|谈谈自己大学期间的收获,以及毕业的求职经历

芯动大师

个人成长 成长路上的思考 初心不变

大数据调度平台Airflow(六):Airflow Operators及案例

Lansonli

airflow 9月月更

Qt|制作简单的不规则窗体

中国好公民st

qt 事件 9月月更

打破语言壁垒:谷歌推M4翻译模型,训练参数多达500亿,支持103种语言_AI&大模型_Ankur Bapna_InfoQ精选文章