跨语言语言模型预训练

发布于:2025-03-27 ⋅ 阅读:(27) ⋅ 点赞:(0)

摘要

最近的研究表明,生成式预训练在英语自然语言理解任务中表现出较高的效率。在本研究中,我们将这一方法扩展到多种语言,并展示跨语言预训练的有效性。我们提出了两种学习跨语言语言模型(XLM)的方法:一种是仅依赖于单语数据的无监督方法,另一种是利用平行数据并结合新的跨语言语言模型目标的有监督方法。我们的方法在跨语言分类、无监督和有监督机器翻译任务上取得了最新的最优结果。在XNLI任务上,我们的方法将当前最优结果的准确率提升了4.9%(绝对提升)。在无监督机器翻译任务中,我们在WMT’16德语-英语任务上取得了34.3 BLEU分数,相较于之前的最优方法提升了9分以上。在有监督机器翻译任务中,我们在WMT’16罗马尼亚语-英语任务上取得了38.5 BLEU分数,相比之前的最佳方法提升了4分以上。我们的代码和预训练模型将公开发布。

1 引言

生成式预训练的句子编码器(Radford et al., 2018; Howard and Ruder, 2018; Devlin et al., 2018)在多个自然语言理解(NLU)基准测试中取得了显著的提升(Wang et al., 2018)。在这一框架下,Transformer(Vaswani et al., 2017)语言模型在大规模无监督文本语料上进行训练,并随后在自然语言理解任务(如分类(Socher et al., 2013)或自然语言推理(Bowman et al., 2015; Williams et al., 2017))上进行微调。尽管针对通用句子表示学习的研究兴趣正在上升,但这一领域的研究仍主要集中在单语任务上,特别是基于英语的基准测试(Conneau and Kiela, 2018; Wang et al., 2018)。最近,针对多种语言的跨语言句子表示学习和评估的研究(Conneau et al., 2018b)试图缓解英语中心化的问题,并表明可以构建通用的跨语言编码器,将任意句子编码到一个共享的嵌入空间中。

在本研究中,我们展示了跨语言语言模型预训练在多个跨语言理解(XLU)基准测试上的有效性。具体而言,我们的主要贡献如下:

  1. 我们引入了一种新的无监督方法,通过跨语言语言建模学习跨语言表示,并探讨了两种单语预训练目标。
  2. 我们提出了一种新的有监督学习目标,该目标在有平行数据时可提升跨语言预训练效果。
  3. 我们在跨语言分类、无监督机器翻译和有监督机器翻译任务上显著超越了此前的最优方法。
  4. 我们展示了跨语言语言模型在低资源语言的困惑度(perplexity)方面可以带来显著改进。
  5. 我们的代码和预训练模型将公开发布。

2 相关工作

本研究基于 Radford 等人(2018)、Howard 和 Ruder(2018)、Devlin 等人(2018)的工作,这些研究探索了用于预训练 Transformer 编码器的语言建模方法。这些方法在 GLUE 基准测试(Wang et al., 2018)中的多个分类任务上带来了显著提升。Ramachandran 等人(2016)表明,语言模型预训练同样可以在机器翻译任务上带来显著提升,即使对于英语-德语这样的高资源语言对,在已有大量平行数据的情况下仍然能取得改进。与此同时,BERT 仓库中的研究展示了使用跨语言语言建模方法进行跨语言分类的结果。我们将在第 5 节对比这些方法和我们的方法。

文本表示对齐的研究历史悠久,最早可追溯至词向量对齐。Mikolov 等人(2013a)利用小规模词典对不同语言的词表示进行对齐。随后的一系列研究表明,跨语言表示可以提升单语表示的质量(Faruqui 和 Dyer, 2014),正交变换足以对齐这些词分布(Xing et al., 2015),并且这些技术可扩展至任意数量的语言(Ammar et al., 2016)。在这一研究方向上,跨语言监督信号的需求逐步减少(Smith et al., 2017),直到完全去除(Conneau et al., 2018a)。本研究进一步推进了这些思路,不仅对齐句子分布,同时减少对平行数据的依赖。

