Facebook 提出一種新型BERT:面向跨語言理解的XLM-R

解讀者:劉傑鵬

論文標題:Unsupervised Cross-lingual Representation Learning at Scale

論文作者:Alexis Conneau、Kartikay Khandelwal 等(Facebook AI)

論文地址:

https://static.aminer.cn/misc/pdf/1911.02116.pdf

論文代碼:

https://github.com/pytorch/fairseq

摘要

本文的XLM-R(XLM-RoBERTa)證明了使用大規模多語言預訓練的模型可以顯著提高跨語言遷移任務的性能。XLM-R在技術上等同於XLM+RoBERTa,在數據上使用100種語言、2.5TB文本數(CommonCrawl項目爬取的)進行訓練。

戰績如下:

XLM-R在四個跨語言理解基準測試中取得了迄今爲止最好的結果。這4個任務包括了跨語言的分類、序列標註和問答

(1)在XNLI跨語言自然語言推理數據集上的平均準確率,高於多語言BERT(mBERT)13.8%,分別高出此前先進結果 Unicoder (Huang et al., 2019) 和 XLM (MLM+TLM) 4.7% 和 5%。

(2)在Facebook最近推出的[MLQA問題回答數據集](https://ai.facebook.com/blog/mlqa-evaluating-cross-lingual-extractive-question-answering/)上,XLM-R在平均F1得分和準確率上分別比mBERT高出12.3%和10.6%。XLM-R比此前最先進模型在F1上高出了8.4%。

(3)在NER數據集的平均F1得分上,XLM-R比此前最先進模型高出了2.1%。

(4)XLM-R模型在低資源數據上的表現如下:

  • 在XNLI的Swahili 上,XLM-R在準確率上比mBERT高出11.8%
  • 在XNLI的Urdu 上,XLM-R在準確率上比mBERT高出9.2%

此外,本文還對提升模型性能的關鍵因素進行了詳細的實證評估,主要包括:

  • 正向遷移和能力稀釋(capacity dilution)之間的權衡
  • 高資源語言和低資源語言在語料尺度上的權衡

最終,本文的XLM-R模型首次實現了在不犧牲每種語言性能的情況下進行多語言建模。

介紹

跨語言理解領域的早期工作已經證明多語言遮蔽語言模型(multilingual masked language models) 在跨語言理解方面的有效性,但是諸如XLM和multilingual BERT這樣的模型(都在Wikipedia上預訓練)在學習低資源語言的有用表徵方面仍然能力有限。

本文首先在規模上對多語言模型的利弊和侷限性進行了全面的分析。在實驗中我們衡量了高資源和低資源語言之間的權衡以及數據抽樣率和詞典大小的影響。實驗結果表明在固定模型參數下對語言數量的權衡:在一定程度上,更多的語言可以提高低資源語言的跨語言性能,超過這個臨近點後,在單語和跨語言基準測試上的整體性能將下降。這種現象稱爲"多語言詛咒"(curse of multilinguality)。通過簡單地增大模型,可以有效地緩解多語言詛咒。然而,我們認爲,這仍然是未來跨語言理解(XLU)系統的一個重要限制。

相比於 XLM 和 mBERT,XLM-R有以下幾個方面改進:

(1)在XLM和RoBERTa中使用的跨語言方法的基礎上(所以,方法上就是XLM+RoBERTa,沒有其他了),在新模型中增加了語種數量和訓練數據集的數量,具體來說使用超過2TB的已經預處理過的CommonCrawl數據集,以自監督的方式訓練跨語言表徵。這包括爲低資源語言生成新的未標記語料庫,並將用於這些語言的訓練數據量擴大2個數量級。

(2)在fine-tuning期間,基於多語言模型的能力來使用多語言的標註數據,以提升下游任務的性能。這使我們的模型能夠在跨語言基準測試中獲得state-of-the-art的結果,同時超過了單語言BERT模型在每種語言上的性能。

(3)調整了模型的參數,以抵消以下不利因素:使用跨語言遷移來將模型擴展到更多的語言時限制了模型理解每種語言的能力。我們的參數更改包括在訓練和詞彙構建過程中對低資源語言進行上採樣,生成更大的共享詞彙表,以及將整體模型增加到5.5億參數量。

模型和數據

Masked Language Models:

XLM-R的模型主體還是Transformer,訓練目標是多語種的MLM objective,基本和XLM一樣。我們從每個語種中採樣出文本,再預測出被masked掉的tokens。我們用帶有 unigram 語言模型的model Sentence Piece 對原始文本數據進行 Sentence Piece 。從各語種中採樣出batches的方法與XLM中相同,只是本文這裏的$\alpha=0.3$。另一個與XLM不同的是,本文不使用語言嵌入。本文的詞典大小是250k,訓練了兩個模型:$XLM-R_{Base}$ (L= 12, H = 768, A = 12, 270M params ) 和 $XLM-R$(L = 24, H = 1024, A = 16, 550M params)。更詳細的模型細節可以參考原始論文的附件B。

Scaling to a hundred languages:

XLM-R的預訓練是基於100種語言,Figure 1 展示了XLM-R和XLM-100相同的88種語言:

2701.jpg

Figure 1:Wiki-100語料(用以訓練XLM-100)和CC-100語料(用以訓練XLM-R)的數據量對比情況。其中二者有88個共用語種,CC-100的數據是高出Wiki-100幾個量級的,特別是在低資源語種上。

另外從Figure 1 也可以看出訓練數據集的規模也大幅度擴增了。

評測

評測過程使用以下4個benchmarks:

(1)Cross-lingual Natural Language Inference(XNLI)

(2)Named Entity Recognition

(3)Cross-lingual Question Answering

(4)GLUE Benchmark

結果與分析

1.多語言Masked Language Models

過往的跨語言模型如mBERT和XLM都是集中分析固定預訓練模型在下游任務中的性能。本文這裏分析大規模多語種預訓練模型的重要影響因素。

Transfer-dilutio之間的權衡和多語言詛咒:

對於一個固定大小的模型,即模型參數量固定,隨着參與訓練的語種數量的增加,模型在每個語種上的性能表現會下降。雖然低資源語言的性能可以通過在預訓練中添加類似的高資源語言來提高,但是總體下游性能受到這種“能力稀釋”(capacity dilution)的影響。正向遷移和能力稀釋之間需要做一個權衡。Figure 2 中展示了語種數量和模型能力稀釋之間的實驗結果。

2702.jpg

Figure 2:遷移能力的權衡:低資源語種從擴增的多語種中受益,直到”稀釋”開始起作用並降低整體性能

當語種數量在7~15種時,模型確實能夠從多個語種中收益,即遷移能力是正向的。這種收益對於低資源語種更爲顯著。超過這一點,多語言的詛咒就開始了,並降低了所有語言的性能。特別地,對比從XLM-7到XLM-100的模型,XNLI整體準確性從71.8%下降到67.7%。這種趨勢在更大的 CommonCrawl 語料上也是一樣的。

上述的情況在模型小的時候會愈加突出。在Wikipedia Data上依次訓練 730 和 100 個語種。隨着語種數量的增加,我們將Transformer的隱層維度分別從768、960擴大到1152。Figure 3 可以看出擴大模型使得XLM-30 差不多與XLM-7不分伯仲,如此看來通過擴大模型似乎是可以解決多模型詛咒問題的。但是我們再來看XLM-100,即使擴大模型也難以拯救其頹勢。其能力稀釋更可能源於詞典的稀釋,在Wikipedia中我們使用的固定詞典大小是150k。

2703.png

Figure 3:擴大模型容量緩解多語言詛咒

High-resource/Low-resource上採樣率的權衡:

跨語言模型由幾個參數控制:

(1)訓練集大小

(2)共享的subword 詞典大小

(3)對每個語種訓練集的採樣率

我們這裏探討高資源語種(English 和 French)、 低資源語種(Swahili 和 Swahili)的採樣率對於XLM-100(在Wikipedia上預訓練)的影響。(PS:我們在構建 subword 詞典上也觀測到類似的趨勢。)

採樣率的影響結果見於 Figure 4:

2704.png

Figure 4 :關於高資源與低資源的權衡:語種數據採樣率對於XLM-100的影響

可以看出,對於高資源的語種,採樣率越高,結果性能越高,而低資源語種則是一定程度上採樣率越低,結果性能越好。爲了兼顧整體性能,最終選擇採樣率值爲0.3。即對於XLM-R,選用的採樣率也是0.3。

模型大小和詞典大小的重要性:

XLM-100(在Wikipedia上預訓練)使用不同的共享詞典,從Figure 5 可以看出,擴增共享詞典確實可以提升性能。

2705.png

Figure 5:對於XLM-100固定模型容量時,增加詞典大小的影響

固定模型大小下,當詞典從32k變大到256k時,XNLI的平均準確率上升了2.8%。這表明多語言模型,可以從分配較高比例參數的嵌入層中獲益(詞典變大,在模型大小固定的前提下,則嵌入層也變大,獲得更多的參數),即使這會縮小Transformer的大小。爲了簡單起見和算力上的考慮,本文這裏對於XLM-R統一採用250k大小的詞典。

用大規模數據集進行訓練的重要性:

Figure 6 展示了同一個BERT_{base}模型在CC語料上的訓練結果能夠全面超過基於Wikipedia的模型。

2706.png

Figure 6:Wikipedia和CommonCrawl的對比:XLM-7在CC語料上訓練能夠取得更好的性能,特別是對於低資源語種

另外,更大規模的訓練也可以提升性能,在Figure 7 可以看出增大batch size帶來的性能提升。

2707.jpg

Figure 7:大規模訓練的影響,在原始數據上BPE和SPM tokenization的影響

從Figure 7中可以看出Sentence Piece model(SMP)並沒有明顯遜色於BPE,爲簡單起見,本文選用SMP進行multilingual tokenization。

2.跨語言理解的實驗結果

XNLI:

Table 1 展示了在 XNLI 上進行跨語言分類的實驗結果:

2708.jpg

Table 1:跨語言分類結果。這裏記錄了15種XNLI語言分類的準確性和平均準確性。其中 D 列表示用於預訓練的數據,模型數量記爲#M,語種數量記爲#lg。XLM-R的結果是5個seed的平均值。可以看出,使用多語種訓練集的translate-train-all方法後,XLM-R以82%的平均準確率取得了當下的SOTA。該結果也超出此前的跨語言遷移模型。

NER:

XLM-R 和 mBERT 在CoNLL-2002和CoNLL-2003數據集上的實驗結果如 Table 2 所示:

2709.jpg

Table 2:在NER數據集CoNLL-2002 andCoNLL-2003上的實驗結果(F1值爲指標)

問答:

MLQA跨語言問答benchmark的實驗結果如 Table 3 所示:

2710.jpg

Table 3:在MLQA問答數據集上的結果,該數據集以F1和 EM(精準匹配)得分爲指標

3.多語言 Vs 單語種

GLUE:XLM-R versus RoBERTa

Table 4 展示了 XLM-R、BERT 和 RoBERTa 在GLUE上的實驗結果:

2711.jpg

Table 4:GLUE dev 數據集的實驗結果。同時將XLM-R與Bert_large、XLNet和Roberta在英文GLUE基準上進行比較

可以看出,XLM-R超出BERT_{large}1.3%,達到接近XLNet_{large}的性能。此時的XLM-R僅遜色於RoBERTa 1.3%。在未來有希望通過緩解多語言詛咒和模型能力稀釋從而進一步縮減二者差距。這些結果證明使用從多個語種中學習到的單一模型依舊可以對每個語種的下游任務保持較強的性能結果。

XNLI: XLM versus BERT

多語言模型常常招致的一個批評是其性能低於同行的單語種模型。本文這裏的實驗結果確實令人刮目,竟然可以超越單語種BERT。具體對比結果參見 Table 5:

2712.jpg

Table 5:多語種 Vs. 單語種模型。在7個語種上,對比了單語種模型BERT-BASE和多語種模型XLM。單語種和多語種分別選用40k和150k大小的詞典。

如果單從跨語種遷移上來看的話,單語種的BERT確實超過XLM-7,具體體現在Wikipedia 和 CC數據集的平均準確率上分別超出1.6% 和 1.3%。但是如果充分利用多語種訓練(translate-train-all)和多語種訓練集,XLM-7是可以反超BERT。在CC數據集上,XLM-7在7種語言上的平均準確率是80%,而BERT在CC數據集上訓練後只能取得77.5%的準確率。這說明,多語種模型的潛力在多語種數據集上得到開發,且在一定程度上可以克服模型能力稀釋問題,從而獲得更好的整體性能。

4.在低資源語種上的表現

繼續看 Table 5, 可以看出在低資源語種Swahili 和 Urdu 上基於Wikipedia數據集的BERT表現與模型隨機初始化差不多,而使用CC數據集預訓練後可以直接提升大概10個點。這證實了我們的假設,即mBERT和XLM-100嚴重依賴於跨語言遷移能力,但不像XLM-R那樣對低資源語言進行建模。具體地說,在XLM模型的translate-train-all設置中,對於Swahili和Urdu語種,使用CC數據集相比於使用Wikipedia數據集性能最大提升分別爲7%和4.8%。

總結

本文提出了XLM-R,在2.5TB、100個語種數據集上預訓練,並在多個跨語言benchmark上刷新了記錄。XLM-R在跨語言分類、序列標註和問答任務上以較大優勢超過mBERT和XLM,可喜!同時探討了高資源和低資源語種之間的平衡,多語言詛咒問題,模型核心超參數的重要影響。

PS:本文並沒有令人虎軀一震的技術驚喜,僅僅是XLM+RoBERTa。其他的就是超級大的數據量堆砌出來的,~~有錢真好~~,說錯了,數據多,真好!

相關閱讀:

解讀!北郵、西電、DeepMind等8篇NeurIPS 2019論文合集

NeurIPS 2019 | 中科院、曠視提出DetNAS框架:一種可用於目標檢測的Backbone搜索

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章