当前位置:   article > 正文

零样本迁移?全新多语言预训练模型DeltaLM!

deltalm

e30854f4aafc47ac5b92c3378af69473.png

作者 | 马树铭 MSRA 研究员 

整理 | DataFunSummit

目前,多语言神经机器翻译受到越来越多的研究人员的关注,多语言预训练模型对神经机器翻译可以起到非常重要的作用。预训练模型自身的跨语言迁移能力,可帮助机器翻译减少标注和训练成本,提高机器翻译的跨语言迁移能力。

我们提出了一个新的多语言预训练模型——DeltaLM,该模型基于Encoder-Decoder架构,最大限度继承了pretrained encoder的跨语言迁移能力,降低了训练成本。

DeltaLM采用了全新的架构,设计了全新的预训练任务。在多语言神经机器翻译中,提出了two-stage fine-tuning,对多语言预训练模型进行微调,减少对不同语言和位置的依赖,实现了跨语言翻译和零样本的迁移能力。

今天的介绍会围绕以下问题展开:针对一个机器翻译任务,如何设计一个好的预训练模型,有了一个好的预训练模型后,如何有效地运用到机器翻译任务中去。内容如下:

  • 机器翻译技术路线图回顾

  • 多语言神经机器翻译框架

  • 预训练模型(Pretrained Model): DeltaLM

  • 预训练模型(DeltLM)与多语言神经机器翻译(MNMT)

  • DeltaLM与神经机器翻译(NMT)零样本的跨语言迁移

  • 结论

01

机器翻译技术路线图回顾

19e44f4162f366d2659a4ec0b34f7599.png

统计机器翻译(SMT):需要大量的特征工程。

神经机器翻译(NMT):端到端模型,不需要特别多的特征工程,但是不同的翻译方向需要设计不同的模型,比如中文→英文,中文→日文都各自需要单独的模型。

多语言神经机器翻译(MNMT):受到越来越多研究人员的关注,特点是统一的模型支持多种语言之间的相互的翻译,具有以下优点:

  • 降低部署和训练成本,一个模型搞定多个语言之间的相互翻译;

  • 一个模型内部支持多语言之间互相迁移,比如高资源语言方向支持低资源语言的翻译。

02

多语言神经机器翻译框架

多语言神经机器翻译基于encoder-decoder框架。

a5b2780cf559bc4d87ed4234fb05d9ec.png

1. 训练(Training)

多语言神经机器翻译的训练语料具有如下特点:

  • 多语言句对语料的融合,作为一个统一的训练语料;

  • 不同语言翻译方向的语料规模不一样,有些比较多,比如中→英,有些比较少,比如中→印第语;

  • 处理训练数据时,需要制定采样标准,平衡不同语言方向的语料规模,通常样本和训练数据规模制定如下标准界定:

采样率:

2. 模型(Modeling)

多语言神经机器翻译框架有如下特点:

  • 一个统一的模型:所有的语言共享相同的参数,由encoder-decoder组成;Encoder对输入文本进行建模;Decoder生成输入文本所对应的翻译。

  • 跨语言迁移的能力:高资源语言帮助低资源语言。

  • 与传统神经机器翻译相比,多语言神经机器翻译的输入前需要预设语言标签,控制语言翻译的方向,如上图中最下方“I want to read a book.”的例子。

3. 预训练模型

通常,多语言机器翻译在正式翻译前面临两个问题:

  • 怎样获得更好的文本表示;

  • 怎样把多种不同语言的文本映射到同一个空间。

这两个问题可通过语言预训练模型实现。过去的语言预训练模型更多的关注自然语言的理解,我们最近针对语言文本的生成和翻译提出了一个新的语言预训练模型:DeltaLM。

03

预训练模型(Pretrained Model): DeltaLM

DeltaLM模型是基于encoder-decoder 框架的模型,由两部分组成:

  • 预训练的encoder:利用已有的预训练模型,比如XLM-R;

  • 加入一个decoder,作为pretrained encoder的额外的Task Layer。

4778547ed7c45e1732fe8e9e790e5d14.png

1. DeltaLM框架

DeltaLM主要通过以下步骤实现:

  • Encoder初始化;

  • 设定专门的预训练任务,对整个Encoder—Decoder模型预训练。    

① 为什么需要一个pretrained encoder,而不是一个随机初始化的encoder?

效率上的考虑:因为已有的pretrained encoder已在一个的大规模语料上进行了很长时间的无监督训练,具备了一定的文本理解能力。如果继续在这个基础上训练,能够加快模型收敛的过程,提升了转化速度,降低训练成本,比如DeltaLM训练一周就可以收敛。

有效性上的考虑:对文本生成和机器翻译而言,一个强壮的解码器非常重要,业内已有的工作和我们的实验证明了这点;pretrained encoder已具备了良好的跨语言间的迁移能力,多语言机器翻译利用这些多语言的pretrained encoder,可以继承这种能力,这点非常重要。

