Multilingual是NLP中的研究熱點之一,其中的一個研究方向是如何構(gòu)建多語言預(yù)訓(xùn)練語言模型,實現(xiàn)不同語言的在隱空間的對齊,一個模型支持多語種的NLP任務(wù),同時利用數(shù)據(jù)豐富的語言提升數(shù)據(jù)較少的語言效果。這篇文章就為大家整理了Multilingual多語言預(yù)訓(xùn)練語言模型的套路,包括XLM、XLM-R、ERNIE-M、Unicoder、ALM等5個經(jīng)典模型,以及這些模型之間的演進關(guān)系。
1XLM:多語言預(yù)訓(xùn)練的起點
隨著BERT、GPT預(yù)訓(xùn)練語言模型的興起,這些方法也被自然而然的用在了多語言預(yù)訓(xùn)練任務(wù)上。通過在BERT、GPT等成熟的NLP模型結(jié)構(gòu)上同時學(xué)習(xí)多個語言的語料,并設(shè)計多語言對齊任務(wù),實現(xiàn)了Multilingual預(yù)訓(xùn)練語言模型,應(yīng)用到下游各種語言的任務(wù)中。
Facebook在Crosslingual language model pretraining(NIPS 2019)一文中提出XLM預(yù)訓(xùn)練多語言模型,整體思路基于BERT,并提出了針對多語言預(yù)訓(xùn)練的3個優(yōu)化任務(wù)。后續(xù)很多多語言預(yù)訓(xùn)練工作都建立在XLM的基礎(chǔ)上,我們來詳細(xì)看看XLM的整體訓(xùn)練過程。
首先,需要構(gòu)造一個多語言的vocabulary list。XLM讓所有語言共用同一個詞表,利用Byte Pair Encoding (BPE)的方法從所有語言中采樣文本構(gòu)造詞典。為了提升low-resource語言采樣比例,緩解預(yù)訓(xùn)練模型偏向high-resource語言,在采樣過程中會對各個語言采樣比例做一定的矯正。通過多種語言共用一個BPE詞表的方法,便于不同語言的token embedding在隱空間對齊,也能提取到不同語言共用的token。
模型預(yù)訓(xùn)練主要包括兩個任務(wù),分別是MLM和TLM。其中MLM和BERT中采用的方式類似,mask部分token進行預(yù)測。TLM是Translation Language Model,這個任務(wù)為了引入多語言的對齊關(guān)系,將兩種語言的文本拼接到一起采用mask token的方式預(yù)測。這樣在預(yù)測過程中,既可以根據(jù)本語言的信息預(yù)測,也可以根據(jù)另一種語言的信息預(yù)測。此外,XLM引入了language embedding,用來標(biāo)明每個位置上的token屬于哪個語言。XLM的兩個預(yù)訓(xùn)練任務(wù)如下圖所示。
2XLM-R:更細(xì)致的XLM
Unsupervised cross-lingual representation learning at scale(ACL 2019)在XLM的基礎(chǔ)上進一步分析了影響多語言預(yù)訓(xùn)練模型效果的因素,提出在100多種語言上預(yù)訓(xùn)練得到的XLM-R模型。下面列舉了本文中的核心實驗結(jié)論,揭示了不同的多語言訓(xùn)練方式對效果的影響。
圖2顯示了隨著預(yù)訓(xùn)練過程引入語言種類的變化,low resource語言的效果先上升后下降。這是因為在模型capacity一定的情況下,引入多種語言一方面會讓low resource語言獲得可遷移的知識,另一方面過多的語言也稀釋了模型的capacity,每種語言能夠使用的capacity減少,導(dǎo)致效果下降。而high resource語言的效果隨著引入語言數(shù)量的增加是持續(xù)下降的。圖4顯示,增加模型尺寸可以緩解多語言稀釋capacity的問題(7種語言和30種語言效果對比),但是引入100種語言后即使增加模型尺寸效果仍然不佳。
圖5展示了不同語言采樣權(quán)重變化的效果影響,low resource和high resource語言之間存在一定的矛盾性,因此隨著采樣偏向于high resource語言,low resource語言的效果越來越差。圖6則展示了詞典尺寸大小對效果的影響,詞典尺寸增大,對應(yīng)embedding層尺寸增加,可以比較明顯的提升多語言預(yù)訓(xùn)練模型效果。
基于以上這些實驗的分析,作者提出了基于RoBerta的XLM-R,在100余種語言、2.5T的數(shù)據(jù)上預(yù)訓(xùn)練,取得了在XNLI數(shù)據(jù)集上相比基礎(chǔ)版XLM模型15%的效果提升。相比于XLM,XLM-R最大的區(qū)別之一是沒有使用TLM這個預(yù)訓(xùn)練任務(wù),所有預(yù)訓(xùn)練數(shù)據(jù)都是單語言的,不包括兩個語言對齊的數(shù)據(jù)。
3ERINE-M:回譯的引入
ERNIE-M: Enhanced multilingual representation by aligning cross-lingual semantics with monolingual corpora(EMNLP 2019)基于XLM-R提出了ERNIE-M模型,主要是在MMLM、TLM兩個任務(wù)以外,新引入了CAMLM(Cross-attention Masked Language Modeling)和BTMLM(Back-translation Masked Language Modeling)兩個額外的任務(wù)。其中CAMLM任務(wù)和TLM任務(wù)類似,都是用翻譯文本對作為輸入,預(yù)測被mask的token,區(qū)別在于TLM在預(yù)測一個mask token時可以同時參考兩種語言的所有信息,而CAMLM在預(yù)測source句子中被mask的token時,只能使用target句子的信息;在預(yù)測target句子中被mask的token時,只能使用source句子的信息。實現(xiàn)上做了一個mask的操作,強制讓模型只能用另一種語言的context預(yù)測本語言的mask token,提升模型的多語言對齊能力。CAMLM和MMLM、TLM等任務(wù)的區(qū)別如下圖所示。
不論是TLM還是CAMLM,都需要使用parallel的句子,如果可用的parallel數(shù)據(jù)較少,就會影響對齊效果。因此,文中提出了第二個任務(wù)BTMLM,利用CAMLM學(xué)到的多語言之間的對齊關(guān)系,將回譯任務(wù)融入到預(yù)訓(xùn)練中。核心思路是,使用CAMLM預(yù)訓(xùn)練好的模型,根據(jù)單語言語料生成另一種語言的偽數(shù)據(jù),利用這個偽數(shù)據(jù)作為輸入,構(gòu)造parallel句子作為輸入。BTMLM的示意圖如下。第一步將單語言輸入后面接mask,利用CAMLM預(yù)訓(xùn)練多語言模型生成mask部分的token,得到偽樣本(即隱空間中當(dāng)前樣本在另一種樣本下的翻譯)。接下來,將偽樣本作為輸入,以MLM為目標(biāo),同時使用源句子和偽樣本預(yù)測被mask掉的token。這種方式相當(dāng)于一種數(shù)據(jù)增強手段,通過模型自動生成parallel數(shù)據(jù),緩解了parallel數(shù)據(jù)不足的問題。
4Unicoder:多語言對齊任務(wù)的優(yōu)化
Unicoder: A Universal Language Encoder by Pre-training with Multiple Crosslingual Tasks(ACL 2019)提出了多語言預(yù)訓(xùn)練模型Unicoder。在XLM中,模型的訓(xùn)練任務(wù)主要是單語言的,Unicoder提出了3種新的多語言對齊任務(wù)來提升預(yù)訓(xùn)練多語言模型效果。
第一個任務(wù)是Cross-lingual Word Recovery,輸入是兩種語言的語句pair對(X,Y),然后利用attention的方法將X用Y表示,再利用這些表示還原X。這其實類似于一個基于attention的翻譯任務(wù),實現(xiàn)了不同語言之間的word alignment。
第二個任務(wù)是Cross-lingual Paraphrase Classification,是一個分類任務(wù)。輸入同樣是兩個語言的句子對,預(yù)測這兩個句子是否表達的是同一個含義。數(shù)據(jù)集的構(gòu)造方法上,正樣本采用機器翻譯數(shù)據(jù)集的數(shù)據(jù)構(gòu)造正樣本。為了構(gòu)造hard負(fù)樣本,即語義在一定程度上相似但不是互為翻譯的文本對,作者采用了Effective Parallel Corpus Mining using Bilingual Sentence Embeddings(2018)提出的hard negatives構(gòu)造方法。先使用隨機采樣的負(fù)樣本構(gòu)造簡單負(fù)樣本訓(xùn)練一個baseline模型,再利用這個模型計算當(dāng)前樣本和所有負(fù)樣本相似度,取相似度最高且又不是正樣本的負(fù)樣本,作為hard negatives。
第三個任務(wù)是Cross-lingual Masked Language Model,將一些文檔級別翻譯較好的數(shù)據(jù)集的兩種語言進行重組,得到多語言document,在這種多語言document上以Mask Language Model為優(yōu)化目標(biāo)訓(xùn)練。三種不同的預(yù)訓(xùn)練任務(wù)如下圖所示。
5ALM:樣本構(gòu)造上的創(chuàng)新
Alternating Language Modeling for Cross-Lingual Pre-Training(AAAI 2020)提出一種新的多語言模型預(yù)訓(xùn)練方式。之前的做法如XLM都是將多語言文本對拼接到一起,而本文提出的ALM方法通過將源語言中的部分短語替換成另一種語言,生成了多語言交替的樣本作為訓(xùn)練樣本,以Transformer為基礎(chǔ)在這種樣本上進行Mask Language Model的學(xué)習(xí)。這種方法強制讓每次預(yù)測被mask掉的單詞時,都要參考其他語言的信息,進一步縮小了不同語言在隱空間的距離。
6總結(jié)
以上就是多語言預(yù)訓(xùn)練中5個經(jīng)典模型的介紹。除了本文介紹的預(yù)訓(xùn)練語言模型外,對比學(xué)習(xí)、meta-learning等方法在Multilingual中也有很多應(yīng)用。多語言任務(wù)還是非常重要的,尤其當(dāng)今很多企業(yè)都展開國際化戰(zhàn)略,拓展海外市場,多語言建模技術(shù)更成為不可缺少的能力。
審核編輯 :李倩
-
語言模型
+關(guān)注
關(guān)注
0文章
487瀏覽量
10201 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1197瀏覽量
24533 -
nlp
+關(guān)注
關(guān)注
1文章
481瀏覽量
21932
原文標(biāo)題:Multilingual預(yù)訓(xùn)練的那些套路
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論