Facebook AI:基于BERT优化的跨语言模型XLM

文章翻译自《XLM-Enhancing BERT for Cross-Lingual Language Model》[1]

在自然语言处理领域,基于注意力机制的语言模型,尤其是BERT,在文本分类和机器翻译两个任务上一次又一次刷新成绩。Facebook AI最近发表的一篇论文《Cross-Lingual Language Model Pretraining》[2],提出了基于BERT优化的跨语言模型XLM,该模型拿得了以上两个任务的SOTA。

XLM模型,基于BERT,通过众所周知的BPE预处理方法以及双向语言训练机制,来学习不同语言的单词之间的关系。在跨语言分类任务里,模型的表现不失所望地超越了以往其他模型;此外,在机器翻译任务里,XLM模型通过将预训练模型用于初始化翻译模型,显著地提升了翻译效果。


背景

XLM模型有以下几个关键的概念:

Transformer,2017年由Google提出用于机器翻译,采用注意力机制来处理整段文本输入,同时学习不同单词或子单词之间的上下文关系。Transformer包括Encoder和Decoder两部分:Encoder负责将输入文本转化成特征表示(譬如词向量);Decoder则负责通过前面的特征表示生成翻译内容。Transformer的深入分析可以参考博文《The Illustrsated Transformer》[3].

不过,在处理文本时Transfomer只能够利用有限的上下文信息:单词的上文,直到2018年谷歌推出了BERT模型,这一情况才有所改进。BERT模型,采用Transformer 的Encoder部分,通过随机掩盖部分单词然后预测被掩盖单词的方式MLM学习语言模型,该学习过程能够利用完整的上下文信息,包括被掩盖单词的上文和下文。

在注意力模块里,因为要并发处理所有Token,模型需要获取更多关于Toekn位置的信息。通过一种叫Position Encoding的步骤,用sin函数处理每个Token的位置信息,模型网络能够更好地学习到Token之间的关系。更多关于BERT的总结可以参考博文《BERT-State of the Art Language Model for NLP》[4]。

2018年,Lample等发表论文《Phrase-based & Neural Unsupervised Machine Translation》[5],提出一种由Transformer和Phrase-based概率模型PBSMT构成的翻译模型。其中,后者是由不同语言的短语对构成的概率表。论文里有一个很重要的概念:Back-Translation,先将句子翻译成目标语言,再翻译成原来句子的语言。Back-Translation方式允许用一种更通用、能容易收集到更大数据规模的语言语料做单语言数据集,用作双语言数据集的语言可以是不怎么通用、数据规模较小的语言,来进行监督学习。Lample等在论文中指出,对于机器翻译模型,特别是应用了Back-Translation,Token-Embedding的初始化处理非常重要。虽然在论文里作者只是用FastText来做Word Embedding,他们还是提出建议:使用更强大的语言模型能够更好地提升效果。


原理

论文[1]提出了两个创新点:一种新的训练机制,用于BERT的多语言分类任务;用BERT预训练模型初始化机器翻译模型。

跨语言模型BERT用于分类。

虽然BERT模型对超过100种语言进行训练,但作为跨语言模型BERT不是最佳的,不同语言之间大多数词汇并不是共享的,因此共享的知识是有限的。为了解决这个问题,XLM模型通过以下几种方式改进BERT:

首先,替换原来用单词或字符作为模型输入的方式,XLM模型采用一种Byte-Pair Encoding(BPE)编码方式,将文本输入切分成所有语言最通用的子单词,从而提升不同语言之间共享的词汇量。这是一种通用的预处理算法,其总结可以参考博文《Multilingual Sentence Embeddings for Zero-Shot Transfer - Applying a Single Model on 93 Languages》[6]。

其次,基于BERT架构,并做了两点升级:

XLM模型的每个训练样本由两段内容一样但语言不通的文本组成,而BERT模型的训练样本都是单一语言。BERT的目标是预测被掩盖单词,而XLM模型不仅仅如此,基于新架构,能够利用一个语言的上下文去预测另一种语言的Token,此外,每一种语言都会被随机掩盖单词。