② 为什么需要一个单独的Decoder?

首先,一个单独的Decoder可以很大程度上解耦开Encoder和Decoder,因为在多语言机器翻译中,输入和输出不同的语言,共享同样的参数空间或者文本表示空间是非常困难的,解耦开Encoder和Decoder可以避免这种困难,也有利于后续的微调。

另外,拥有一个单独的Decoder,可以更加灵活的选择和设定Decoder架构。

拥有pretrained encoder和decoder后,我们可以通过encoder-decoder pre-training 任务将两者融合起来,得到一个好的预训练encoder-decoder模型。

2. 如何初始化解码器?

实际设计一个预训练模型,需要解决的问题之一是:如何初始化解码器(Decoder)?

初始化Encoder比较简单,因为网络架构相同,只是参数不同。但是解码器与编码器构造不同,初始化较为复杂,需要精细调整,以适应pretrained encoder。

另一个问题是:如何设定预训练任务实现Encoder-Decoder pretraining?

通常需要考量两个问题:首先,最大程度上保留pretrained encoder原有的能力;另外,要有效地融合已有的大量的双语语料数据,进一步增强预训练模型的效果。

关于初始化Decoder,我们提出了一个新的decoder,interleaved decoder。这个Decoder可以完全利用pretrained encoders的所有参数。

3356715c9860054854fba952348c124b.png

上图是我们的解码器和经典Vanilla解码器的对比。

经典的Vanilla解码器:

  • 有一个self-attn,一个cross-attn,一个FFN;

  • 初始化为pretrained encoder → self-attn + FFN,随机初始化cross-attn;

  • 它的缺点是架构与预训练的编码器不一致,可能无法继承encoder原有能力。

而我们的解码器有如下特点:

  • 每一个attention有一个FFN;

  • 交替初始化self-attn / cross-attn;

  • 完全利用了预训练encoder的所有参数,加快了训练进程,也可以利用pretrained encoder的跨语言迁移能力。

3. DeltaLM:预训练任务

我们设计了一个新的预训练任务,能够同时很好的利用大规模单语言文本和双语言文本。

d7ae43372a4ec4874803ac446f41e67a.png

为利用单语言文本,我们采用了与google同样的预训练任务——Span Corruption Tasks (T5)。该任务目的是重建输入单语言文本,输入含有mask片段的文本span,预测对应的masked的文本片段span,如上图中的第一个例子。

针对双语数据,我们采用了一个新的预训练任务:Translation Pair Span Corruption Task。将双语数据拼到一起,输入含有mask片段的文本,预测mask的文本片段,比如上图第二个例子。该任务可以很好的利用双语语料数据,找到不同语言之间的对应关系。

设计了预训练任务之后,我们可以训练初始化的encoder-decoder模型,得到一个很好的预训练模型。

04

预训练模型(DeltaLM)与多语言神经机器翻译(MNMT)

1. DeltaLM应用到MNMT

有了预训练模型之后,可以直接运用到多语言神经机器翻译上。对于MNMT,我们可以直接微调DeltaLM。

9662527411464b13240d081615f7212e.png

初始化Encoder,采用Span Corruption Task和Translation Pair Span Corruption Task对DeltaLM进行预训练,最后使用多个不同语言方向的双语数据对整个模型进行微调,就可以进行翻译任务了。

2. 使用DletaLM进行的机器翻译任务实验

① 实验:DeltaLM模型在多语言机器翻译中的应用

a4da4c2511284f0cca0cd1110eff4838.png

X→E:不同语言到英语的翻译;E→X:英语到不同语言的翻译

可以看到,DeltaLM基于11种语言的语料,微调后的 FB m2m支持101种语言。与已有的模型相比,我们的DeltaLM效果非常不错。

② DeltaLM模型的跨语言摘要任务

与mt5相比,仅给了30%参数的DeltaLM就可以达到类似的效果。

WikiLingua数据集

  • 输入:西班牙语/俄语/越南语/土耳其语文档

  • 输出:英语摘要

1050334e2a7320486ec1dfaeb43151c1.png

③ 实验:DeltaLM数据-文本的泛化能力

仅拥有360M的参数,DeltaLM超出了mt5 XL(3.7B)。

  • 输入:一系列的零散描述数据

  • 输出:输入数据的连贯性总结

f4b731bb9ef664fe5286a027670b530a.png

④ 实验:DeltaLM多语言的语言泛化能力

跨越不同的任务/语言,DeltaLM获得了持续的提升。

实验设置:

  • 问题的生成能力(XOG)

    输入:中文答案和相应的文档

    输出:对应的中文问题

  • 摘要总结(XGiga)

    输入:法语文档

    输出:法语摘要

11a1bb0ac05d58f90a652ccbcc324cbe.png

⑤ 实验:DeltaLM零样本的跨语言迁移能力

DeltaLM在零样本的跨语言迁移表现出色。与现有模型相比,使用较少的参数,DeltaLM就能达到同样的效果。

