殷达作者

Facebook AI Research的XLM模型:将BERT扩展成跨语言模型

近年来,预训练语言模型的出现极大地推动了自然语言处理领域的发展。相较于普通的词向量,诸如ELMo, GPT, BERT将上下文信息也编码到词向量以及文本向量中,从而收获了比普通词向量更强的表达能力,在一定程度上也减轻了在文本表示中词语歧义性、多义性所带来的问题。

而在今年年初,Facebook AI Research发布了他们的XLM模型,在原有的BERT模型上进行了预训练目标升级,成功地将BERT扩展成了跨语言模型,并在跨语言数据集上取得了很好的成果。

尽管原有的BERT模型可以在上百种语言上进行预训练,语言之间的信息并不是互通的,不同的语言模型之间没有共享知识。Facebook的XLM模型克服了信息不互通的难题,将不同语言放在一起采用新的训练目标进行训练,从而让模型能够掌握更多的跨语言信息。这种跨语言模型的一个显著优点是,对于预训练后的后续任务(比如文本分类或者翻译等任务),训练语料较为稀少的语言可以利用在其他语料上学习到的信息。

在数据预处理方面,Facebook使用了BPE(Byte Pair Encoding)对所有15种训练语言进行了切割。这对于在字母表上有很多重叠的语言,比如English-French和Nepali-Hindi,在alignment上有很大的提升效果。

为了减轻不同语言语料频率的不均衡给BPE带来的影响,训练样本从新的分布中进行采样。在下图中选取alpha=0.5,可以提高训练预料较少的语言出现的频率,这可以防止小语种在BPE的过程中直接被切割成单个字符。

在论文中,Facebook采用了三种语言模型

  • CLM(Casual Language Modeling)

  • MLM(Masked Language Modeling)

  • TLM(Translation Language Modeling)

其中最有成效的XLM是MLM与TLM的结合。

CLM

CLM的做法是直接使用Transformer来预测下一个词,是传统的语言模型的做法。

MLM

- MLM的做法和BERT基本一致:对于输入的语句,按一定概率(15%)遮住一些词,在模型的末尾预测这些被遮住的词。在这里,Facebook和Google的BERT做法的差别是,他们使用了任意数量的句子拼接,并取256个词阶段,而非BERT原本使用的两个句子。类似地,为了平衡高频词低频词之间的差异,在遮住词的时候采用了与上文所述的重采样类似的方法。

TLM

在TLM中,输入的是两个意思相同语言不同的句子(比如“I ate an apple”和“我吃了一个苹果”),用句子分隔符拼接起来,整体作为模型的输入。然后再按照一定概率遮住一些词,再去预测这些词。MLM的训练方法,可以让模型利用其上下文信息预测被遮住的词。而TLM则是让模型不仅能利用这句话本身的上下文信息,而且同时能利用不同语言的翻译的信息,来预测被遮住的词。这样,模型就可以将跨语言信息编码到表征向量中。在XLM中,TLM和MLM交替训练,其中MLM的部分每次输入的一个batch内只包含一种语言。

除此之外,在XLM模型中,对于原来BERT中使用的Transformer也进行了改动,以更好地适用在跨语言场景下。在表示词相对句子位置的Positional Embedding中,TLM对拼接后的句子进行了位置重置,也就是接在后面的翻译句子的词下标重新从0开始计数。另外,在Positional Embedding的基础上加入了Language Embedding,用来区分不同语言的输入。

模型细节

在模型的细节方面,XLM模型采用了具有1024 hidden units, 8-head的多层(文本分类12层,机器翻译6层)Transformer以及GELU激活层,词汇表大小是95k。同时XLM模型使用了16位浮点数压缩模型空间,加快训练速度。

预训练数据集

在预训练数据集上,Facebook使用了WikiExtractor得到的Wikipedia语料作为CLM和MLM的训练预料。对于TLM,Facebook使用了与MultiUN/IIT Bombay corpus/EUBookshop/OpenSubtitles等与英语有对照数据的数据集。其中,中文、日文和泰文使用了相对应的Tokenizer进行了切词。其他语言则统一使用Moses。

预训练效果

在预训练效果上,使用平行语料(意思相同语言不同的句子对),可以降低Perplexity指数。下图中,因为Nepali和Hindi之间字母表上有很大重叠,语言关系比较近,而跟英语之间则关系不大,所以引入英语对于Nepali带来的提升没有引入Hindi带来的提升多。

论文中选择了跨语言文本分类机器翻译作为预训练之后的下游任务。

跨语言文本分类

对于跨语言文本分类,论文采用模型的最后一层的第一个输出向量作为后续线性分类器的输入,在英语的训练预料上进行拟合,然后在所有15个语言上做测试。使用的数据集是XNLI(Cross-Lingual Natural Language Inference),其中Natural Language Inference的任务是判断两个来自相同语言的句子之间是否有Entailment, Contradict或者Natural的关系。XNLI数据集包含近40万条英语训练预料和上千条测试数据。

无监督机器翻译

对于无监督机器翻译,相比于之前的其他工作所用的预训练跨语言词向量,Facebook使用了完整的预训练编码器解码器作为后续训练的初始设定。

上图是模型在文本分类(XNLI数据集)上的表现。其中TRANSLATE-TRAIN是通过将所有的英语训练语料翻译成其他语言;TRANSLATE-TEST是将测试集翻译成英语。可以看到XLM模型相较于之前的模型有很显著的提升。

上图是模型在无监督机器翻译上的表现

上图是模型在监督机器翻译任务上的表现

在无监督和监督机器翻译任务上,MLM也表现出了很好的效果。

Facebook将从XLM中得到的跨语言词向量与之前的工作作比较,XLM的表现非常出色。

XLM模型的代码公开在https://github.com/facebookresearch/XLM .

原文 Lample, Guillaume, and Alexis Conneau. "Cross-lingual Language Model Pretraining." arXiv preprint arXiv:1901.07291(2019).

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
工程语言模型BERTFacebook AI Research(FAIR)
3
相关数据
重采样技术

重采样是指根据一类象元的信息内插出另一类象元信息的过程。在遥感中,重采样是从高分辨率遥感影像中提取出低分辨率影像的过程。常用的重采样方法有最邻近内插法(nearest neighbor interpolation)、双线性内插法(bilinear interpolation)和三次卷积法内插(cubic convolution interpolation)。

线性分类器技术

机器学习通过使用对象的特征来识别它所属的类(或组)来进行统计分类。线性分类器通过基于特征的线性组合的值进行分类决策。 对象的特征也称为特征值,通常在称为特征向量的向量中呈现给机器。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

ELMo技术

ELMO 是“Embedding from Language Models”的简称, ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。ELMO 采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的 Word Embedding 作为新特征补充到下游任务中。

推荐文章
暂无评论
暂无评论~