圖1.transformer結(jié)構(gòu)

BERT中使用transformer的encoder部分作為編碼器,base版和large版分別使用了12層和24層的transformer encoder。

圖2. BERT結(jié)構(gòu)

2.2 MLM

在BERT中,提出了一種叫做MLM的真正的雙向語言模型。不像傳統(tǒng)語言模型那樣給定已經(jīng)出現(xiàn)過的詞,去預(yù)測下一個(gè)詞,只能學(xué)習(xí)單向特征,MLM是直接把整個(gè)句子的一部分詞(隨機(jī)選擇)遮掩?。╩asked),然后讓模型利用這些被遮住的詞的上下文信息去預(yù)測這些被遮住的詞。遮掩方法為:有80%的概率用”[mask]”標(biāo)記來替換,有10%的概率用隨機(jī)采樣的一個(gè)單詞來替換,有10%的概率不做替換。

2.3 NSP

BERT另外一個(gè)創(chuàng)新是在雙向語言模型的基礎(chǔ)上增加了一個(gè)句子級(jí)別的連續(xù)性預(yù)測任務(wù)。這個(gè)任務(wù)的目標(biāo)是預(yù)測兩個(gè)句子是否是連續(xù)的文本,在訓(xùn)練的時(shí)候,輸入模型的第二個(gè)片段會(huì)以50%的概率從全部文本中隨機(jī)選取,剩下50%的概率選取第一個(gè)片段的后續(xù)的文本??紤]到很多NLP任務(wù)是句子關(guān)系判斷任務(wù),單詞預(yù)測粒度的訓(xùn)練到不了句子關(guān)系這個(gè)層級(jí),增加這個(gè)任務(wù)有助于下游句子關(guān)系判斷任務(wù)。

三、Multilingual BERT

Multilingual BERT即多語言版本的BERT,其訓(xùn)練數(shù)據(jù)選擇的語言是維基百科數(shù)量最多的前100種語言。每種語言(不包括用戶和talk頁面)的整個(gè)Wikipedia轉(zhuǎn)儲(chǔ)都用作每種語言的訓(xùn)練數(shù)據(jù)。但是不同語言的數(shù)據(jù)量大小變化很大,經(jīng)過上千個(gè)epoch的迭代后模型可能會(huì)在低資源語種上出現(xiàn)過擬合。為了解決這個(gè)問題,采取在創(chuàng)建預(yù)訓(xùn)練數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)進(jìn)行了指數(shù)平滑加權(quán)的方式,對(duì)高資源語言(如英語)將進(jìn)行欠采樣,而低資源語言(如冰島語)進(jìn)行過采樣。

Multilingual BERT采取wordpiece的分詞方式,共形成了110k的多語種詞匯表,不同語種的詞語數(shù)量同樣采取了類似于訓(xùn)練數(shù)據(jù)的采樣方式。對(duì)于中文、日文這樣的字符之間沒有空格的數(shù)據(jù),采取在字符之間添加空格的方式之后進(jìn)行wordpiece分詞。

在XNLI數(shù)據(jù)集(MultiNLI的一個(gè)版本,在該版本中,開發(fā)集和測試集由翻譯人員翻譯成15種語言,而訓(xùn)練集的翻譯由機(jī)器翻譯進(jìn)行)上Multilingual BERT達(dá)到了SOTA的效果。

圖3. Multilingual BERT在XNLI上的效果

上面實(shí)驗(yàn)結(jié)果的前兩行是來自XNLI論文的基線,后面四行是使用Multilingual BERT得到的結(jié)果。mBERT-Translate Train是指將訓(xùn)練集從英語翻譯成其它語種,所以訓(xùn)練和測試都是用其它語種上進(jìn)行的。mBERT-Translate Test是指XNLI測試集從其它語種翻譯成英語,所以訓(xùn)練和測試都是用英語進(jìn)行的。Zero Shot是指對(duì)mBERT通過英語數(shù)據(jù)集進(jìn)行微調(diào),然后在其它語種的數(shù)據(jù)集中進(jìn)行測試,整個(gè)過程中不涉及到翻譯。

四、XLM

