文章来源 | 一个专注 AI 行业的共享算力平台:恒源云
原文地址 | mRASP预训练模型
原文作者 | 角灰
估计大佬们最近不是在考试,就是在放假,所以都不在社区发文章了
没办法,只能在茫茫帖子里深挖,哎嘿,这不就是巧了嘛,还真的有一篇漏网之鱼!
废话少说,正片开始:
1.引言
最近在看机器翻译文献时,常常望卡兴叹,尤其是facebook是真的壕,训练25种语言的mBart就用256张卡训练了20天,更不用说是mBart50。偶然发现这篇字节的mRASP( Random Aligned Substitution Pre-training )模型号称只需要8卡一周,简直太香了!(还是跑不起啊orz)论文为:Pre-training Multilingual Neural Machine Translation by Leveraging Alignment Information,内容如下:
2.摘要:
本文想构建一个统一的机器翻译模型,在提供任意语言对的情况下,可以快速适应新语言。于是提出一种通用的多语言机器翻译预训练模型:mRASP(多语言随机对齐预训练) ,在32种语言上进行预训练(双语数据),然后在42个翻译方向上进行微调,结果证明在低、中、高乃至零资源翻译上都有非常大的提升。本文首次验证多语言模型能提升富资源语言的效果。
3.结论:
mRASP可以使跨语言的同义词在嵌入空间上接近,在低、中、高和零资源数据上证明了模型效性。通过分析实验,发现对齐信息确实能不同语言语义上的鸿沟,并提升性能。
未来工作是探索更多词对齐的方法,并在大规模数据上预训练进一步提升性能。
4.介绍:
1.本文认为预训练模型在nmt任务上的限制在于:
(1)预训练的bert不能直接微调到nmt,除非用些复杂的办法。
(2)预训练目标和下游任务(nmt)的训练目标有差异:如mass、mbart使用自编码器(降噪),和翻译任务不同,因此微调之后收益有限。
(3)现有的多语言预训练方法仅能提升中、低资源翻译,而非任意语料对,尤其是对富资源上效果没有显著提升。(想想看人类学会多种语言后再学其他语言应该会很快)
2.本文使用随机对齐替换使模型能弥合跨语言的鸿沟(见下),充分利用多语言知识,使得相同语义的语言在表征空间接近。mRASP在极端缺少平行语料(<10w),能达到22bleu。
3.提出了异国翻译的四种分类法:
(1)Exotic Pair:微调时的源语言和目标语言在预训练时各自单独出现过,但是没有成对训练;
(2)Exotic Source:微调时的源语言没有在预训练时出现,只预训练过目标语言;
(3)Exotic Target:微调时的目标语言没有在预训练时出现,只预训练过源语言;
(4)Exotic Full:微调的两端语言在预训练中都没出现过(巨难);
4.贡献
(1)使用上亿对双语语料进行预训练,而不像其他模型一样用大量单语预训练。本文认为预训练和微调有一致的目标有利于nmt提升;
(2)提出RAS,能够弥合跨语言的语义空间;
(3)在42个方向上取得巨大提升,在预训练中源、目标语言都没有的极端情况(Exotic Full)取得14的bleu,在富语言en-fr上能进一步取得提升44.3bleu。
5.模型:
5.1.结构
采用transformer-large,编码器解码器各6层,嵌入维度1024,14个head,激活函数换为GeLU,并使用可学习的位置嵌入。
5.2.随机对齐替换
不多说,先上图:
源句是:“ I like singing and dancing”,目标句是:“J’adore chanter et danser <EOS>”
随机对齐替换就是无监督MUSE方法构建词典,然后随机替换掉源句种的“singing ”和“dancing”,编码器输入变为:“I like chanter and danser”,解码器的生成目标不变。
我们知道一个词的词义是由其上下文决定的,因此把“chanter ”放到和“singing”同样的语境下,他们在嵌入空间的距离就拉近了,从而达到跨语言语义相近的目的。
换成公式就是如下:
L={L1,…Lm}为预训练的语言集合,xi代表语言Li中的某个句子。Dij是平行语料,N是平行语料数。C是对齐函数,用于把源句中的单词替换为随机语言对应的词。在翻译方向为(xj,xi)时,目标函数使源语句xj在经随机替换后C(xj)条件下,得到翻译结果xi的概率最大,即最小化化负对数似然。
5.3.语言标识
为区分不同翻译对,在源和目标语句之前简单添加语言标识:
5.4.灵感来源:
最近的工作证明,跨语言模型预训练可能是一种更有效的方法来进行表征学习。然而
在预训练时,跨语言信息是从共享子词表获得的,有如下局限:
(1)共享词汇表非常系数,尤其是在不同的语言对上(形态上完全不一样,如英汉)
(2)即使是相同的子词,在不同语言中也可能表示不同意思。
(3)参数共享的方法缺乏明确的监督信号,来引导跨语言中相同意思词共享相同的语义空间
因此本文为了弥合跨语言语义的鸿沟,提出了RAS随机对齐替换的方法。
5.5 PC32(PARALLEL CORPUS 32)
收集了32个英文为中心的语言,64个翻译方向,统称为PC32,共包含197m平行语料
5.6 预训练细节
词汇表:
使用联合词汇表,用共享bpe,32k次合并操作。数据使用全部平行语料和额外的1m单语数据。并且为了平衡不同语言的词汇表大小,在最大语料量语言的基础上,对其他低资源语言进行过采样,使得每个token出现数超过20,最终子词词汇表大小是64808。
参数
Adam优化器,eps= 1e − 8, β2 = 0.98,warmup=4000步,预训练15w次。
RAS使用MUSE得到的English-X词典,取前1000个,用来随机替换源端的词,每个词有30%概率被替换。为解决一词多义,从候选词中随机选一个用来替换。
结果:
6. 微调结果
在富资源语言上效果明显:
在零资源语言上吊打直接训练。
7.个人总结
mRASP构建了一种通用机器翻译模型,能快速适应各种语言,且训练速度快,可以看出多语言机器翻译是大势所趋。不过本文使用的也是共享词汇表,在跨语系如中英时词汇表会很大很稀疏,使用类似通用词表嵌入的方法或许能在对不同语言词表解耦的同时,进一步拉近语义空间。