关于跨语言句子表示对齐的研究已经十分广泛。Hermann 和 Blunsom(2014)、Conneau 等人(2018b)、Eriguchi 等人(2018)利用平行数据研究了零样本跨语言句子分类任务。然而,近年来最成功的跨语言编码器方法可能是 Johnson 等人(2017)提出的多语言机器翻译方法。他们展示了一个单一的序列到序列(seq2seq)模型可以用于多种语言对的机器翻译,通过共享 LSTM 编码器和解码器来实现。他们的多语言模型在低资源语言对上的表现超越了最优方法,并实现了零样本翻译。基于这一思路,Artetxe 和 Schwenk(2018)进一步表明,该模型的编码器可用于生成跨语言句子嵌入。他们的方法利用了超过 2 亿条平行句子,并在 XNLI 跨语言分类基准测试(Conneau et al., 2018b)上取得了最新的最优结果,通过在固定的句子表示之上训练分类器实现。然而,这些方法依赖于大量的平行数据,而近年来的无监督机器翻译研究表明,句子表示可以在完全无监督的情况下对齐(Lample 等人,2018a;Artetxe 等人,2018)。例如,Lample 等人(2018b)在 WMT’16 德语-英语任务上取得了 25.2 BLEU 分数,而未使用任何平行句子。类似于这些工作,我们展示了句子分布可以在完全无监督的情况下对齐,并证明我们的跨语言模型可用于多种自然语言理解任务,包括机器翻译。

与我们的研究最相似的工作可能是 Wada 和 Iwata(2018)提出的方法。他们使用来自不同语言的句子训练 LSTM(Hochreiter 和 Schmidhuber, 1997)语言模型,并共享 LSTM 参数,同时使用不同的查找表(lookup tables)来表示每种语言的词汇。他们主要关注单词表示的对齐,并展示了该方法在单词翻译任务上的有效性。

3 跨语言语言模型

本节介绍本研究中使用的三种语言建模目标,其中两种仅依赖单语数据(无监督方法),另一种需要平行句子(有监督方法)。我们考虑N 种语言,并假设我们拥有 N 个单语语料库,分别记作 C i ( i = 1 , . . . , N ) {Ci} (i=1, ..., N) Ci(i=1,...,N),其中 ni 代表 Ci 中的句子数量。

3.1 共享子词词汇表

在所有实验中,我们使用相同的共享词汇表对所有语言进行处理,该词汇表是通过字节对编码(BPE)(Sennrich et al., 2015)构建的。如 Lample 等人(2018a)所示,这种方法可以显著提升共享嵌入空间中不同语言的对齐效果,特别是对于共享相同字母表或锚定 token(如数字(Smith et al., 2017)或专有名词)的语言。我们在从单语语料库中随机抽取的句子拼接后训练 BPE 切分。

句子的采样遵循多项分布,其概率为概率为 { q i } i = 1 … N \{ q _ { i } \} _ { i = 1 \dots N } {qi}i=1N,其中:
q i = p i α ∑ j = 1 N p j α        w i t h        p i = n i ∑ k = 1 N n k . q _ { i } = \frac { p _ { i } ^ { \alpha } } { \sum _ { j = 1 } ^ { N } p _ { j } ^ { \alpha } } \; \; \; \mathrm { w i t h } \; \; \; p _ { i } = \frac { n _ { i } } { \sum _ { k = 1 } ^ { N } n _ { k } } . qi=j=1Npjαpiαwithpi=k=1Nnkni.
我们在实验中取 α = 0.5 α = 0.5 α=0.5。采用此分布进行采样可以增加低资源语言的 token 数量,并减少对高资源语言的偏倚,特别是防止低资源语言的单词被切分为字符级 token。

3.2 因果语言模型(CLM)

我们的因果语言模型(CLM)任务包括训练一个Transformer语言模型,以建模句子中给定前面单词情况下某个单词的概率 P ( w t ∣ w 1 , … , w t − 1 , θ ) P ( w _ { t } | w _ { 1 } , \dots , w _ { t - 1 } , \theta ) P(wtw1,,wt1,θ)。虽然循环神经网络在语言建模基准上取得了最新成果(Mikolov等人,2010;Jozefowicz等人,2016),但Transformer模型也非常有竞争力(Dai等人,2019)。在LSTM语言模型的情况下,通过时间的反向传播(Werbos,1990)(BPTT)是通过向LSTM提供前一次迭代的最后一个隐藏状态来执行的。在Transformer的情况下,可以将先前的隐藏状态传递给当前批次(Al-Rfou等人,2018),以为批次的第一个单词提供上下文。然而,这种技术无法扩展到跨语言设置,因此为了简化起见,我们只是让每个批次的第一个单词没有上下文。