XLM是Facebook提出的基于BERT進(jìn)行優(yōu)化的跨語言模型。盡管Multilingual BERT在超過100種語言上進(jìn)行預(yù)訓(xùn)練,但它的模型本身并沒有針對(duì)多語種進(jìn)行過多優(yōu)化,大多數(shù)詞匯沒有在不同語種間共享,因此能學(xué)到的跨語種知識(shí)比較有限。XLM在以下幾點(diǎn)對(duì)Multilingual BERT進(jìn)行了優(yōu)化:

a. XLM的每個(gè)訓(xùn)練樣本包含了來源于不同語種但意思相同的兩個(gè)句子,而BERT中一條樣本僅來自同一語言。BERT的目標(biāo)是預(yù)測被masked的token,而XLM模型中可以用一個(gè)語言的上下文信息去預(yù)測另一個(gè)語言被masked的token。

b. 模型也接受語言ID和不同語言token的順序信息,也就是位置編碼。這些新的元數(shù)據(jù)能幫模型學(xué)習(xí)到不同語言的token間關(guān)系。

XLM中這種升級(jí)版的MLM模型被稱作TLM(Translation Language Model, 翻譯語言模型)。XLM在預(yù)訓(xùn)練時(shí)同時(shí)訓(xùn)練了MLM和TLM,并且在兩者之間進(jìn)行交替訓(xùn)練,這種訓(xùn)練方式能夠更好的學(xué)習(xí)到不同語種的token之間的關(guān)聯(lián)關(guān)系。在跨語種分類任務(wù)(XNLI)上XLM比其他模型取得了更好的效果,并且顯著提升了有監(jiān)督和無監(jiān)督的機(jī)器翻譯效果。

五、XLMR

XLMR(XLM-RoBERTa)同是Facebook的研究成果,它融合了更多的語種更大的數(shù)據(jù)量(包括缺乏標(biāo)簽的的低資源語言和未標(biāo)記的數(shù)據(jù)集),改進(jìn)了以前的多語言方法Multilingual BERT,進(jìn)一步提升了跨語言理解的性能。同BERT一樣,XLMR使用transformer作為編碼器,預(yù)訓(xùn)練任務(wù)為MLM。XLMR主要的優(yōu)化點(diǎn)有三個(gè):

a. 在XLM和RoBERTa中使用的跨語言方法的基礎(chǔ)上,增加了語言數(shù)量和訓(xùn)練集的規(guī)模,用超過2TB的已經(jīng)過處理的CommonCrawl 數(shù)據(jù)以自我監(jiān)督的方式訓(xùn)練跨語言表示。這包括為低資源語言生成新的未標(biāo)記語料庫,并將用于這些語言的訓(xùn)練數(shù)據(jù)量擴(kuò)大兩個(gè)數(shù)量級(jí)。下圖是用于XLM的Wiki語料庫和用于XLMR的CommonCrawl語料庫中出現(xiàn)的88種語言的數(shù)據(jù)量,可以看到CommonCrawl數(shù)據(jù)量更大,尤其是對(duì)于低資源語種。

圖4. XLMR和XLM的訓(xùn)練數(shù)據(jù)對(duì)比

b. 在fine-tuning階段,利用多語言模型的能力來使用多種語言的標(biāo)記數(shù)據(jù),以改進(jìn)下游任務(wù)的性能。使得模型能夠在跨語言基準(zhǔn)測試中獲得state-of-the-art的結(jié)果。

c. 使用跨語言遷移來將模型擴(kuò)展到更多的語言時(shí)限制了模型理解每種語言的能力,XLMR調(diào)整了模型的參數(shù)以抵消這種缺陷。XLMR的參數(shù)更改包括在訓(xùn)練和詞匯構(gòu)建過程中對(duì)低資源語言進(jìn)行上采樣,生成更大的共享詞匯表,以及將整體模型容量增加到5.5億參數(shù)。

XLMR在多個(gè)跨語言理解基準(zhǔn)測試中取得了SOTA的效果,相較于Multilingual BERT,在XNLI數(shù)據(jù)集上的平均準(zhǔn)確率提高了13.8%,在MLQA數(shù)據(jù)集上的平均F1得分提高了12.3%,在NER數(shù)據(jù)集上的平均F1得分提高了2.1%。XLMR在低資源語種上的提升更為明顯,相對(duì)于XLM,在XNLI數(shù)據(jù)集上,斯瓦希里語提升了11.8%,烏爾都語提升了9.2%。