实验设置:

  • 摘要提炼能力(XGiga)

    训练:英语文档→英语总结

    测试:汉语文档→汉语总结;法语文档→法语总结

78d27ff0163297b0b6bf24652f5d74c2.png

05

多语言预训练模型与神经机器翻译(NMT)零样本的跨语言迁移

多语言预训练模型具备了很好的跨语言迁移能力,能否利用到神经机器翻译上?

设想:利用已训练好的多语言的预训练模型,实现零样本的神经机器翻译。

f70180dffd3af53d8328631f57b21a7f.png

上图展示了没有任何训练数据支持的情况下,直接翻译。

什么是零样本翻译?

  • 训练:一个语言对,比如德语→英语

  • 建模:统一的机器翻译模型,跨语言转换

  • 测试:零样本(Zero-shot),使用看没见过的语言,比如日语→英语

针对上述任务,我们提出了新的两阶段微调方法。

1. 零样本的两阶段微调(two-stage fine-tuning)方法

63539df8273e009e9aa0456090786254.png

第一阶段:

  • 固定编码器&嵌入解码器的参数

    - 最大程度的保留预训练模型自带的跨语言迁移能力

  • 微调解码器层

    - 在这基础上,我们会用训练数据集中的双语数据微调解码器层,使解码器适应pretrained

第二阶段:

  • 微调编码器层和解码器

    - 进一步fine-tuning,提升翻译质量。我们的大量实验发现这个策略最好。

  • 去掉self-attn残差连接

    - 使编码器输出与语言和位置无关,进一步阻断project embedding 对encoder输出的影响,提高整个模型的跨语言迁移能力。

两个阶段的切换时机:两阶段使用语料相同,第一阶段fine-tuning decoder layer模型收敛后,放开更多的参数,就可以进入第二阶段。

2. 实验细节和结果

① 实验:利用多语言预训练模型,实现零样本的跨语言机器翻译

数据集:

  • 在德语→英语平行数据集上训练

    - WMT19 43M平行语料

  • 在多语言→英语的语料上测试

    - 包括:德语组,拉丁语组,斯拉夫组,乌拉尔族,突厥语组(德语(De),荷兰语(NI),西班牙语(Es),罗马尼亚语(Ro),芬兰语(Fi),土耳其语(Tr),俄语(Ru),波兰语(PI))。

结果如下图:

7801ebb037bfa2f56df487aae6632383.png

以上可以得出结论:与已有模型相比,我们的预训练模型只要较少的数据,就可以达到不错的效果,不需要大规模的训练数据。

② 实验:语言相迁移能力与相关性

  • 使用不同的语言训练:德语(De),西班牙语(Es),印地语(Hi)

  • 在不同的语族上测试:德语族(De, NI),罗马语族(Es, Ro, It),印度雅利安族 (Hi, Ne, Si, Gu)。

afdf01ded1baa362f389ca167bc944b8.png

由上图数据可以得出结论:

  • 相似语言间比距离较远的语言之间,神经机器翻译(NMT)的迁移能力更强;

  • 一个语族中的一个语言可以帮助族中的其他语言,将来的机器翻译中,一个语族只要一个语言能实现富资源的语言的翻译,就可以实现整个族中的语言的翻译,减少标注和训练成本。

06

结论

预训练的语言模型有助于机器翻译,主要有两方面:

  • 对多语言神经机器翻译的有监督学习,可提高学习效果;

  • 提高机器翻译零样本的跨语言迁移能力,利用预训练模型自身的跨语言迁移能力,可帮助机器翻译减少标注和训练成本。

通过大量实验(支持100种语言)验证,我们提出的预训练模型DeltaLM有很好的跨语言迁移能力和文本生成能力,这些都能很大程度上改善机器翻译效果。

DeltalM模型有着与现有模型不同的架构,使用pretrained encoder,一个全新的decoder,充分继承encoder的跨语言迁移能力。并且采用了新的预训练任务来更好地利用双语数据。

在多语言神经机器翻译中,我们使用了DeltaLM模型,对其进行了微调,提出了two-stage fine-tuning,减少对不同语言和位置的依赖,实现了跨语言翻译和零样本的迁移能力。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

6d6646bdc9b3826d0a06fd61c1698469.png

END -

cb71eb8f5ea3813bff990d8a136e7b11.png

c395286261f518f5dd0965ccf55af687.png

阿里小蜜多模态知识图谱的构建及应用

2021-12-20

3aa10384c9812f265dcc75217add28cf.png

在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?

2021-12-18

1a8b714a54a2d6bba6c3de73ca5b78b1.png

EMNLP 2021 | 百度:多语言预训练模型ERNIE-M

2021-12-17

cf6a33d8194a96143b27c8a95a7ab3ed.png

浅谈 NLP 细粒度情感分析(ABSA)

2021-12-13

6c07ef4bbdc91d067b9866f0de0a83c4.png

5db005dbd95fd826b7d2a8200a7ee87c.gif

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号