XLM — 基於BERT的跨語言模型

AIBigbull2050發表於2019-08-23
導語:這個模型在跨語言分類任務(15個語言的句子蘊含任務)上比其他模型取得了更好的效果,並且顯著提升了有預訓練的機器翻譯效果。

注意力模型,尤其是BERT模型,已經在NLP領域分類和翻譯任務上取得了極具前景的結果。Facebook AI在一篇新論文中提出了一個改良版的BERT模型XLM,在以上兩個任務上均取得了SOTA結果。

XLM用了一個常見的預處理技術BPE(byte pair encoder位元組對編碼)以及BERT雙語言訓練機制來學習不同語言中詞與詞之間的關係。這個模型在跨語言分類任務(15個語言的句子蘊含任務)上比其他模型取得了更好的效果,並且顯著提升了有預訓練的機器翻譯效果。

  背景

XLM基於幾個核心概念:

Transformers, Google 在2017年提出的一種能夠同時處理輸入文字並且學到詞語上下文聯絡的注意力機制。一個 Transformer 包含兩部分:一個編碼器讀入文字輸入並且生成每個詞的向量表示,一個解碼器將向量表示轉換成翻譯結果文字。更詳細的 Transformer 回顧可以看這篇文章: https://jalammar.github.io/illustrated-transformer/

普通的Transformer只考慮了每個單詞有限的上下文(單詞的前幾個詞),於是在2018年提出的BERT模型在此基礎上更進了一步。BERT利用Transformer的編碼器學習一個語言模型,通過遮住(捨棄)一些詞再試著去預測這些詞。這使得模型可以學習全篇內容,也就是被遮住詞的前序和後續詞。

因為在注意力模組中所有詞都是同時處理的,所以模型還需要考慮額外的位置資訊。模型網路通過給每個token加一個基於位置的固定值(例如正弦函式),可以成功學習到token間的聯絡,這一步叫位置編碼。可以看這篇我們對BERT的總結: https://www.lyrn.ai/2018/11/07/explained-bert-state-of-the-art-language-model-for-nlp/

2018年Lample et al.提出了將Transformer 和基於短語的統計機器翻譯技術(PBSMT)相結合的模型。後者給出了不同語言中短語的概率表。這篇論文中另一個重要概念是反向翻譯,也就是把句子翻譯成目標語言句再翻回原句。這讓我們可以用單一語言作為訓練集,比有監督的雙語言訓練集量更大也更常見。Lample et al.得出的一個結論是token的初始化嵌入對於模型最終的成功來說至關重要,尤其對反向翻譯來說。他在文中用了一個簡單的詞嵌入方法FastText,他們認為更有效的語言模型能夠進一步提升他們的模型結果。

  XLM模型工作原理

這篇論文提出了兩個創新點:一個是用BERT訓練多語言文字分類、另一個是用BERT初始化機器翻譯模型。

BERT進行跨語言文字分類

儘管BERT的訓練語料超過100種語言,它的模型本身並沒有針對多語言進行優化——大多數詞彙沒有在語言間共享,因此能學到的跨語言知識是很有限的。針對這一點,XLM模型在以下方面修正了BERT:

首先,XLM的模型輸入用了位元組對編碼(BPE)而不是用字元或詞語。BPE把輸入按所有語言中最常見的詞片段(sub-words)進行切分,以此來增加跨語言共享的詞彙。這是一個常見的預處理演算法,關於BPE可以看這篇總結: https://www.lyrn.ai/2019/01/06/massively-multilingual-sentence-embeddings-for-zero-shot-transfer/#appendix-a-bpe

其次,XLM以下面兩個方式升級了BERT的模型結構:

  1. XLM的每個訓練樣本包含含義相同語言不同的兩條句子,而不是像BERT中一條樣本僅來自同一語言。BERT的目標是預測被遮住的token。XLM模型中,我們可以對每組句子,用一個語言的上下文資訊去預測另一個語言被遮住的token。因為句子對中不同的隨機詞語會被遮住,模型可以利用翻譯資訊去預測token。

  2. 模型也接受語言ID和不同語言token的順序資訊,也就是位置編碼。這些新的後設資料能幫模型學習到不同語言的token間關係。

升級版的BERT模型被稱作翻譯語言模型(TLM),普通BERT模型+BPE輸入被稱作有掩碼語言模型(MLM)。

完整的模型同時訓練了MLM和TLM,並且在兩者之間進行交替訓練。

XLM — 基於BERT的跨語言模型

上圖:類似BERT的單語言模型MLM, 和跨語言模型TLM進行對比。來源:XLM

為了評估模型效果,這篇論文在句子蘊含(句子對關係分類)任務上測試了模型。論文使用了XNLI資料集,資料集中句子來自15個語言。模型在所有配置上都比當下著名模型,比如Artetxe et al.和BERT效果要更好。配置包括模型僅在英語資料上訓練其他資料預測(Zero-Shot零樣本學習),其他語言翻英語(Translate-Train),英語翻其他語言(Translate-Test)。這些結果都取得了當前SOTA結果。

XLM — 基於BERT的跨語言模型

在不同的訓練、測試集配置上對比模型和其他模型在XNLI資料集上的準確率。每一列代表一種語言。來源:XLM

用MLM初始化翻譯模型

這篇論文提出了BERT的又一貢獻,更確切的說是MLM模型:MLM可以作為更好的初始化技術,用來改進Lample et al. 的翻譯模型。token初始化不用FastText,而改用MLM,結果再傳到翻譯模型中。

在編碼和解碼階段均用該方法進行token初始化,翻譯模型(使用Transformer的模型)的翻譯質量提升了7 BLEU。具體見下表。

XLM — 基於BERT的跨語言模型

不同初始化方法的翻譯結果。CLM表示因果語言模型(Causal Language Modeling),不用掩碼技術,每一個詞是基於前序詞來預測的。來源:XLM

提示:這篇論文同時顯示跨語言模型對於學習一個語料匱乏的小語種是非常有用的,通過BPE演算法,他們可以利用其它語言的資料,尤其是相近語言。這個結論和Artetxe et al.的結論相似。(我們的總結可以看這裡)

  計算因素

BERT模型在PyTorch框架下的實現,以及預訓練模型可以在此處找到: https://github.com/facebookresearch/XLM

我們使用Volta顯示卡訓練,語言模型64卡,翻譯任務8卡,訓練時間並未指定。具體的實現細節可以在論文的5.1和5.2節中找到。

  結論

正如近期許多研究所示,本文也展示了語言模型和遷移學習的強大功能,特別是BERT,能夠在許多NLP任務上提高效能。通過簡單高效的微調,BERT的效能可以超過其他跨語言分類模型,並顯著改善翻譯模型。
有趣的是,本文中使用的翻譯模型和用於初始化的MLM模型都基於Transformer。可以推斷在將來,我們應該能夠看到更多這樣的組合應用,比如,將新的Transformer-XL用於初始化。

點選【 XLM——基於 BERT 的跨語言模型】即可訪問相關內容和參考文獻~



https://www.leiphone.com/news/201908/HGGJVswa8HEA0VXY.html





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2654851/,如需轉載,請註明出處,否則將追究法律責任。

相關文章