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