Press "Enter" to skip to content

EMNLP 2021 | 多语言翻译——利用 Adapter 缓解多语言干扰

今天为大家介绍一篇收录于 EMNLP2021 Findings 的论文: Counter-Interference Adapter for Multilingual Machine Translation(CIAT) ,由 字节跳动人工智能实验室和加州大学圣芭芭拉分校 合作完成。这篇论文分析并解决多语言机器翻译任务中最大的挑战之一: 多语言性能下降问题 。 论文指出多语言性能下降的本质是语言之间的干扰,并引入了 Adapter 子结构来修复这种干扰。 作者的模型在多个规模的多语言机器翻译数据集上取得了优异的成绩。

 

 

论文链接:

 

https://arxiv.org/abs/2104.08154
代码地址

 

https://github.com/Yaoming95/CIAT

 

一、导读

 

机器翻译 一直是自然语言处理领域中备受关注的研究方向,其中多语言机器翻译系统更是具有巨大的商业价值,像是“Facebook自动翻译帖子和评论;火山同传直播双语字幕”等功能都在切实解决着语言障碍这一真实痛点。

 

然而我们发现传统机器翻译系统为了实现多种语言间的互译,需要在两两语对之间各构建一个独立的双语翻译模型。比如我们想让德语使用者和法语使用者畅游英文网页和中文网页,就需要提供英法、中法、英德、中德四组机器翻译模型。

 

进一步地,假设我们需要在常用的100种人类语言之间实现互译,那幺大约需要一万个双语翻译模型——而如此巨大的模型量对于学术研究和工业部署而言都是无法接受的。因此,研究者们又提出了多语言机器翻译任务,希望 设计出一个通用模型来实现所有语种间的互译。

 

图1:多语言机器翻译模型以一己之力替代了以往若干个双语机器翻译模型。

 

二、 机器翻译:从双语到多语

 

机器翻译的历史悠久,而目前主流的机器翻译系统都使用 Transformer 作为基础模型,这种模型由词嵌入矩阵、编码器、解码器构成,下图是一个 Transformer 模型结构图(以中英机器翻译为例)。

 

 

图2:Transformer 模型结构图

 

图源:

 

https://mp.weixin.qq.com/s/t69wOVy_I0ErmQa22g2vvA

 

在双语 Transformer 基础上,来自 Google 的研究者们提出了一套多语言机器翻译范式:即在每条源语句的开头加上翻译方向,然后混合所有的双语数据作为训练集直接训练翻译模型[1]。

 

 

图3:从双语数据集构建多语言数据集,其中多语言数据集在句首添加的 <2zh> 和 <2fr> 分别代指翻译到中文和翻译到法文。

 

这种多语言翻译范式训练过程简单、不需要修改模型,迅速成为了多语言翻译的主流方案。

 

然而它也并非万能,研究者们发现了按照多语种模型在翻译大语种时性能往往不及传统的双语翻译模型——譬如掌握了 103 种语言的多语种翻译模型在翻译英语到德语时,效果不如独立的英德机器翻译模型。研究者们把这种现象被称为  多语言性能下降  [2](见图4)。如何缓解多语言性能下降也随即成为了机器翻译界的研究热点。

 

 

图4:在 IWSLT 数据集上,多语言翻译模型相对双语模型的下降值。多语言翻译模型仅在波兰语到英语的翻译上超过了双语翻译模型。

 

三、 再思考:多语言性能下降的成因

 

论文首先分析了为何在模型一致的情况下,多语言翻译模型的性能不及双语翻译模型。 CIAT 论文将其归结到两种问题。

 

作者首先思考了 词嵌入 (word embedding) 的建模能力。在多语言的环境下,不同的语言会共享同一个词嵌入矩阵,而对于很多词汇,它们在不同语言中虽拼写相同,含义却是无关甚至相反,作者给出了两个例子:

 

单词英语含义法语含义
bride新娘马辔头
汉字汉语含义日语含义
母亲女儿

 

面对此类跨语言多义词时,多种语言共用的词嵌入向量往往难以捕获准确的语义,作者将这种问题称为 多语言词嵌入缺陷 (Multilingual Embedding Deficiency) 。

 

