作者 | 马树铭 MSRA 研究员

整理 | DataFunSummit

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

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

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

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

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

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

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

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

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

  • 结论

01

机器翻译技术路线图回顾

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

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

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

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

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

02

多语言神经机器翻译框架

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

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。

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的所有参数。

上图是我们的解码器和经典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:预训练任务

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

为利用单语言文本,我们采用了与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。

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

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

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

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

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

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

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

WikiLingua数据集

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

  • 输出:英语摘要

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

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

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

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

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

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

实验设置:

  • 问题的生成能力(XOG)

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

    输出:对应的中文问题

  • 摘要总结(XGiga)

    输入:法语文档

    输出:法语摘要

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

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

实验设置:

  • 摘要提炼能力(XGiga)

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

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

05

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

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

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

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

什么是零样本翻译?

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

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

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

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

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

第一阶段:

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

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

  • 微调解码器层

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

第二阶段:

  • 微调编码器层和解码器

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

  • 去掉self-attn残差连接

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

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

2. 实验细节和结果

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

数据集:

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

    - WMT19 43M平行语料

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

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

结果如下图:

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

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

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

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

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

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

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

06

结论

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

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

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

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

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

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

一起交流

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

END -

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

2021-12-20

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

2021-12-18

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

2021-12-17

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

2021-12-13

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

  1. Facebook增强版LASER开源:零样本迁移学习,支持93种语言

    来源| Facebook AI 研究院 译者 | Linstancy 责编 | 琥珀 出品 | AI 科技大本营(ID:rgznai100) [导语]为了加速自然语言处理 (NLP) 在更多语言上实现 ...

  2. Facebook 开源增强版 LASER 库:可实现 93 种语言的零样本迁移...

    雷锋网 AI 科技评论按:去年 12 月份,Facebook 在论文中提出了一种可学习 93 种语言的联合多语言句子表示的架构,该架构仅使用一个编码器,就可以在不做任何修改的情况下实现跨语言迁移,为自 ...

  3. Facebook 开源增强版 LASER 库:可实现 93 种语言的零样本迁移

    雷锋网 AI 科技评论按:去年 12 月份,Facebook 在论文中提出了一种可学习 93 种语言的联合多语言句子表示的架构,该架构仅使用一个编码器,就可以在不做任何修改的情况下实现跨语言迁移,为自 ...

  4. ERNIE-GeoL:“地理位置-语言”预训练模型

    本文介绍『文心大模型』的一项最新工作:"地理位置-语言"预训练模型 ERNIE-GeoL. 论文链接: https://arxiv.org/abs/2203.09127 实践中的观 ...

  5. 语言五子棋无ai程序框图_微软多语言预训练模型T-ULRv2登顶XTREME排行榜

    编者按:为进一步实现用 AI 赋能用户体验,微软正在不断拓展多语言模型的边界.近日,由微软图灵团队与微软亚洲研究院联合探索的最新跨语言研究成果--多语言预训练模型 T-ULRv2,登顶 XTREME ...

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

    作者 |‍ Chilia  ‍ 哥伦比亚大学 nlp搜索推荐 整理 | NewBeeNLP 2021年伊始,百度发布多语言预训练模型ERNIE-M,通过对96门语言的学习,使得一个模型能同时理解96种 ...

  7. 多语言预训练模型在机器翻译中的应用

    多语言预训练模型在机器翻译中的应用 机器翻译路线图:从统计机器翻译发展到多语言神经机器的翻译. 多语言神经机器的翻译: 训练: 多语言语言对的组合 根据数据大小抽样训练数据 模型构建: 一个统一的模型 ...

  8. 微软亚研提出VL-BERT:通用的视觉-语言预训练模型

    机器之心发布 作者:Weijie Su.Xizhou Zhu.Yue Cao.Bin Li.Lewei Lu.Furu Wei.Jifeng Dai 来自中科大.微软亚研院的研究者们提出了一种新型的通 ...

  9. NLP-预训练模型-2019:XLM-Roberta【一种多语言预训练模型】

    <原始论文:Unsupervised Cross-lingual Representation Learning at Scale> Facebook AI团队于2019年11月发布了XL ...

最新文章

  1. [原创]关于javax.servlet.ServletException: File [/loginController/getVerifCode.jsp] not found异常 解决方案
  2. iodine免费上网——本质就是利用dns tunnel建立tcp,然后tcp proxy来实现通过访问虚拟dns0网卡来访问你的dns 授权server...
  3. 使用gridlayout布局后,因某些原因又删除,并整理目录结构时,Unable to resolve target 'android-7'
  4. 有限元ansys/lsdyna学习笔记-组件component与组元part_02
  5. 建筑师 第一类斯特林数
  6. Windows下快速删除上万个文件和子目录
  7. 按条件增加列_12个公式解决Excel按条件多列求和,掌握两、三个就够用了
  8. IT行业培训必读:优秀程序员的十个习惯
  9. 编译原理(第3版)陈火旺——课后习题答案——第四章
  10. 莫烦python_莫烦python教学网站
  11. python时间控件readonly属性_Selenium2+python自动化25-js处理日历控件(修改readonly属性)转自-上海悠悠...
  12. 清除chrome浏览器缓存
  13. 简述四代计算机网络及特点,简述四代电子计算机及主要特点
  14. 超低功耗MCU的选择方法
  15. Kotlin高仿微信-第34篇-支付-向商家付款(二维码)
  16. 人工智能既预测世界杯冠军,还帮你“讨债”?
  17. Kafka SASL SCRAM动态授权实现方案Java版
  18. 锁定计算机后点鼠标屏幕无反应,电脑鼠标点桌面没反应怎么办
  19. 一级MS Office 复习资料
  20. PX4中的mavlink

热门文章

  1. 基于安卓AndroidStudio智慧医疗医院预约挂号app设计
  2. emoji表情导致输入框maxlength失效
  3. SQL 连接 JOIN 例解
  4. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(4)暴力破解HTML表单身份验证
  5. 【一听就懂的佛法故事】1.什么是禅
  6. iPad Pro用户别急 郭明錤:下代或能用上Face ID | 评论
  7. iOS使用AFNetwork下载总结
  8. STM32 - 影子寄存器
  9. 创业者要处理好的10大关系
  10. 代码随想录Day19 | LC235, 701, 450