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