专栏首页AI科技评论XLM,基于BERT的跨语言模型

XLM,基于BERT的跨语言模型

这个模型在跨语言分类任务(15个语言的句子蕴含任务)上比其他模型取得了更好的效果,并且显著提升了有预训练的机器翻译效果。

原标题 | XLM — Enhancing BERT for Cross-lingual Language Model

作者 | Rani Horev

编辑 | Pita

注意力模型,尤其是BERT模型,已经在NLP领域分类和翻译任务上取得了极具前景的结果。Facebook AI在一篇新论文中提出了一个改良版的BERT模型XLM,在以上两个任务上均取得了SOTA结果。

XLM用了一个常见的预处理技术BPE(byte pair encoder字节对编码)以及BERT双语言训练机制来学习不同语言中词与词之间的关系。这个模型在跨语言分类任务(15个语言的句子蕴含任务)上比其他模型取得了更好的效果,并且显著提升了有预训练的机器翻译效果。

背景

XLM基于几个核心概念:

Transformers, Google在2017年提出的一种能够同时处理输入文本并且学到词语上下文联系的注意力机制。一个Transformer包含两部分:一个编码器读入文本输入并且生成每个词的向量表示,一个解码器将向量表示转换成翻译结果文本。更详细的Transformer回顾可以看这篇文章:https://jalammar.github.io/illustrated-transformer/。

普通的Transformer只考虑了每个单词有限的上下文(单词的前几个词),于是在2018年提出的BERT模型在此基础上更进了一步。BERT利用Transformer的编码器学习一个语言模型,通过遮住(舍弃)一些词再试着去预测这些词。这使得模型可以学习全篇内容,也就是被遮住词的前序和后续词。

因为在注意力模块中所有词都是同时处理的,所以模型还需要考虑额外的位置信息。模型网络通过给每个token加一个基于位置的固定值(例如正弦函数),可以成功学习到token间的联系,这一步叫位置编码。可以看这篇我们对BERT的总结:https://www.lyrn.ai/2018/11/07/explained-bert-state-of-the-art-language-model-for-nlp/。

2018年Lample et al.提出了将Transformer 和基于短语的统计机器翻译技术(PBSMT)相结合的模型。后者给出了不同语言中短语的概率表。这篇论文中另一个重要概念是反向翻译,也就是把句子翻译成目标语言句再翻回原句。这让我们可以用单一语言作为训练集,比有监督的双语言训练集量更大也更常见。Lample et al.得出的一个结论是token的初始化嵌入对于模型最终的成功来说至关重要,尤其对反向翻译来说。他在文中用了一个简单的词嵌入方法FastText,他们认为更有效的语言模型能够进一步提升他们的模型结果。

XLM模型工作原理

这篇论文提出了两个创新点:一个是用BERT训练多语言文本分类、另一个是用BERT初始化机器翻译模型。

BERT进行跨语言文本分类

尽管BERT的训练语料超过100种语言,它的模型本身并没有针对多语言进行优化——大多数词汇没有在语言间共享,因此能学到的跨语言知识是很有限的。针对这一点,XLM模型在以下方面修正了BERT:

首先,XLM的模型输入用了字节对编码(BPE)而不是用字符或词语。BPE把输入按所有语言中最常见的词片段(sub-words)进行切分,以此来增加跨语言共享的词汇。这是一个常见的预处理算法,关于BPE可以看这篇总结:https://www.lyrn.ai/2019/01/06/massively-multilingual-sentence-embeddings-for-zero-shot-transfer/#appendix-a-bpe。

其次,XLM以下面两个方式升级了BERT的模型结构:

  1. XLM的每个训练样本包含含义相同语言不同的两条句子,而不是像BERT中一条样本仅来自同一语言。BERT的目标是预测被遮住的token。XLM模型中,我们可以对每组句子,用一个语言的上下文信息去预测另一个语言被遮住的token。因为句子对中不同的随机词语会被遮住,模型可以利用翻译信息去预测token。
  2. 模型也接受语言ID和不同语言token的顺序信息,也就是位置编码。这些新的元数据能帮模型学习到不同语言的token间关系。

升级版的BERT模型被称作翻译语言模型(TLM),普通BERT模型+BPE输入被称作有掩码语言模型(MLM)。

完整的模型同时训练了MLM和TLM,并且在两者之间进行交替训练。

上图:类似BERT的单语言模型MLM, 和跨语言模型TLM进行对比。来源:XLM

为了评估模型效果,这篇论文在句子蕴含(句子对关系分类)任务上测试了模型。论文使用了XNLI数据集,数据集中句子来自15个语言。模型在所有配置上都比当下著名模型,比如Artetxe et al.和BERT效果要更好。配置包括模型仅在英语数据上训练其他数据预测(Zero-Shot零样本学习),其他语言翻英语(Translate-Train),英语翻其他语言(Translate-Test)。这些结果都取得了当前SOTA结果。

