文獻閱讀筆記:Unsupervised Cross-lingual Representation Learning at Scale(XLM-R)

0. 背景

機構:Facebook
作者:Alexis Conneau、Kartikay Khandelwal
面向任務:跨語言理解
論文地址:https://arxiv.org/abs/1911.02116
論文代碼:https://github.com/pytorch/fairseq
官方介紹:https://ai.facebook.com/blog/-xlm-r-state-of-the-art-cross-lingual-understanding-through-self-supervision/

0.1 摘要

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

戰績如下:
XLM-R在四個跨語言理解基準測試中取得了迄今爲止最好的結果。這4個任務包括了跨語言的分類、序列標註和問答
(1)在XNLI跨語言自然語言推理數據集上的平均準確率,高於多語言BERT(mBERT)13.8%,分別高出此前先進結果 Unicoder (Huang et al., 2019) 和 XLM (MLM+TLM) 4.7% 和 5%。
(2)在最近推出的MLQA問題回答數據集上,XLM-R在在平均F1得分和準確率上分別比mBERT高出12.3%和10.6%。XLM-R比此前最先進模型在F1上高出了8.4%。
(3)在NER數據集的平均F1得分上,XLM-R比此前最先進模型高出了2.1%。
(4)XLM-R模型在低資源數據上的表現如下:
1)在XNLI的Swahili 上,XLM-R在準確率上比mBERT高出11.8%
2)在XNLI的Urdu 上,XLM-R在準確率上比mBERT高出9.2%

此外,本文還對提升模型性能的關鍵因素進行了詳細的實證評估。主要包括:
(1)正向遷移和能力稀釋(capacity dilution)之間的權衡
(2)高資源語言和低資源語言在語料尺度上的權衡

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

1. 介紹

跨語言理解領域的早期工作已經證明了多語言掩碼語言模型(multilingual masked language models) 在跨語言理解方面的有效性,但是諸如XLM和multilingual BERT這樣的模型(都在Wikipedia上預訓練)在學習低資源語言的有用表示方面仍然能力有限。
本文首先在規模上對多語言模型的利弊和侷限性進行了全面的分析。在實驗中我們衡量了高資源和低資源語言之間的權衡以及語言抽樣和詞彙量的影響。實驗結果表明在固定模型參數下對語言數量的權衡:在一定程度上,更多的語言可以提高低資源語言的跨語言性能,超過這個臨近點後,在單語和跨語言基準測試上的整體性能將下降。我們將這種現象稱爲"多語言詛咒"(curse of multilinguality)。通過簡單地增大模型,可以有效地緩解多語言詛咒。然而,我們認爲,這仍然是未來跨語言理解(XLU)系統的一個重要限制。

相比於 XLM 和 mBERT,XLM-R有以下幾個方面改進:
(1)在XLM和RoBERTa中使用的跨語言方法的基礎上,我們在新模型中增加了語種數量訓練數據集的數量,具體來說使用超過2TB的已經預處理過的CommonCrawl數據集,以自監督的方式訓練跨語言表徵。這包括爲低資源語言生成新的未標記語料庫,並將用於這些語言的訓練數據量擴大2個數量級。

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

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

2. 相關工作

3. 模型和數據

Masked Language Models:
主體模型還是Transformer,訓練目標是多語種的MLM objective,基本和XLM一樣,歡迎查閱此前對於XLM的解讀。我們從每個語種中採樣出文本,再預測出被masked掉的tokens。我們用帶有 unigram 語言模型的model Sentence Piece 對原始文本數據進行 Sentence Piece 。從各語種中採樣出batches的方法與XLM中相同,只是本文這裏的α=0.3\alpha=0.3。另一個與XLM不同的是,本文不使用語言嵌入。本文的詞典大小是250k,訓練了兩個模型:XLMRBaseXLM-R_{Base} (L= 12, H = 768, A = 12, 270M params ) 和 XLMRXLM-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種語言:

在這裏插入圖片描述

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

4. 評測

評測過程使用以下4個benchmarks:
(1)Cross-lingual Natural Language Inference(XNLI)
(2)Named Entity Recognition
(3)Cross-lingual Question Answering
(4)GLUE Benchmark

5. 結果與分析

5.1 多語言Masked Language Models

過往的跨語言模型如mBERT和XLM都是集中分析固定預訓練模型在下游任務中的性能。本文這裏分析大規模多語種預訓練模型的重要因素。當我們擴展到100種語言時,我們強調了這些模型的優缺點。

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

Figure 2 中展示了語種數量和模型能力稀釋之間的實驗結果。
在這裏插入圖片描述

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

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

High-resource/Low-resource 權衡:
跨語言模型由幾個參數控制:
(1)訓練集大小
(2)共享的subword 字典大小
(3)對每個語種的訓練集採樣率
我們這裏探討高資源語種(English 和 French)、 低資源語種(Swahili 和 Swahili)的採樣率對於XLM-100(在Wikipedia上預訓練)的影響。(PS:我們在構建 subword 字典上也觀測到類似的趨勢。)
採樣率的影響結果見於 Figure 5:

在這裏插入圖片描述

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

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

用大規模數據集進行訓練的重要性:
Figure 3 展示了同一個BERTbaseBERT_{base}模型在CC語料上的訓練結果能夠全面超過基於Wikipedia的。更大規模的訓練也是可以提升性能,在Figure 7 可以看出增大batch size帶來的性能提升。從Figure 7中也可以看出Sentence Piece model(SMP)並沒有明顯遜色於BPE,爲簡單起見,本文選用SMP進行multilingual tokenization。

5.2 跨語言理解的實驗結果

XNLI:
Table 1 展示了在 XNLI 上進行跨語言分類的實驗結果:
在這裏插入圖片描述

NER:
XLM-R 和 mBERT 在CoNLL-2002和CoNLL-2003數據集上的實驗結果如 Table 2 所示:
在這裏插入圖片描述

問答:
MLQA跨語言問答benchmark的實驗結果如 Table 3 所示:
在這裏插入圖片描述

5.3 多語言 Vs 單語種

GLUE:XLM-R versus RoBERTa

Table 4 展示了 XLM-R、BERT 和 RoBERTa 在GLUE上的實驗結果:
在這裏插入圖片描述

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

XNLI: XLM versus BERT

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

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

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%

6. 總結

提出XLM-R,在2.5TB、100個語種數據集上預訓練,並在多個跨語言benchmark上刷新了記錄。XLM-R在跨語言分類、序列標註和問答任務上以較大優勢超過mBERT和XLM,可喜!同時探討了高資源和低資源語種之間的平衡,多語言詛咒問題,模型核心超參數的重要影響。PS:老實說,並沒有令人虎軀一震的技術驚喜,就是超級大的數據量堆砌出來的,有錢真好,說錯了,有富麗堂皇的資源真好!

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