3.3 掩码语言模型(MLM)

我们还考虑了Devlin等人(2018)提出的掩码语言模型(MLM)目标,也称为完形填空任务(Cloze task)(Taylor,1953)。按照Devlin等人(2018)的做法,我们从文本流中随机抽取15%的BPE标记,80%的时间将其替换为[MASK]标记,10%的时间替换为随机标记,剩下的10%时间保持不变。我们的方法与Devlin等人(2018)的MLM的不同之处包括使用任意数量句子的文本流(截断为256个标记),而不是句子对。为了抵消稀有和常见标记之间的不平衡(例如标点符号或停用词),我们还使用类似于Mikolov等人(2013b)的方法对频繁输出进行次采样:文本流中的标记根据多项式分布进行抽样,其权重与其逆频率的平方根成正比。我们的MLM目标如图1所示。

3.4 翻译语言模型(TLM)

CLM和MLM目标都是无监督的,只需要单语数据。然而,当有平行数据可用时,这些目标无法利用。我们引入了一种新的翻译语言模型(TLM)目标,以改进跨语言预训练。我们的TLM目标是MLM的扩展,在其中我们连接平行句子,如图1所示。我们在源语言和目标语言的句子中随机掩码单词。为了预测英语句子中被掩码的单词,模型可以关注周围的英语单词或法语翻译,鼓励模型对齐英语和法语表示。特别是,如果英语上下文不足以推断被掩码的英语单词,模型可以利用法语上下文。为了促进对齐,我们还重置了目标句子的位置信息。

3.5 跨语言语言模型

在这项工作中,我们考虑使用 CLM、MLM 或将 MLM 与 TLM 结合进行跨语言语言模型预训练。对于 CLM 和 MLM 目标,我们使用包含 256 个标记的连续句子流的 64 个批次进行模型训练。在每次迭代中,批次由来自同一语言的句子组成,该语言根据上述分布 { q i } i = 1 … N \{ q _ { i } \} _ { i = 1 \dots N } {qi}i=1N 进行抽样,其中 α = 0.7 α=0.7 α=0.7。当将 TLM 与 MLM 结合使用时,我们在这两个目标之间交替,并以类似的方法对语言对进行抽样。

4 跨语言语言模型预训练

在本节中,我们将解释如何利用跨语言语言模型来实现以下目标:

  • 为零样本跨语言分类任务中的句子编码器提供更好的初始化
  • 为有监督和无监督神经机器翻译系统提供更好的初始化
  • 为低资源语言构建语言模型
  • 获取无监督的跨语言词嵌入
    在这里插入图片描述

4.1 跨语言分类

我们预训练的XLM模型提供了通用的跨语言文本表示。类似于在英语分类任务上的单语语言模型微调(Radford等,2018;Devlin等,2018),我们在跨语言分类基准上对XLM进行微调。我们使用跨语言自然语言推理(XNLI)数据集来评估我们的方法。具体来说,我们在预训练Transformer的第一个隐藏状态之上添加一个线性分类器,并在英语NLI训练数据集上微调所有参数。然后,我们评估模型在15种XNLI语言中做出正确NLI预测的能力。根据Conneau等(2018b)的方法,我们还包含了训练和测试集的机器翻译基线。我们在表1中报告了结果。

4.2 无监督机器翻译

预训练是无监督神经机器翻译(UNMT)的关键要素(Lample等,2018a;Artetxe等,2018)。Lample等(2018b)表明,用于初始化查找表的预训练跨语言词嵌入的质量对无监督机器翻译模型的性能有显著影响。我们提出通过使用跨语言语言模型预训练整个编码器和解码器来进一步推动UNMT的迭代过程。我们探索了多种初始化方案,并评估了它们对多个标准机器翻译基准的影响,包括WMT’14英语-法语、WMT’16英语-德语和WMT’16英语-罗马尼亚语。结果如表2所示。

4.3 有监督机器翻译

我们还研究了跨语言语言模型预训练对有监督机器翻译的影响,并将Ramachandran等(2016)的方法扩展到多语言神经机器翻译(Johnson等,2017)。我们评估了CLM和MLM预训练对WMT’16罗马尼亚语-英语的影响,并在表3中展示了结果。

