0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Multilingual多语言预训练语言模型的套路

深度学习自然语言处理 来源:圆圆的算法笔记 作者:圆圆的算法笔记 2022-05-05 15:23 次阅读

Multilingual是NLP中的研究热点之一,其中的一个研究方向是如何构建多语言预训练语言模型,实现不同语言的在隐空间的对齐,一个模型支持多语种的NLP任务,同时利用数据丰富的语言提升数据较少的语言效果。这篇文章就为大家整理了Multilingual多语言预训练语言模型的套路,包括XLM、XLM-R、ERNIE-M、Unicoder、ALM等5个经典模型,以及这些模型之间的演进关系。

1XLM:多语言预训练的起点

随着BERT、GPT预训练语言模型的兴起,这些方法也被自然而然的用在了多语言预训练任务上。通过在BERT、GPT等成熟的NLP模型结构上同时学习多个语言的语料,并设计多语言对齐任务,实现了Multilingual预训练语言模型,应用到下游各种语言的任务中。

Facebook在Crosslingual language model pretraining(NIPS 2019)一文中提出XLM预训练多语言模型,整体思路基于BERT,并提出了针对多语言预训练的3个优化任务。后续很多多语言预训练工作都建立在XLM的基础上,我们来详细看看XLM的整体训练过程。

首先,需要构造一个多语言的vocabulary list。XLM让所有语言共用同一个词表,利用Byte Pair Encoding (BPE)的方法从所有语言中采样文本构造词典。为了提升low-resource语言采样比例,缓解预训练模型偏向high-resource语言,在采样过程中会对各个语言采样比例做一定的矫正。通过多种语言共用一个BPE词表的方法,便于不同语言的token embedding在隐空间对齐,也能提取到不同语言共用的token。

模型预训练主要包括两个任务,分别是MLM和TLM。其中MLM和BERT中采用的方式类似,mask部分token进行预测。TLM是Translation Language Model,这个任务为了引入多语言的对齐关系,将两种语言的文本拼接到一起采用mask token的方式预测。这样在预测过程中,既可以根据本语言的信息预测,也可以根据另一种语言的信息预测。此外,XLM引入了language embedding,用来标明每个位置上的token属于哪个语言。XLM的两个预训练任务如下图所示。

04e82eea-cbbd-11ec-bce3-dac502259ad0.png

2XLM-R:更细致的XLM

Unsupervised cross-lingual representation learning at scale(ACL 2019)在XLM的基础上进一步分析了影响多语言预训练模型效果的因素,提出在100多种语言上预训练得到的XLM-R模型。下面列举了本文中的核心实验结论,揭示了不同的多语言训练方式对效果的影响。

图2显示了随着预训练过程引入语言种类的变化,low resource语言的效果先上升后下降。这是因为在模型capacity一定的情况下,引入多种语言一方面会让low resource语言获得可迁移的知识,另一方面过多的语言也稀释了模型的capacity,每种语言能够使用的capacity减少,导致效果下降。而high resource语言的效果随着引入语言数量的增加是持续下降的。图4显示,增加模型尺寸可以缓解多语言稀释capacity的问题(7种语言和30种语言效果对比),但是引入100种语言后即使增加模型尺寸效果仍然不佳。

图5展示了不同语言采样权重变化的效果影响,low resource和high resource语言之间存在一定的矛盾性,因此随着采样偏向于high resource语言,low resource语言的效果越来越差。图6则展示了词典尺寸大小对效果的影响,词典尺寸增大,对应embedding层尺寸增加,可以比较明显的提升多语言预训练模型效果。

051388ba-cbbd-11ec-bce3-dac502259ad0.png

基于以上这些实验的分析,作者提出了基于RoBerta的XLM-R,在100余种语言、2.5T的数据上预训练,取得了在XNLI数据集上相比基础版XLM模型15%的效果提升。相比于XLM,XLM-R最大的区别之一是没有使用TLM这个预训练任务,所有预训练数据都是单语言的,不包括两个语言对齐的数据。

3ERINE-M:回译的引入

ERNIE-M: Enhanced multilingual representation by aligning cross-lingual semantics with monolingual corpora(EMNLP 2019)基于XLM-R提出了ERNIE-M模型,主要是在MMLM、TLM两个任务以外,新引入了CAMLM(Cross-attention Masked Language Modeling)和BTMLM(Back-translation Masked Language Modeling)两个额外的任务。其中CAMLM任务和TLM任务类似,都是用翻译文本对作为输入,预测被mask的token,区别在于TLM在预测一个mask token时可以同时参考两种语言的所有信息,而CAMLM在预测source句子中被mask的token时,只能使用target句子的信息;在预测target句子中被mask的token时,只能使用source句子的信息。实现上做了一个mask的操作,强制让模型只能用另一种语言的context预测本语言的mask token,提升模型的多语言对齐能力。CAMLM和MMLM、TLM等任务的区别如下图所示。

