所有文章 > 正文

多语言预训练模型:TULRv2

作者: 清香白莲

时间: 2021-06-24 10:02

预训练是深度学习里面常用的技巧,无论是CV还是NLP任务,可以有效地减少训练时间,并且可以缓解缺少样本的难题。在NLP领域,预训练技术无疑是近几年最重要的技术进展,选择一个好的预训练模型,再在目标领域做fine…

论文名称:InfoXLM: An Information-Theoretic Framework for Cross-Lingual Language Model Pre-Training

论文链接:https://www.aminer.cn/pub/5f102c6491e01168a7d6fd97/

预训练是深度学习里面常用的技巧,无论是CV还是NLP任务,可以有效地减少训练时间,并且可以缓解缺少样本的难题。在NLP领域,预训练技术无疑是近几年最重要的技术进展,选择一个好的预训练模型,再在目标领域做fine tune几乎成了训练NLP深度学习模型的标准流程。
多言预训练模型在训练时利用了跨语言的信息,可以取得比但语言模型更好的效果,并且可以将你在某一个语言上fine tune出的目标任务很轻易地迁移到另一个语言上相同的任务上。因此多语言预训练模型在效果与功能上都有着更强的优势,本文将介绍微软开源的STOA的多语言预训练模型:TULRv2。
为何需要多语言模型
同一个概念或者逻辑关系在不同的语言中虽然有着各色各样的表述方式,但在语义空间中却存在共同表征方式。

这种共同的语义表征,使得不同语言之间可以相互强化各自语言模型,从而可以提升预训练的效果。并且由于模型的vocabulary包含了多种语言,使得同一任务可以在不同语言上做zero shot,例如,假如你在多语言预训练模型上用英语的QA Pair fine tune出了一个QA模型:
Model Input Question: How big is 400 square meters?
Model Output Answer: A square 20 meters long and 20 meters wide; or a rectangular area 40 meters long and 10 meters wide is 400 square meters. Intuitively, it is 1/3 the size of a standard swimming pool.
这个模型甚至不需要在中文语料上做任何的训练,就可以回答类似的问题:
Model Input Question: 400平方米是多大?
Model Output Answer: 长20米、宽20米的正方形;或者长40米,宽10米的长方形面积都是400平方米。直观一点的话,就是一个标准游泳池的1/3大小。这对在缺少训练语料的小语种上落地NLP项目非常重要。
1 TULRv2预训练方式
TULRv2即Turing Universal Language Representing v2在模型上并没有什么创新,采用的是经典的Transformer结构,使用的语料是开放语料。
模型:24层的Transformer,1024 hidden size。
语料:1. Monolingual:Wiki;2. Translation: Wikimatrix,约100M samples。
其创新之处主要在于训练方式。TULRv2的训练目标在于最大化不同语料不同粒度的互信息度,主要包括三个部分:MMLM、TLM与XLXO。
1.1 Multilingual Masked Language Modeling (MMLM)
MLM(Masked Language Modeling)的定义是用一句话中Mask掉的词 x₁的上下文 c₁预测Mask掉的词的概率分布。MMLM与MLM的区别之处仅仅是将模型的input扩展成支持多语言。

L_{MMLM}=L_{MLM}=-log\frac{exp(g_{\theta_T}(c_1)g_{\theta_E}(x_1))}{\sum_{x'\in\nu}{exp(g_{\theta_T}(c_1)g_{\theta_E}(x'))}}\\


MMLM/MLM的本质是被Mask掉的词与其上下文之间的互信息度的下确界。
1.2 Translation Language Modeling (TLM)
TLM也是预测被Mask掉的词的概率分布的,只是输入信息为包含多种语言的平行语料,也就是说用多种语言的上下文预测被Mask掉的词。

从信息论的角度,其相当于被Mask的词与多种语言的上下文之间的互信息度的下确界。假设 C1,C2是一对平行语料中的样本, x1是C1中被Mask掉的词,那么x1与 C1,C2的互信息度为

I(c_1,c_2;x_1)=I(c_1;x_1)+I(c_2;x_1|c_1)\\

1.3 Cross-Lingual Contrastive Learning (XLCO)
MMLM与TLM均是为了最大化词与句子之间的互信息度,而XLCO的目标是最大化平行语料对中的句子之间的互信息度。假设 C1,C2为平行语料中的一对样本,它们的互信息度为

I(c_1;c_2)\geq E_{q(N)}[log\frac{f_{\theta}(c_1,c_2)}{\sum_{c'\in N}{f_{\theta}(c_1,c')}}]+logN\\

f_\theta

是衡量c,c相似度的函数,可以用Transformer encoder g(c) 来实现

f_\theta(c_1,c_2)=exp(g_\theta(c_1)^Tg_\theta(c_2))\\


所以XLMO的目标函数可表述为

L_{XLCO}=-log\frac{exp(g_{\theta_Q}(c_1)g_{\theta_K}(c_2))}{\sum_{c'\in\nu}{exp(g_{\theta_Q}(c_1)g_{\theta_K}(c'))}}\\

2 训练
加上述三个目标函数相加,采用联合训练的方式训练

L=L_{MMLM}+L_{TLM}+L_{XLCO}\\

为了解决不同语料之间样本数量差异的问题,对训练样本进行了采样,采样的概率分布为

p_l \propto (n_l/n)^{0.7}

对于平行语料的选择由于存在多种组合方式,选择语料最丰富的英语作为pivot language,然后只选择包括英语的平行语料训练模型。
3 应用

下面是一个多语言QA任务的例子

在不同语言上的效果
QuestionAnswer¡Buenos días!¿Buenos días, ¿cómo está?Bom dia!Bom dia, como vai?Good morning!Good morning, how are you?总结
本文介绍了微软开源的STOA的多语言预训练模型TULRv2的原理与使用方式,其使用了24层的transformer在跨语言语料上以不同粒度的互信息度(MMLM、TLM与XLCO)为目标,使模型很好的地学到了跨语言迁移能力。在具体地NLP任务中不仅可以用它进行finetune以减少训练时间或节约训练样本,并且可以在缺少训练数据地语言上做zero shot。

二维码 扫码微信阅读
推荐阅读 更多