4.4 低资源语言建模

对于低资源语言,利用相似但资源更丰富的语言的数据通常是有益的,尤其是当它们共享大量词汇时。例如,尼泊尔语在维基百科上有大约10万条句子,而印地语则有大约6倍之多。这两种语言在共享的10万子词单元的BPE词汇中有超过80%的词汇是相同的。我们在表4中比较了尼泊尔语语言模型与使用不同组合的印地语和英语数据训练的跨语言语言模型在困惑度上的表现。

4.5 无监督跨语言词嵌入

Conneau等(2018a)展示了如何通过对抗训练(MUSE)对齐单语词嵌入空间来进行无监督词翻译。Lample等(2018a)表明,使用两种语言之间的共享词汇表,然后在其单语语料库的拼接上应用fastText(Bojanowski等,2017),也可以直接为共享相同字母表的语言提供高质量的跨语言词嵌入(Concat)。在本工作中,我们也使用共享词汇表,但我们的词嵌入是通过跨语言语言模型(XLM)的查找表获得的。在第5节中,我们在三种不同的指标上比较了这三种方法:余弦相似度、L2距离和跨语言词相似度。

5 实验与结果

在本节中,我们通过实验证明了跨语言语言模型预训练在多个基准上的强大影响,并将我们的方法与当前的最新技术进行了比较。

5.1 训练细节

在所有实验中,我们使用具有1024个隐藏单元、8个头、GELU激活函数(Hendrycks和Gimpel,2016)、0.1的dropout率和学习到的位置嵌入的Transformer架构。我们使用Adam优化器(Kingma和Ba,2014)、线性预热(Vaswani等,2017)和学习率从 1 0 − 4 10^{-4} 104 5 × 1 0 − 4 5×10^{-4} 5×104来训练我们的模型。

对于CLM(因果语言模型)和MLM(掩码语言模型)目标,我们使用256个token的流和大小为64的mini-batch。与Devlin等(2018)不同,mini-batch中的一个序列可以包含超过两个连续的句子,如第3.2节所述。对于TLM(翻译语言模型)目标,我们采样由长度相似的句子组成的4000个token的mini-batch。我们使用语言的平均困惑度作为训练的停止标准。对于机器翻译,我们仅使用6层,并创建2000个token的mini-batch。

在XNLI上进行微调时,我们使用大小为8或16的mini-batch,并将句子长度裁剪为256个单词。我们使用80k的BPE分割和95k的词汇表,并在XNLI语言的维基百科上训练一个12层模型。我们使用Adam优化器的学习率从 5 × 1 0 − 4 5×10^{-4} 5×104 2 × 1 0 − 4 2×10^{-4} 2×104进行采样,并使用20000个随机样本的小评估周期。我们使用Transformer最后一层的第一个隐藏状态作为随机初始化的最终线性分类器的输入,并微调所有参数。在我们的实验中,使用最后一层的最大池化或平均池化并没有比使用第一个隐藏状态效果更好。

我们在PyTorch(Paszke等,2017)中实现了所有模型,并在64个Volta GPU上训练语言建模任务,在8个GPU上训练机器翻译任务。我们使用float16操作来加速训练并减少模型的内存使用。

5.2 数据预处理

我们使用WikiExtractor2从维基百科转储中提取原始句子,并将其作为单语数据用于CLM和MLM目标。对于TLM目标,我们仅使用涉及英语的平行数据,类似于Conneau等(2018b)。具体来说,我们使用MultiUN(Ziemski等,2016)处理法语、西班牙语、俄语、阿拉伯语和中文,使用IIT Bombay语料库(Anoop等,2018)处理印地语。我们从OPUS 3网站Tiedemann(2012)中提取了以下语料库:EUbookshop语料库用于德语、希腊语和保加利亚语,OpenSubtitles 2018用于土耳其语、越南语和泰语,Tanzil用于乌尔都语和斯瓦希里语,GlobalVoices用于斯瓦希里语。对于中文、日文和泰文,我们分别使用Chang等(2008)的分词器、Kytea4分词器和PyThaiNLP5分词器。对于所有其他语言,我们使用Moses(Koehn等,2007)提供的分词器,必要时回退到默认的英语分词器。我们使用fastBPE6学习BPE编码并将单词分割为子词单元。BPE编码是从所有语言的句子样本的拼接中学习的,遵循第3.1节中介绍的方法。

