最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

打破语言壁垒:谷歌推 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


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

发布了 368 篇内容, 共 170.4 次阅读, 收获喜欢 939 次。

关注

评论

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

即构自研海量有序数据网络MSDN,构建全球可靠的多云通讯链路

ZEGO即构

华为18A架构师共享:Netty+Redis+zookeeper+高并发技术栈

996小迁

redis zookeeper 架构 Netty 高并发

关于自己的一个梦(飞翔)

Yuchen

华为云FusionInsight助力宇宙行打造金融数据湖新标杆

华为云开发者联盟

数据湖 云原生 存储 FusionInsight 华为云

程序员成长第一篇:机会与趋势

石云升

28天写作 2月春节不断更 机会与趋势

HTTPS是怎么保证数据安全传输的?

面试 HTTP

产品训练营 第三次作业

Wangyunnfei

玩转IDEA项目结构Project Structure,打Jar包、模块/依赖管理全搞定

YourBatman

Module IntelliJ IDEA Project Structure

极客时间产品训练营第三周作业

云随心

产品 作业 产品训练营

官宣了!Apache ECharts 毕业成为 Apache 软件基金会顶级项目!

百度Geek说

百度 基金会

ICE暴雪正悄悄崛起

DT极客

前端面试必备ES6全方位总结

我是哪吒

程序员 面试 大前端 ES6 2月春节不断更

用RabbitMQ了好几年之后,我总结出来5点RabbitMQ的使用心得

四猿外

MQ RabbitMQ 消息队列

说说常常被研发忽略的原型模式

后台技术汇

28天写作 2月春节不断更

Kafka基础简介

架构精进之路

kafka 七日更 28天写作 2月春节不断更

MySQL安装教程&问题解决

Mars

MySQL 运维

Elasticsearch 写一致性原理

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

挖矿系统APP源码搭建

luluhulian

SpringCloud 从入门到精通15---Sentinel搭建和服务监控

Felix

数据库表数据量大读写缓慢如何优化(4)【分库分表】

我爱娃哈哈😍

数据库 架构

Linux-Lab 入门:使用开发板

贾献华

嵌入式 Linux Kenel 开发板 arm boot

挖矿区块链_什么是挖矿 带你详细了解挖矿基础知识

v16629866266

使用pgBackRest并行归档解决wal堆积问题

PostgreSQLChina

数据库 postgresql 开源 开源社区

利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?

JackTian

Python 数据分析 数据可视化 化妆品 2月春节不断更

厚积薄发!华为云7篇论文被AAAI收录,2021年AI行业技术风向标看这里!

华为云开发者联盟

人工智能 卷积网络 远程监督 域泛化 油气储集层收集

托管节点池助力用户构建稳定自愈的 Kubernetes 集群

阿里巴巴云原生

Docker 容器 运维 云原生 k8s

《我想进大厂》之Zookeeper夺命连环9问

艾小仙

zookeeper

即日起 Jira、Confluence 正式停售本地版,中国客户将无法购买

万事ONES

项目管理 开发者 研发管理 团队协作 CTO

日记 2021年2月2日(周二)

Changing Lin

个人感悟 2月春节不断更

EXCEL数据如何去重? Python:这事我比你熟

智分析

Python

Idea工具的各种查找快捷键

小马哥

IntelliJ IDEA 七日更 2月春节不断更

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