BERT中使用transformer的encoder部分作為編碼器,base版和large版分別使用了12層和24層的transformer encoder。
2.2 MLM
在BERT中,提出了一種叫做MLM的真正的雙向語言模型。不像傳統(tǒng)語言模型那樣給定已經(jīng)出現(xiàn)過的詞,去預測下一個詞,只能學習單向特征,MLM是直接把整個句子的一部分詞(隨機選擇)遮掩?。╩asked),然后讓模型利用這些被遮住的詞的上下文信息去預測這些被遮住的詞。遮掩方法為:有80%的概率用”[mask]”標記來替換,有10%的概率用隨機采樣的一個單詞來替換,有10%的概率不做替換。
2.3 NSP
BERT另外一個創(chuàng)新是在雙向語言模型的基礎(chǔ)上增加了一個句子級別的連續(xù)性預測任務。這個任務的目標是預測兩個句子是否是連續(xù)的文本,在訓練的時候,輸入模型的第二個片段會以50%的概率從全部文本中隨機選取,剩下50%的概率選取第一個片段的后續(xù)的文本??紤]到很多NLP任務是句子關(guān)系判斷任務,單詞預測粒度的訓練到不了句子關(guān)系這個層級,增加這個任務有助于下游句子關(guān)系判斷任務。
三、Multilingual BERT
Multilingual BERT即多語言版本的BERT,其訓練數(shù)據(jù)選擇的語言是維基百科數(shù)量最多的前100種語言。每種語言(不包括用戶和talk頁面)的整個Wikipedia轉(zhuǎn)儲都用作每種語言的訓練數(shù)據(jù)。但是不同語言的數(shù)據(jù)量大小變化很大,經(jīng)過上千個epoch的迭代后模型可能會在低資源語種上出現(xiàn)過擬合。為了解決這個問題,采取在創(chuàng)建預訓練數(shù)據(jù)時對數(shù)據(jù)進行了指數(shù)平滑加權(quán)的方式,對高資源語言(如英語)將進行欠采樣,而低資源語言(如冰島語)進行過采樣。
Multilingual BERT采取wordpiece的分詞方式,共形成了110k的多語種詞匯表,不同語種的詞語數(shù)量同樣采取了類似于訓練數(shù)據(jù)的采樣方式。對于中文、日文這樣的字符之間沒有空格的數(shù)據(jù),采取在字符之間添加空格的方式之后進行wordpiece分詞。
在XNLI數(shù)據(jù)集(MultiNLI的一個版本,在該版本中,開發(fā)集和測試集由翻譯人員翻譯成15種語言,而訓練集的翻譯由機器翻譯進行)上Multilingual BERT達到了SOTA的效果。
上面實驗結(jié)果的前兩行是來自XNLI論文的基線,后面四行是使用Multilingual BERT得到的結(jié)果。mBERT-Translate Train是指將訓練集從英語翻譯成其它語種,所以訓練和測試都是用其它語種上進行的。mBERT-Translate Test是指XNLI測試集從其它語種翻譯成英語,所以訓練和測試都是用英語進行的。Zero Shot是指對mBERT通過英語數(shù)據(jù)集進行微調(diào),然后在其它語種的數(shù)據(jù)集中進行測試,整個過程中不涉及到翻譯。
四、XLM
XLM是Facebook提出的基于BERT進行優(yōu)化的跨語言模型。盡管Multilingual BERT在超過100種語言上進行預訓練,但它的模型本身并沒有針對多語種進行過多優(yōu)化,大多數(shù)詞匯沒有在不同語種間共享,因此能學到的跨語種知識比較有限。XLM在以下幾點對Multilingual BERT進行了優(yōu)化:
a. XLM的每個訓練樣本包含了來源于不同語種但意思相同的兩個句子,而BERT中一條樣本僅來自同一語言。BERT的目標是預測被masked的token,而XLM模型中可以用一個語言的上下文信息去預測另一個語言被masked的token。
b. 模型也接受語言ID和不同語言token的順序信息,也就是位置編碼。這些新的元數(shù)據(jù)能幫模型學習到不同語言的token間關(guān)系。
XLM中這種升級版的MLM模型被稱作TLM(Translation Language Model, 翻譯語言模型)。XLM在預訓練時同時訓練了MLM和TLM,并且在兩者之間進行交替訓練,這種訓練方式能夠更好的學習到不同語種的token之間的關(guān)聯(lián)關(guān)系。在跨語種分類任務(XNLI)上XLM比其他模型取得了更好的效果,并且顯著提升了有監(jiān)督和無監(jiān)督的機器翻譯效果。
五、XLMR
XLMR(XLM-RoBERTa)同是Facebook的研究成果,它融合了更多的語種更大的數(shù)據(jù)量(包括缺乏標簽的的低資源語言和未標記的數(shù)據(jù)集),改進了以前的多語言方法Multilingual BERT,進一步提升了跨語言理解的性能。同BERT一樣,XLMR使用transformer作為編碼器,預訓練任務為MLM。XLMR主要的優(yōu)化點有三個:
a. 在XLM和RoBERTa中使用的跨語言方法的基礎(chǔ)上,增加了語言數(shù)量和訓練集的規(guī)模,用超過2TB的已經(jīng)過處理的CommonCrawl 數(shù)據(jù)以自我監(jiān)督的方式訓練跨語言表示。這包括為低資源語言生成新的未標記語料庫,并將用于這些語言的訓練數(shù)據(jù)量擴大兩個數(shù)量級。下圖是用于XLM的Wiki語料庫和用于XLMR的CommonCrawl語料庫中出現(xiàn)的88種語言的數(shù)據(jù)量,可以看到CommonCrawl數(shù)據(jù)量更大,尤其是對于低資源語種。
b. 在fine-tuning階段,利用多語言模型的能力來使用多種語言的標記數(shù)據(jù),以改進下游任務的性能。使得模型能夠在跨語言基準測試中獲得state-of-the-art的結(jié)果。
c. 使用跨語言遷移來將模型擴展到更多的語言時限制了模型理解每種語言的能力,XLMR調(diào)整了模型的參數(shù)以抵消這種缺陷。XLMR的參數(shù)更改包括在訓練和詞匯構(gòu)建過程中對低資源語言進行上采樣,生成更大的共享詞匯表,以及將整體模型容量增加到5.5億參數(shù)。
XLMR在多個跨語言理解基準測試中取得了SOTA的效果,相較于Multilingual BERT,在XNLI數(shù)據(jù)集上的平均準確率提高了13.8%,在MLQA數(shù)據(jù)集上的平均F1得分提高了12.3%,在NER數(shù)據(jù)集上的平均F1得分提高了2.1%。XLMR在低資源語種上的提升更為明顯,相對于XLM,在XNLI數(shù)據(jù)集上,斯瓦希里語提升了11.8%,烏爾都語提升了9.2%。
六、百分點在實際業(yè)務數(shù)據(jù)上的實驗結(jié)果
先明確兩個概念,單語種任務:訓練集和測試集為相同語種,跨語種任務:訓練集和測試集為不同語種。
6.1 主題分類任務上效果
主題分類是判斷一段文本是屬于政治、軍事等10個類別中哪一個。實驗中分別使用XLMR和Multilingual BERT在1w的英語數(shù)據(jù)上進行訓練,然后在英語、法語、泰語各1萬的數(shù)據(jù)上進行測試??梢钥吹綗o論是單語種任務還是跨語種任務上,XLMR的效果都優(yōu)于Multilingual BERT,跨語種任務上的優(yōu)勢更明顯。
6.2 情感分類任務上的效果
情感分類任務是判斷一段文本所表達的情感是正面、負面或中立。實驗中分別對XLMR和BERT做了單語種任務的對比和跨語種任務的對比,可以看到在單語種任務中BERT和XLMR的效果差別不明顯,而在跨語種任務中XLMR明顯優(yōu)于Multilingual BERT。
6.3 NER任務上的效果
NER任務是抽取一段文本中實體,實體包括人名、地名、機構(gòu)名。在該實驗中,XLMR表現(xiàn)一般,不管是單語種任務還是跨語種任務上,效果比Multilingual BERT要略差一些。
七、內(nèi)容總結(jié)
Multilingual BERT使用特征抽取能力更強的transformer作為編碼器,通過MLM和NSP在超過100種語言上進行預訓練,但它的模型本身并沒有針對多語種進行過多優(yōu)化。而XLM對Multilingual BERT進行了優(yōu)化,主要是增加了TML預訓練任務,使模型能學習到多語種token之間的關(guān)聯(lián)關(guān)系。XLMR結(jié)合了XLM和RoBERTa的優(yōu)勢,采用了更大的訓練集,并且對低資源語種進行了優(yōu)化,在XNLI、NER CoNLL-2003、跨語種問答MLQA等任務上,效果均優(yōu)于Multilingual BERT,尤其是在Swahili、Urdu等低資源語種上效果提升顯著。
在百分點實際業(yè)務數(shù)據(jù)的測試中,目前已經(jīng)在英語、法語、阿語等常規(guī)語種上進行測試,無論是單語種任務還是跨語種任務,整體來看XLMR的效果要優(yōu)于Multilingual BERT。想要實現(xiàn)在一種語種上進行模型訓練,然后直接在另外一種語種上進行預測這樣的跨語種遷移,仍需要相關(guān)領(lǐng)域進一步深入的探索。
Google近期發(fā)布了一個用于測試模型跨語種性能的基準測試Xtreme,包括了對12種語言家族的40種語言進行句子分類、句子檢索、問答等9項任務。在Xtreme的實驗中,先進的多語言模型如XLMR在大多數(shù)現(xiàn)有的英語任務中已達到或接近人類的水平,但在其它語言尤其是非拉丁語言的表現(xiàn)上仍然存在巨大差距。這也表明,跨語言遷移的研究潛力很大。不過隨著Xtreme的發(fā)布,跨語種NLP的研究肯定也會加速,一些激動人心的模型也會不斷出現(xiàn),讓我們共同期待。
參考資料
[1] https://github.com/google-research/bert/blob/master/multilingual.md
[2] https://static.aminer.cn/misc/pdf/1911.02116.pdf
[3] https://www.lyrn.ai/2019/02/11/xlm-cross-lingual-language-model/
[4]https://arxiv.org/pdf/1410.3791v1
[5] https://github.com/google-research/xtreme