在这里插入图片描述

5.3 结果与分析

在本节中,我们展示了跨语言语言模型预训练的有效性。我们的方法在跨语言分类、无监督和有监督机器翻译任务上显著优于之前的最先进方法。

跨语言分类

在表1中,我们评估了两种预训练的跨语言编码器:

  1. 仅使用单语语料库的MLM目标的无监督跨语言语言模型;
  2. 结合MLM和TLM损失并使用额外平行数据的有监督跨语言语言模型。

根据Conneau等(2018b)的方法,我们包含两个机器翻译基线:

  • TRANSLATE-TRAIN:将英语MultiNLI训练集机器翻译为每种XNLI语言;
  • TRANSLATE-TEST:将XNLI的每个开发和测试集翻译为英语。

我们报告了Conneau等(2018b)的XNLI基线、Devlin等(2018)的多语言BERT方法以及Artetxe和Schwenk(2018)的最新工作。

我们的完全无监督MLM方法在零样本跨语言分类上取得了新的最先进成果,并显著优于Artetxe和Schwenk(2018)使用2.23亿平行句子的有监督方法。具体来说,MLM的平均准确率为71.5%(∆),而他们的结果为70.2%。通过TLM目标(MLM+TLM)利用平行数据,我们获得了3.6%的准确率提升,将最先进水平进一步提高到75.1%。在斯瓦希里语和乌尔都语等低资源语言上,我们分别比之前的最先进方法高出6.2%和6.3%。结合TLM和MLM还将英语准确率从83.2%提升到85%,分别比Artetxe和Schwenk(2018)和Devlin等(2018)高出11.1%和3.6%。

当在每种XNLI语言的训练集上微调时(TRANSLATE-TRAIN),我们的有监督模型比零样本方法高出1.6%,达到了76.7%的平均准确率,创造了绝对的最先进水平。这一结果特别证明了我们方法的一致性,并表明XLM可以在任何语言上微调并表现出色。与多语言BERT(Devlin等,2018)类似,我们观察到TRANSLATE-TRAIN比TRANSLATE-TEST高出2.5%的平均准确率,而我们的零样本方法比TRANSLATE-TEST高出0.9%。

无监督机器翻译
在无监督机器翻译任务中,我们考虑了3种语言对:英语-法语、英语-德语和英语-罗马尼亚语。我们的设置与Lample等(2018b)相同,除了在初始化步骤中我们使用跨语言语言模型预训练整个模型,而不是仅预训练查找表。

对于编码器和解码器,我们考虑了不同的初始化方法:CLM预训练、MLM预训练或随机初始化,共9种设置。然后我们遵循Lample等(2018b)的方法,使用去噪自编码损失和在线反向翻译损失训练模型。结果如表2所示。我们将我们的方法与Lample等(2018b)的方法进行了比较。对于每种语言对,我们观察到相比之前的最先进方法有显著改进。我们重新实现了Lample等(2018b)的NMT方法(EMB),并获得了比他们论文中报道的更好的结果。我们预计这是由于我们的多GPU实现使用了更大的批次。在德语-英语任务中,我们的最佳模型比之前的无监督方法高出超过9.1 BLEU,如果仅考虑神经无监督方法,则高出13.3 BLEU。与仅预训练查找表(EMB)相比,使用MLM预训练编码器和解码器在德语-英语任务上带来了高达7 BLEU的显著改进。我们还观察到,MLM目标预训练始终优于CLM目标,例如在英语-法语任务中从30.4 BLEU提升到33.4 BLEU,在罗马尼亚语-英语任务中从28.0 BLEU提升到31.8 BLEU。这些结果与Devlin等(2018)的结果一致,他们观察到在NLU任务上,MLM目标相比CLM目标具有更好的泛化能力。我们还发现,编码器是预训练中最重要的部分:与同时预训练编码器和解码器相比,仅预训练解码器会导致性能显著下降,而仅预训练编码器对最终BLEU分数的影响较小。

在这里插入图片描述

在这里插入图片描述

