写点什么

恒源云 _ 字节跳动的 mRASP 预训练模型真香

作者:恒源云
  • 2022 年 1 月 05 日
  • 本文字数:2263 字

    阅读完需:约 7 分钟

恒源云_字节跳动的mRASP预训练模型真香

文章来源 | 恒源云社区(一个专注 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 构建了一种通用机器翻译模型,能快速适应各种语言,且训练速度快,可以看出多语言机器翻译是大势所趋。不过本文使用的也是共享词汇表,在跨语系如中英时词汇表会很大很稀疏,使用类似通用词表嵌入的方法或许能在对不同语言词表解耦的同时,进一步拉近语义空间。

用户头像

恒源云

关注

专注人工智能云GPU服务器训练平台 2020.12.25 加入

还未添加个人简介

评论

发布
暂无评论
恒源云_字节跳动的mRASP预训练模型真香