在不同的训练、测试集配置上对比模型和其他模型在XNLI数据集上的准确率。每一列代表一种语言。来源:XLM

用MLM初始化翻译模型

这篇论文提出了BERT的又一贡献,更确切的说是MLM模型:MLM可以作为更好的初始化技术,用来改进Lample et al. 的翻译模型。token初始化不用FastText,而改用MLM,结果再传到翻译模型中。

在编码和解码阶段均用该方法进行token初始化,翻译模型(使用Transformer的模型)的翻译质量提升了7 BLEU。具体见下表。

不同初始化方法的翻译结果。CLM表示因果语言模型(Causal Language Modeling),不用掩码技术,每一个词是基于前序词来预测的。来源:XLM

提示:这篇论文同时显示跨语言模型对于学习一个语料匮乏的小语种是非常有用的,通过BPE算法,他们可以利用其它语言的数据,尤其是相近语言。这个结论和Artetxe et al.的结论相似。(我们的总结可以看这里)

计算因素

BERT模型在PyTorch框架下的实现,以及预训练模型可以在此处找到:https://github.com/facebookresearch/XLM。我们使用Volta显卡训练,语言模型64卡,翻译任务8卡,训练时间并未指定。具体的实现细节可以在论文的5.1和5.2节中找到。

结论

正如近期许多研究所示,本文也展示了语言模型和迁移学习的强大功能,特别是BERT,能够在许多NLP任务上提高性能。通过简单高效的微调,BERT的性能可以超过其他跨语言分类模型,并显著改善翻译模型。 有趣的是,本文中使用的翻译模型和用于初始化的MLM模型都基于Transformer。可以推断在将来,我们应该能够看到更多这样的组合应用,比如,将新的Transformer-XL用于初始化。

相关参考内容与链接内容,请点击 阅读原文 访问查看。

via http://www.sunshinestatesarah.com/2010/10/bert-endorses-ernie.html#.XV5a1m_7SUk

封面图来源:http://straightfromthea.com/2011/08/12/sesame-street-officially-addresses-age-old-ernie-bert-gay-question/

本 期 译 者

代小岱

From BUPT

桥墩墩

From CMU

本文分享自微信公众号 - AI科技评论(aitechtalk),作者:雷锋字幕组

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 学界 | 谷歌最强 NLP 模型 BERT 解读

    AI 科技评论按:本文是追一科技潘晟锋基于谷歌论文为 AI 科技评论提供的解读稿件。

    AI科技评论
  • 学界 | 关于模型可解释性的深入思考:从哪里来,到哪里去?

    「学习出一个通用智能行动者的潜力和局限性,算法公平方面细微的以及可以被真正规范化的挑战,以及现在的热门话题:能向人类解释、能被人类理解对模型来说意味着什么?」

    AI科技评论
  • NLP领域预训练模型的现状及分析

    小牛翻译,核心成员来自东北大学自然语言处理实验室,由姚天顺教授创建于1980年,现由朱靖波教授、肖桐博士领导,长期从事计算语言学的相关研究工作,主要包括机器翻译...

    AI科技评论
  • 2019年在NLP领域,资源有限的个人/团队能做哪些有价值有希望的工作?

    https://www.zhihu.com/question/312388163/answer/600712686

    zenRRan
  • 后BERT时代:15个预训练模型对比分析与关键点探索(附链接)

    在之前写过的《NLP的游戏规则从此改写?从word2vec, ELMo到BERT》一文中,介绍了从word2vec到ELMo再到BERT的发展路径。而在BERT...

    数据派THU
  • 【NLP】Dive into BERT:语言模型与知识

    最近在看的主要是跟知识相关的一些东西,包括回顾了一些知识表示模型呀,一些大规模的语言模型如何锦上添花融入外部知识的方法呀,如果你感兴趣的话可以直接去之前几篇文章...

    zenRRan
  • NLP-BERT 谷歌自然语言处理模型:BERT-基于pytorch

    从现在的大趋势来看,使用某种模型预训练一个语言模型看起来是一种比较靠谱的方法。从之前AI2的 ELMo,到 OpenAI的fine-tune transfor...

    机器学习AI算法工程
  • R语言︱线性混合模型理论与案例探究(固定效应&随机效应)

    笔者认为一般统计模型中的横截面回归模型中大致可以分为两个方向:一个是交互效应方向(调节、中介效应)、一个是随机性方向(固定效应、随机效应)。

    素质
  • 教程 | 理解XGBoost机器学习模型的决策过程

    机器之心
  • Rasch模型是怎么来的?

    刚开始接触项目反应理论的时候,可能很多人会对各种模型的来源不清楚,云里雾里,很多书籍里面对这部分也并没有写的很详细。有的甚至直接给出一个模型告诉你这个模型就是长...

    二号姬

扫码关注云+社区

领取腾讯云代金券