0537bff0-cbbd-11ec-bce3-dac502259ad0.png

0551fa5a-cbbd-11ec-bce3-dac502259ad0.png

不论是TLM还是CAMLM,都需要使用parallel的句子,如果可用的parallel数据较少,就会影响对齐效果。因此,文中提出了第二个任务BTMLM,利用CAMLM学到的多语言之间的对齐关系,将回译任务融入到预训练中。核心思路是,使用CAMLM预训练好的模型,根据单语言语料生成另一种语言的伪数据,利用这个伪数据作为输入,构造parallel句子作为输入。BTMLM的示意图如下。第一步将单语言输入后面接mask,利用CAMLM预训练多语言模型生成mask部分的token,得到伪样本(即隐空间中当前样本在另一种样本下的翻译)。接下来,将伪样本作为输入,以MLM为目标,同时使用源句子和伪样本预测被mask掉的token。这种方式相当于一种数据增强手段,通过模型自动生成parallel数据,缓解了parallel数据不足的问题。

0580b502-cbbd-11ec-bce3-dac502259ad0.png

4Unicoder:多语言对齐任务的优化

Unicoder: A Universal Language Encoder by Pre-training with Multiple Crosslingual Tasks(ACL 2019)提出了多语言预训练模型Unicoder。在XLM中,模型的训练任务主要是单语言的,Unicoder提出了3种新的多语言对齐任务来提升预训练多语言模型效果。

第一个任务是Cross-lingual Word Recovery,输入是两种语言的语句pair对(X,Y),然后利用attention的方法将X用Y表示,再利用这些表示还原X。这其实类似于一个基于attention的翻译任务,实现了不同语言之间的word alignment。

第二个任务是Cross-lingual Paraphrase Classification,是一个分类任务。输入同样是两个语言的句子对,预测这两个句子是否表达的是同一个含义。数据集的构造方法上,正样本采用机器翻译数据集的数据构造正样本。为了构造hard负样本,即语义在一定程度上相似但不是互为翻译的文本对,作者采用了Effective Parallel Corpus Mining using Bilingual Sentence Embeddings(2018)提出的hard negatives构造方法。先使用随机采样的负样本构造简单负样本训练一个baseline模型,再利用这个模型计算当前样本和所有负样本相似度,取相似度最高且又不是正样本的负样本,作为hard negatives。

第三个任务是Cross-lingual Masked Language Model,将一些文档级别翻译较好的数据集的两种语言进行重组,得到多语言document,在这种多语言document上以Mask Language Model为优化目标训练。三种不同的预训练任务如下图所示。

05ae38ba-cbbd-11ec-bce3-dac502259ad0.png

5ALM:样本构造上的创新

Alternating Language Modeling for Cross-Lingual Pre-Training(AAAI 2020)提出一种新的多语言模型预训练方式。之前的做法如XLM都是将多语言文本对拼接到一起,而本文提出的ALM方法通过将源语言中的部分短语替换成另一种语言,生成了多语言交替的样本作为训练样本,以Transformer为基础在这种样本上进行Mask Language Model的学习。这种方法强制让每次预测被mask掉的单词时,都要参考其他语言的信息,进一步缩小了不同语言在隐空间的距离。

05ed04b4-cbbd-11ec-bce3-dac502259ad0.png

6总结

以上就是多语言预训练中5个经典模型的介绍。除了本文介绍的预训练语言模型外,对比学习、meta-learning等方法在Multilingual中也有很多应用。多语言任务还是非常重要的,尤其当今很多企业都展开国际化战略,拓展海外市场,多语言建模技术更成为不可缺少的能力。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语言模型
    +关注

    关注

    0

    文章

    435

    浏览量

    10047
  • 数据集
    +关注

    关注

    4

    文章

    1179

    浏览量

    24353
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21823