在词嵌入之外,作者还将目光投向了翻译模型的中间层。以往研究者指出了多任务学习时,不同任务间会存在相互干扰的问题,导致共享参数的模型中间层面临噪音扰动[3]。作者认为多语言翻译任务的学习也会给共享参数的模型中间层带来类似的问题,即单个模型在同时学习不同语言特征时,特征彼此干扰杂糅,对模型性能施加负面影响,作者将这种影响称为 多语言扰动 (Multilingual Interference Effects) 。

 

四、 利用 Adapter 缓解多语言干扰

 

分析完多语言性能下降的原因,作者便 设计了一套基于 Adapter 的方案来解决这两种多语言学习的问题 。在介绍作者的方案前,笔者先简述一下论文使用的 Adapter 技术。

 

什幺是Adapter

 

Adapter 技术最初被用于 领域适应任务 (domain adaptation task) 上[4](见图5)。 其核心思想是将模型 分为主体的主网络和参数较少的 Adapter两部分 。训练时,先在主任务上训练整个模型,模型收敛后固定住主网络的参数。做领域适应时仅精调 Adapter 的参数。这样最终训练出的模型既能利用主任务的大量数据信息,又能在具体的领域适应上表现良好。

 

 

图5:一个经典的 Adapter 单层网络示例。其中蓝色部分为 Adapter 。模型先在主任务上训练,之后固定主网络 (Main Network) 的参数,在具体任务上精调 Adapter 结构。

 

如何将 Adapter 引入多语言机器翻译

 

CIAT 的作者将 Adapter 的思想引入了多语言机器翻译中,并通过 Adapter 技术来缓解前述的两种多语言问题。

 

对于多语言词嵌入缺陷,作者引入了 Embedding Adapter 模块 ,可以修补单个词嵌入对于跨语言词汇建模能力不足的问题,具体地,Embedding Adapter 在以往的词嵌入矩阵后加入了一个语对相关的小模块,根据具体的语言对来调整 embedding 的内容;对于多语言扰动,作者引入了 Layer Adapter 模块 (图6 中绿色模块), 这种模块与主网络中间层并联,和模型中间层共享输入的同时在模型输出端抵消多语言干扰 。

 

作者还在论文中论述了与 NLP 界以往使用的串联型 Adapter 相比[6],并联式的 Layer Adapter 的输入不会受到中间层多语言扰动的影响,这种并联式的设计对于多语言机器翻译的学习而言更加友好。

 

图6 展示了作者的模型架构。作者的主模型为目前机器翻译界的主流 Transformer ,而 Adapter 采用了简单的前馈神经网络。与主网络相比,Adapter 带来的参数量极小。

 

图6:CIAT 的架构

 

预训练主模型+语言对精调 Adapter

 

CIAT 的训练分为两个阶段:

 

· 首先是 多语言预训练 ,即在多语言语料库上训练标准 Transformer,得到多语言的基础模型并将其参数“冻结”;

 

· 接着是 特定语言精调 ,对于特定的语对,直接在预训练好的基础模型上插入随机初始化的 Adapter 模块,然后在该语对上训练 Adapter 模块,不同语对的 Adapter 相互独立。

 

以英法、英中训练举例:CIAT会先使用英、法、中三语种的语料联合训练一个基础的英法中互翻多语言Transformer;然后,分别插入英法、英中两组 Adapter ,并在对应的双语语料上训练这两组 Adapter 同时保持模型其他参数固定,英法、英中 Adapter 的训练过程彼此独立。两阶段完成后,在需要执行英语到中文的翻译任务时,模型会激活基础模型与英中 Adapter(此时英法Adapter不激活),完成高质量的英中翻译。

 

五、在多个量级的场景下都能提升多语言性能

 

作者首先在三个不同量级的数据集上进行了实验,分别是 小规模的 IWSLT 、中规模的 OPUS-100 和大规模的 WMT 。作者将 CIAT 和多语言机器翻译的强基线模型进行对比,其中包括基于知识蒸馏 (KD) [7]的方法和传统的串联式 Adapter (Serial Adapter) [6]。此外,作者还通过缩减 Adapter 的数量设计了两种模型变体,记作 CIAT-basic 和 CIAT-block 。

 

 

图7:在三个不同规模数据集上,CIAT 和基线模型的效果对比。柱状图绘制的是数据集内其他语向翻译到英语的 BLEU 算术平均值。

 