有监督机器翻译
在表3中,我们报告了罗马尼亚语-英语WMT’16任务在不同有监督训练配置下的性能:

  • 单向(ro→en);
  • 双向(ro↔en,一个多NMT模型,同时在en→ro和ro→en上训练);
  • 双向加反向翻译(ro↔en + BT)。

具有反向翻译的模型使用与预训练语言模型相同的单语数据进行训练。与无监督设置类似,我们观察到预训练为每种配置带来了显著的BLEU分数提升,并且使用MLM目标预训练表现最佳。此外,尽管具有反向翻译的模型可以访问与预训练模型相同数量的单语数据,但它们在评估集上的泛化能力较差。我们的双向模型通过反向翻译训练获得了最佳性能,达到了38.5 BLEU,比Sennrich等(2016)基于反向翻译和集成模型的最先进方法高出超过4 BLEU。

低资源语言模型
在表4中,我们研究了跨语言语言建模对提高尼泊尔语语言模型困惑度的影响。为此,我们在维基百科上训练了一个尼泊尔语语言模型,并加入了来自英语或印地语的额外数据。尽管尼泊尔语和英语是差异较大的语言,但尼泊尔语和印地语较为相似,因为它们共享相同的梵文字母表并有共同的梵语起源。

当使用英语数据时,我们将尼泊尔语语言模型的困惑度降低了17.1点,从仅使用尼泊尔语数据的157.2降至使用英语数据后的140.1。使用来自印地语的额外数据时,困惑度降低幅度更大,达到了41.6。最后,通过同时利用英语和印地语的数据,我们将尼泊尔语的困惑度进一步降低至109.3。

跨语言语言建模带来的困惑度提升部分可以归因于跨语言共享的n-gram锚点,例如维基百科文章中的内容。因此,跨语言语言模型可以通过这些锚点将印地语或英语单语语料库提供的额外上下文转移到尼泊尔语语言模型中,从而提升其性能。
在这里插入图片描述

无监督跨语言词嵌入
MUSE、Concat和XLM(MLM)方法提供了具有不同特性的无监督跨语言词嵌入空间。在表5中,我们使用相同的词汇表研究了这三种方法,并计算了来自MUSE词典的词翻译对之间的余弦相似度和L2距离。我们还通过Camacho-Collados等(2017)的SemEval’17跨语言词相似度任务评估了余弦相似度度量的质量。我们观察到,XLM在跨语言词相似度上优于MUSE和Concat,达到了0.69的皮尔逊相关系数。

有趣的是,与MUSE或Concat相比,XLM跨语言词嵌入空间中的词翻译对也更接近。具体来说,MUSE的余弦相似度和L2距离分别为0.38和5.13,而XLM在相同指标上分别为0.55和2.64。需要注意的是,XLM嵌入的特殊性在于它们与句子编码器一起训练,这可能增强了这种接近性,而MUSE和Concat则基于fastText词嵌入。
在这里插入图片描述

6 结论

在本研究中,我们首次展示了跨语言语言模型(XLM)预训练的显著影响。我们研究了两种仅需单语语料库的无监督训练目标:因果语言建模(CLM)和掩码语言建模(MLM)。我们证明了CLM和MLM方法都能提供强大的跨语言特征,可用于预训练模型。在无监督机器翻译任务中,我们发现MLM预训练极为有效。我们在WMT’16德语-英语任务上达到了34.3 BLEU的最新最先进水平,比之前的最佳方法高出超过9 BLEU。同样,我们在有监督机器翻译任务中也取得了显著改进。我们在WMT’16罗马尼亚语-英语任务上达到了38.5 BLEU的最新最先进水平,相当于超过4 BLEU的提升。

我们还证明了跨语言语言模型可用于改善尼泊尔语语言模型的困惑度,并提供了无监督跨语言词嵌入。在没有使用任何平行句子的情况下,经过XNLI跨语言分类基准微调的跨语言语言模型已经比之前的有监督最先进方法平均高出1.3%的准确率。我们工作的一个关键贡献是翻译语言建模(TLM)目标,它通过利用平行数据改进了跨语言语言模型预训练。TLM自然地扩展了BERT的MLM方法,使用平行句子批次而非连续句子。通过结合MLM和TLM,我们获得了显著的性能提升,并证明这种有监督方法在XNLI任务上比之前的最先进方法平均高出4.9%的准确率。我们的代码和预训练模型将公开提供。