原文标题:Multilingual预训练的那些套路

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    盘点一下史上最全大语言模型训练中的网络技术

    人工智能的基础设施在大语言模型训练和推理过程中发挥了关键的作用。随着大语言模型规模不断增大,其对计算和通信的需求也在不断增加。高
    的头像 发表于 03-27 17:24 391次阅读
    盘点一下史上最全大<b class='flag-5'>语言</b><b class='flag-5'>模型</b><b class='flag-5'>训练</b>中的网络技术

    这个多语言包 怎么搜不到

    大家好,这个多语言包怎么搜不到 seven language lib 谁有离线包不 感谢分享,
    发表于 03-24 10:06

    语言模型(LLMs)如何处理多语言输入问题

    研究者们提出了一个框架来描述LLMs在处理多语言输入时的内部处理过程,并探讨了模型中是否存在特定于语言的神经元。
    发表于 03-07 14:44 147次阅读
    大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>(LLMs)如何处理<b class='flag-5'>多语言</b>输入问题

    语言模型中的语言与知识:一种神秘的分离现象

    自然语言处理领域存在着一个非常有趣的现象:在多语言模型中,不同的语言之间似乎存在着一种隐含的对齐关系。
    发表于 02-20 14:53 153次阅读
    大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>中的<b class='flag-5'>语言</b>与知识:一种神秘的分离现象

    美国国防部采办中的ChatGPT:高级语言模型的机遇和风险

    ChatGPT 是一种人工智能语言模型,是一种根据用户输入生成文本的计算机程序。虽然有许多语言模型,但 ChatGPT 因其能够准确生成类似人类的文本而在最近受到最多关注。
    的头像 发表于 12-05 15:10 494次阅读

    语言模型简介:基于大语言模型模型全家桶Amazon Bedrock

    本文基于亚马逊云科技推出的大语言模型与生成式AI的全家桶:Bedrock对大语言模型进行介绍。大语言模型
    的头像 发表于 12-04 15:51 408次阅读

    多语言开发的流程详解

    现在不少应用都是要求有多语言切换的, 使用QT开发上位机也同样需要做多语言功能, 不过QT是自带了多语言翻译功能, 可以很方便的借助原生工具进行, 下面就简单来看看多语言开发的流程!
    的头像 发表于 11-30 09:08 383次阅读

    S7-1500:设置CPU语言的步骤

    对于CPU上文本的多语言管理,必须使用CPU的多语言属性来选择项目中所需的语言。这是例如 ProDiag消息文本使用多种语言所必需的。
    的头像 发表于 11-16 16:13 412次阅读
    S7-1500:设置CPU<b class='flag-5'>语言</b>的步骤

    如何在TSMaster面板和工具箱中实现多语言切换

    TSMaster软件平台已经提供了多语言的支持,对于软件内部用户二次开发的模块如Panel和工具箱模块,TSMaster也提供了多语言的支持。这一特性让基于TSMaster开发的工程只需要制作
    的头像 发表于 11-11 08:21 328次阅读
    如何在TSMaster面板和工具箱中实现<b class='flag-5'>多语言</b>切换

    基于LLaMA的多语言数学推理大模型

    MathOctopus在多语言数学推理任务中,表现出了强大的性能。MathOctopus-7B 可以将LLmMA2-7B在MGSM不同语言上的平均表现从22.6%提升到40.0%。更进一步,MathOctopus-13B也获得了比ChatGPT更好的性能。
    发表于 11-08 10:37 219次阅读
    基于LLaMA的<b class='flag-5'>多语言</b>数学推理大<b class='flag-5'>模型</b>

    训练语言模型带来的硬件挑战

    生成式AI和大语言模型(LLM)正在以难以置信的方式吸引全世界的目光,本文简要介绍了大语言模型训练这些
    的头像 发表于 09-01 17:14 1117次阅读
    <b class='flag-5'>训练</b>大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>带来的硬件挑战

    蚂蚁集团开源高性能多语言序列化框架Fury解读

    Fury 是一个基于 JIT 动态编译和零拷贝的多语言序列化框架,支持 Java/Python/Golang/JavaScript/C++ 等语言,提供全自动的对象多语言 / 跨语言
    的头像 发表于 08-25 17:05 738次阅读
    蚂蚁集团开源高性能<b class='flag-5'>多语言</b>序列化框架Fury解读

    达观曹植大模型正式对外公测!专注于长文本、多语言、垂直化发展

    工程实践经验,已开发出具有长文本、多语言、垂直化三大特点的专用国产“曹植”大语言模型。7月伊始,达观正式对外发布“曹植”大语言模型应用公测版
    的头像 发表于 07-12 15:04 606次阅读
    达观曹植大<b class='flag-5'>模型</b>正式对外公测!专注于长文本、<b class='flag-5'>多语言</b>、垂直化发展

    HarmonyOS低代码开发-多语言支持及屏幕适配

    多语言支持:低代码页面支持多语言能力,让应用开发者无需开发多个不同语言的版本。开发者可以通过定义资源文件和引用资源两个步骤以使用多语言能力。 1.在指定的i18n文件夹内创建
    发表于 05-23 14:37

    语言模型多语言机器翻译能力分析

    以ChatGPT为代表的大语言模型(Large Language Models, LLM)在机器翻译(Machine Translation, MT)任务上展现出了惊人的潜力。
    的头像 发表于 05-17 09:56 1016次阅读
    大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的<b class='flag-5'>多语言</b>机器翻译能力分析