可以看到,在三种不同规模的数据集上,CIAT 都能稳定地提升多语言机器翻译的性能。在三个数据集共66个语向中,CIAT 在64个语向上超过了所有多语言基线模型,并在其中42个语向上取得了至少0.5个 BLEU 分数的领先。

 

六、对两种 Adapter 的详细讨论

 

作者还分别论述了两种 Adapter 如何减少多语言词嵌入缺陷和多语言扰动的影响。

 

对于 Embedding Adapter ,作者比较了增加 Embedding Adapter 前后,跨语言同义词间的 平均余弦词嵌入相似度 (Average Cosine Similarity) , 这个指标被常用来衡量模型能否准确地对齐同义词间信息。

 

图 8: OPUS 数据集上,CIAT 添加 Embedding Adapter 前后,跨语言同义词 ACS 的值

 

实验结果展示了在增加 Embedding Adapter 后,模型有效地拉进了跨语言同义词间距离,这一现象在英语翻译到其他语种时尤为显着。

 

对于Layer Adapter,作者则是通过 消融实验 分别去除编码器、解码器中连续的若干层 Adapter 来观察模型性能是否下降。

 

图9: 热图显示了从 CIAT 中直接去除连续的若干层 Adapter 导致的性能下降相对值。 x轴和y轴分别表示被移出的首层和末层的序号数。 例如 x=2,y=4 的格子就代指移除了第2,3,4层的 Layer Adapter 导致的性能下降相对值。

 

作者的消融实验有两个发现:

 

1. 比起编码器侧,解码器的 Layer Adapter 能更好地缓解多语言干扰;

 

2. 较层级的 Layer Adapter 对于缓解多语言干扰的贡献更大。

 

为了更好地说明 CIAT 对多语言翻译的提升,作者还采样了部分翻译例子。与其他模型相比,CIAT 的用词更加精准、句式更加接近人类的语言习惯:Multilingual Transformer 没有翻译成功 “residents of Bergle”,Serial Adapter 混淆了 “bewohner” 和 “einwohner”。这一系列的实验都说明了作者设计的两种 Adapter 能够较好地缓解论文提出的多语言机性能下降的两大问题。

 

图10: WMT数据集上的样例,mTransformer 代指 Multilingual Transformer

 

七、总结

 

今天介绍的 EMNLP Finding 论文研究多语言机器翻译问题。论文首先分析并指出了多语言机器翻译性能下降的两种原因:分别是 多语言词嵌入缺陷 和 多语言扰动 。在此基础上,作者利用 Adapter 技术,设计了 CIAT 架构来解决这两大问题。

 

实验表明,在引入极少量额外参数的情况下,CIAT 架构能够有效地缓解多语言词嵌入缺陷和扰动,并能有效提升多语言机器翻译的性能。

 

参考文献

 

[1] Johnson, Melvin, et al. “Google’s multilingual neural machine translation system: Enabling zero-shot translation.” Transactions of the Association for Computational Linguistics 5 (2017): 339-351.

 

[2] Aharoni, Roee, Melvin Johnson, and Orhan Firat. “Massively Multilingual Neural Machine Translation.” Proceedings of NAACL-HLT. 2019.

 

[3] Liu, Pengfei, Xipeng Qiu, and Xuan-Jing Huang. “Adversarial Multi-task Learning for Text Classification.” Proceedings of ACL. 2017.

 

[4] Rebuffi, Sylvestre-Alvise, Hakan Bilen, and Andrea Vedaldi. “Learning multiple visual domains with residual adapters.” Proceedings of NIPS. 2017.

 

[5] Vaswani, Ashish, et al. “Attention is all you need.” Proceedings of NIPS. 2017.

 

[6] Bapna, Ankur, and Orhan Firat. “Simple, Scalable Adaptation for Neural Machine Translation.” Proceedings of EMNLP-IJCNLP. 2019.

 

[7] Tan, X., Ren, Y., He, D., Qin, T., Zhao, Z., & Liu, T. Y. Multilingual Neural Machine Translation with Knowledge Distillation. Proceedings of ICLR. 2019.

 

Illustrastion   b y Marina Mogulskaya from  Icons8

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注