六、百分點(diǎn)在實(shí)際業(yè)務(wù)數(shù)據(jù)上的實(shí)驗(yàn)結(jié)果

先明確兩個(gè)概念,單語種任務(wù):訓(xùn)練集和測試集為相同語種,跨語種任務(wù):訓(xùn)練集和測試集為不同語種。

6.1 主題分類任務(wù)上效果

主題分類是判斷一段文本是屬于政治、軍事等10個(gè)類別中哪一個(gè)。實(shí)驗(yàn)中分別使用XLMR和Multilingual BERT在1w的英語數(shù)據(jù)上進(jìn)行訓(xùn)練,然后在英語、法語、泰語各1萬的數(shù)據(jù)上進(jìn)行測試??梢钥吹綗o論是單語種任務(wù)還是跨語種任務(wù)上,XLMR的效果都優(yōu)于Multilingual BERT,跨語種任務(wù)上的優(yōu)勢更明顯。

6.2 情感分類任務(wù)上的效果

情感分類任務(wù)是判斷一段文本所表達(dá)的情感是正面、負(fù)面或中立。實(shí)驗(yàn)中分別對(duì)XLMR和BERT做了單語種任務(wù)的對(duì)比和跨語種任務(wù)的對(duì)比,可以看到在單語種任務(wù)中BERT和XLMR的效果差別不明顯,而在跨語種任務(wù)中XLMR明顯優(yōu)于Multilingual BERT。

6.3 NER任務(wù)上的效果

NER任務(wù)是抽取一段文本中實(shí)體,實(shí)體包括人名、地名、機(jī)構(gòu)名。在該實(shí)驗(yàn)中,XLMR表現(xiàn)一般,不管是單語種任務(wù)還是跨語種任務(wù)上,效果比Multilingual BERT要略差一些。

七、內(nèi)容總結(jié)

Multilingual BERT使用特征抽取能力更強(qiáng)的transformer作為編碼器,通過MLM和NSP在超過100種語言上進(jìn)行預(yù)訓(xùn)練,但它的模型本身并沒有針對(duì)多語種進(jìn)行過多優(yōu)化。而XLM對(duì)Multilingual BERT進(jìn)行了優(yōu)化,主要是增加了TML預(yù)訓(xùn)練任務(wù),使模型能學(xué)習(xí)到多語種token之間的關(guān)聯(lián)關(guān)系。XLMR結(jié)合了XLM和RoBERTa的優(yōu)勢,采用了更大的訓(xùn)練集,并且對(duì)低資源語種進(jìn)行了優(yōu)化,在XNLI、NER CoNLL-2003、跨語種問答MLQA等任務(wù)上,效果均優(yōu)于Multilingual BERT,尤其是在Swahili、Urdu等低資源語種上效果提升顯著。

在百分點(diǎn)實(shí)際業(yè)務(wù)數(shù)據(jù)的測試中,目前已經(jīng)在英語、法語、阿語等常規(guī)語種上進(jìn)行測試,無論是單語種任務(wù)還是跨語種任務(wù),整體來看XLMR的效果要優(yōu)于Multilingual BERT。想要實(shí)現(xiàn)在一種語種上進(jìn)行模型訓(xùn)練,然后直接在另外一種語種上進(jìn)行預(yù)測這樣的跨語種遷移,仍需要相關(guān)領(lǐng)域進(jìn)一步深入的探索。

Google近期發(fā)布了一個(gè)用于測試模型跨語種性能的基準(zhǔn)測試Xtreme,包括了對(duì)12種語言家族的40種語言進(jìn)行句子分類、句子檢索、問答等9項(xiàng)任務(wù)。在Xtreme的實(shí)驗(yàn)中,先進(jìn)的多語言模型如XLMR在大多數(shù)現(xiàn)有的英語任務(wù)中已達(dá)到或接近人類的水平,但在其它語言尤其是非拉丁語言的表現(xiàn)上仍然存在巨大差距。這也表明,跨語言遷移的研究潛力很大。不過隨著Xtreme的發(fā)布,跨語種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

分享到

xiesc

相關(guān)推薦