XLM模型还会分别输入语言ID以及每一种语言的Token位置信息。这些新的元数据能够帮助模型更好地学习不同语言相关联Token之间的关系信息。

在论文[2]里,以上这种升级的BERT模型又叫翻译语言模型TLM,而基于BPE预处理方式的BERT则叫掩码语言模型MLM。

完整的XLM模型是通过MLM和TLM两种策略进行训练和交互。

单语言模型MLM和双语言模型TLM

作者用包含15种语言的XNLI数据集来评估模型在句对Entailment关系识别任务的效果,结果表明XLM模型显著超越了以往表现不错的模型,包括Zero-Shot模型和BERT模型。评估实验基于所有配置:Zero-Shot,只有英语的训练集和所有语言的测试集;Translate-Train,机器翻译成所有语言的训练集;Translate-Test,机器翻译成英语的训练集和测试集。所有的实验结果都是SOTA。

采用不同训练和测试配置模型在XNLI的结果对比,每一列代表一种语言

用预训练的MLM模型初始化翻译模型。

论文同样评估和对比了翻译模型的不同初始化策略,BERT结合改进后的MLM策略是一个更好的选择。基于预训练的MLM获得每个Token的初始化Embedding,然后输入到翻译模型,取代FastText的Embedding方式。

从下表可以看出,基于Transformer的翻译模型采用这些Embedding方式初始化Encoder和Decoder的Token,翻译质量最高能够提升7个BLEU。

基于不同初始化机制的翻译效果,CLM指因果语言模型,每个单词基于上文并且没用用Masking技术

Note:论文[2]还指出,基于跨语言数据集训练出来的语言模型,同样适用于语料资源少的语言,因为BPE预处理机制,模型能够从其他语言,特别是相似的语言,学习到语料资源少的语言的数据特性。该结论跟论文《Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond》[7]提到的其中一点很相似。


实现

模型是用PyTorch实现,源代码在Github[8],包括预训练模型。训练过程,64 Volta GPU用于语言模型任务,8 GPU用于翻译任务,但论文[2]并没有详细说明训练持续多长时间。更加精确的实现细节参考论文[2]的5.1和5.2章节。


总结

跟最近很多研究成果一样,论文[2]给我们展示了语言模型和迁移学习的强大能力,特别是BERT,能够在很多NLP任务提升效果。基于简单的BERT预训练模型再微调,比其他跨语言分类模型表现更好,同时能显著提升翻译模型效果。

有意思的是,论文[2]里提到的翻译模型以及用于初始化的MLM模型,都是基于Transformer,可以保守地说,未来我们可以看到更多类似这种的组合,譬如最新用于初始化的Transformer-XL。


相关链接

_________________

[1]《XLM-Enhancing BERT for Cross-Lingual Language Model》https://www.lyrn.ai/2019/02/11/xlm-cross-lingual-language-model/

[2]《Cross-Lingual Language Model Pretraining》https://arxiv.org/abs/1901.07291

[3]《The Illustrsated Transformer》https://jalammar.github.io/illustrated-transformer/

[4]《BERT-State of the Art Language Model for NLP》https://www.lyrn.ai/2018/11/07/explained-bert-state-of-the-art-language-model-for-nlp/

[5]《Phrase-based & Neural Unsupervised Machine Translation》https://arxiv.org/abs/1804.07755

[6]《Multilingual Sentence Embeddings for Zero-Shot Transfer - Applying a Single Model on 93 Languages》https://www.lyrn.ai/2019/01/06/massively-multilingual-sentence-embeddings-for-zero-shot-transfer/#appendix-a-bpe

[7]《Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond》https://arxiv.org/abs/1812.10464

[8]Github: https://github.com/facebookresearch/XLM


扫描二维码,关注公众号IchbinDerek

【自然语言处理】

NLP新秀:BERT的优雅解读

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容