NLP論文領(lǐng)讀|面向機器翻譯的多語言預訓練技術(shù)哪家強?最新進展一睹為快!

歡迎關(guān)注「瀾舟NLP論文領(lǐng)讀」專欄!關(guān)注瀾舟科技公眾號,一起探索NLP前沿技術(shù)。
本期分享者:李上杰
瀾舟科技算法實習生,天津大學碩士一年級,研究方向為多語言機器翻譯、無監(jiān)督機器翻譯,郵箱:sj_li@tju.edu.cn。紙上得來終覺淺,絕知此事要躬行。
寫在前面
機器翻譯作為最成熟的 NLP 應用方向之一,已經(jīng)進入千家萬戶,小到同學們看論文寫論文不可或缺的幫手,大到跨國商務合作、促進世界人民交流,機器翻譯一直發(fā)揮著至關(guān)重要的作用。然而,全世界的 7000 多種語言中,絕大部分的語言沒有充足的平行語料數(shù)據(jù),沒有數(shù)據(jù),如何建模呢?多語言模型也許是一個選擇,多語言模型利用具備豐富資源的語言對的數(shù)據(jù),能夠幫助低資源乃至無資源語言的機器翻譯性能得到提升,使得建立覆蓋龐大語言對的機器翻譯系統(tǒng)成為可能。
而預訓練技術(shù)作為 2018 年開始發(fā)展起來的重要技術(shù),迅速席卷了整個 NLP 領(lǐng)域,在大量 NLP 任務上展現(xiàn)了令人振奮的性能提升。隨著多語言預訓練技術(shù)的進一步發(fā)展,多語言預訓練為跨語言生成任務提供了優(yōu)良的參數(shù)初始化,當多語言預訓練之風吹向機器翻譯領(lǐng)域,又將發(fā)生怎樣有趣的化學反應?
下文會針對這個熱點研究問題進行梳理,為大家?guī)磉@方面的最新進展,并分享一篇近期在 ACL2022 上發(fā)表的論文——《Universal Conditional Masked Language Pre-trainingfor Neural Machine Translation》,該論文提出了針對機器翻譯的預訓練模型 CeMAT,該模型的解碼器基于雙向掩碼預訓練,同時引入了兩種掩碼手段,相比 MRASP 和 MBART 而言性能更加優(yōu)異。
論文標題
Universal Conditional Masked Language Pre-trainingfor Neural Machine Translation
作者機構(gòu)
華為諾亞方舟實驗室、澳大利亞莫納什大學
論文鏈接
https://arxiv.org/abs/2203.09210
多語言預訓練的形式
這篇論文對于多語言預訓練工作的特點做了一個簡單的歸納,如下圖所示:

從預訓練模型的架構(gòu)來看,由于機器翻譯模型常常是基于 Encoder-Decoder 架構(gòu),因此可以分為基于編碼器預訓練和 Seq2Seq 的預訓練。早期的預訓練模型,如 mBERT[1]、XLM[2]、XLM-R[3] 等模型,往往是只在一個編碼器結(jié)構(gòu)下進行語言模型訓練,這種預訓練方式適合 NLU(Natural Language Understanding)任務,而對于 NLG(Natural Language Generation)任務,尤其是 Seq2Seq 形式的生成任務而言,無法對 Decoder 中的 Cross-Attention 層進行初始化。因此,近年來,如 MASS[4]、mBART[5]、mRASP[6] 等預訓練模型都在預訓練階段就引入 Decoder 模塊,希望通過這種方式為下游任務提供更好的參數(shù)初始化,這篇文章提出的 CeMAT[7] 同樣是基于 Encoder-Decoder 架構(gòu)。
從預訓練使用的數(shù)據(jù)來看,針對機器翻譯這種跨語言任務,利用雙語數(shù)據(jù)進行預訓練成為一個趨勢。早期的預訓練模型,除了 XLM 引入了 TLM(Translation Language Modeling),將雙語數(shù)據(jù)拼接進行 MLM(Masked Language Modeling) 語言建模之外,利用單語數(shù)據(jù)進行預訓練更為常見,這種基于自編碼的訓練目標和翻譯的目標存在差別 [6],而且無法對高資源語言的翻譯性能進行提升,以及在微調(diào)階段存在的 Catastrophic Forgetting 問題 [8]。而 CeMAT 表示,不管是單語數(shù)據(jù)還是雙語數(shù)據(jù),我全都要。CeMAT 在 Encoder 端執(zhí)行 MLM 訓練任務,在 Decoder 端執(zhí)行 CMLM(Conditional MLM)[9] 任務,從而得到更好的多語言表示。
最后,從解碼器的預訓練方式來看,以 GPT[10] 為代表的 CLM(Causal Language Model) 預訓練模型能夠使得解碼器具備很強的生成能力,但在 XLM[2] 的論文實驗中就發(fā)現(xiàn),使用基于 MLM 目標訓練的預訓練模型初始化解碼器,要比使用 CLM 的性能更強,使用 CLM 初始化有時甚至不如對解碼器進行隨機初始化。根據(jù)這個現(xiàn)象,CeMAT 的作者推斷,在翻譯中解碼器的表示能力可能比生成能力更為重要?;谶@個考慮,在預訓練時使用 CMLM 對 Decoder 進行訓練,從而增強 Decoder 的語義表示能力。
方法
CeMAT 預訓練模型主要分為三個模塊:條件掩碼語言模型 CMLM、Aligned Code-Switching & Masking 與 Dynamic Dual-Masking,接下來我們逐一介紹這三個模塊。

1. CMLM
條件掩碼語言模型 CMLM 來自于非自回歸論文 Mask-predict[9],主要思想是給定一對雙語句子 (,??
? ),遮蓋?? 中一定比例的詞語,被遮蓋的詞匯集記為 ?
?,訓練時,在 Encoder 端輸入 ??
?句子,在 Decoder 端輸入遮蓋后的 ?
??句子 (遮蓋部分使用 [mask] token 代替),對于每一個被遮蓋的位置,預測其真實詞匯的概率:

這與之前的 Seq2Seq 自編碼式的語言建模任務不同,如 MBART,其在 Decoder 端依然是自回歸式的,預測詞匯時只能看到 Encoder 端和 Decoder 端已生成的詞,即"上文",引入 CMLM,使得 Decoder 不止能看到"上文",還能看到"下文",提高 Decoder 的語義表示能力。
2. Aligned Code-Switching & Masking
這個模塊的主要思想是在給定一組雙語句子的情況下,首先確定雙語句子中的對齊信息,即源端句子中的詞匯與目標端句子詞匯對齊的位置信息,然后通過詞替換的方法,基于一份多語言詞典,將源端詞匯替換為任意一種語言中的同義詞,將目標端相應位置的詞匯進行掩碼。如圖2 所示,源端標紅的詞匯是指?Aligned Code-Switching & Masking?方法涉及的詞匯,英文詞匯 “dance”?被替換為法語中的同義詞 “danse”,而目標端德語句子中的相應詞匯 “tanzen” 被掩碼,訓練目標就是預測真實詞匯?“tanzen”。對于單語數(shù)據(jù),由于源端和目標端句子完全相同,只需要掩碼相同位置的詞匯即可。
詞替換方法構(gòu)造的 Code-Switching 句子,使得不同語言的詞匯可以潛在地具備相似的上下文,由于單詞的表示取決于上下文,因此不同語言中相似的詞匯能夠共享相似的表示,從而加強多語言空間的統(tǒng)一性。詞替換方法也在之前的許多預訓練工作中出現(xiàn),如 CSP[11]、MRASP[6]、MRASP2[12],這種使用詞級別的對齊信息,引導表示對齊的方法,在多語言預訓練技術(shù)中也非常流行。
3. Dynamic Dual-Masking
由于詞典的規(guī)模所限,作者發(fā)現(xiàn)詞替換的比例僅占數(shù)據(jù)集中詞匯的 6%。因此,作者進一步提出了 Dynamic Dual-Masking 方法,該方法有兩個關(guān)鍵的特性,一個是 Dynamic,即動態(tài),指的是掩碼的比例是一個區(qū)間,而不像 BERT 等模型是一個固定的比例;另一個是對偶掩碼,即同時掩碼源端句子和目標端句子。
對于雙語數(shù)據(jù),作者設置了隨機變量 ??,用來對目標端句子進行動態(tài)的掩碼,對于源端句子,設置了比例范圍 ?
?,作者嚴格控制
??,是為了讓 Decoder 端更加依賴 Encoder 的信息進行預測,強化了 Cross-Attention 的參數(shù)訓練。
對于單語數(shù)據(jù),由于單語數(shù)據(jù)的源端和目標端句子相同,為了防止模型"走捷徑"直接復制,CeMAT 對源端和目標端進行相同的掩碼。
Dynamic Dual-Masking 方法的示意圖見上圖標藍的詞匯,雙語數(shù)據(jù)掩碼位置無需嚴格相同,單語數(shù)據(jù)需要嚴格相同防止"窺屏"。作者同樣設置了一個動態(tài)的掩碼比例區(qū)間,??。
注意到 Dynamic Dual-Masking 步驟的掩碼可能會影響 Aligned Code-Switching & Masking 的結(jié)果,CeMAT 避免這種情況的發(fā)生,Dynamic Dual-Masking 不會選擇已經(jīng)進行過 Aligned Code-Switching & Masking 的詞匯。
將上述三個模塊結(jié)合起來,總的損失函數(shù)為:
??
上式前半部分是解碼端的 CMLM 損失,??與 ?
?都經(jīng)過了 Aligned Code-Switching & Masking 與 Dynamic Dual-Masking 的處理,后半部分是編碼端 MLM 損失。論文中設置
??為 0.7,用來調(diào)節(jié)兩個損失的權(quán)重。
實驗結(jié)果
1. 翻譯性能
CeMAT 使用了與 mRASP 相同的雙語數(shù)據(jù)集 PC32,同時又從 common crawl 中收集了一批單語數(shù)據(jù),共包含 21 種語言進行實驗,主要的實驗結(jié)果如下圖所示:

CeMAT 根據(jù)訓練數(shù)據(jù)規(guī)模,將不同的語言分為 low、medium、high、extr-high 四個等級,從結(jié)果上看,CeMAT 相比 mRASP 存在全面的提升,相比于 Direct(直接訓練),經(jīng)過多語言預訓練的模型能夠為低資源語言提供很強的知識遷移,在 En-Tr 的低資源任務上提升達到了 14.4 的 BLEU。實驗對比了 CeMAT 與 MBART 和 mRASP,與 MBART 相比,mRASP 和 CeMAT 由于使用了雙語數(shù)據(jù)進行預訓練,明顯比僅基于單語數(shù)據(jù)預訓練的 MBART 更適合翻譯這種跨語言任務,即使在 extr-high 的設置下依然有明顯的提升。CeMAT 的設計同樣適合作為非自回歸翻譯的預訓練模型,作者同樣對非自回歸翻譯性能的提升做了詳細的實驗,這部分的內(nèi)容感興趣的小伙伴可以自行去了解~
2. 消融實驗
看到 CeMAT 的優(yōu)異性能,大家肯定想趕緊了解一下,CeMAT 中各個部分對最終的性能提升的重要性如何?

從作者進行的消融實驗,Aligned CS masking 帶來的提升平均為 0.5 個 BLEU,而動態(tài)掩碼帶來的提升達到了 2.1 個 BLEU。Aligned CS masking 由于只平均替換了 6%的詞匯,因此帶來的效果較動態(tài)掩碼明顯要低得多,如果能進行更多有效的詞替換,以被替換的詞作為錨點,可以想見對編碼器的跨語言對齊會有更大的提升。這個表中的第三行表示不進行詞替換、同時將動態(tài)掩碼改為靜態(tài)掩碼、按照 15%的比例進行掩碼。掩碼的比例大小對性能的影響是非常大的,如 MBART 中的掩碼比例設置為 35%,過低的掩碼比例會使得模型更輕易地預測被掩蓋的詞,從而無法學到真正重要的東西。
總結(jié)
在最后,我想總結(jié)一下當前面向機器翻譯的多語言預訓練模型的特點:
使用雙語數(shù)據(jù)預訓練,提供充分的跨語言信息。MBART 預訓練對于低資源語言有比較明顯的提升,而對于高資源語言的提升并不明顯,這在之前的針對單語預訓練的工作中就有所提及 [6],筆者認為,單語預訓練任務通過促進了單語言內(nèi)部的語言建模,有效提高了低資源語言表示的質(zhì)量,但并沒有直接的跨語言對齊信息 (存在隱式的編碼器參數(shù)共享),在高資源的情況下對于跨語言任務沒有明顯幫助,我們可以看到在 En-De 的語言對上 mBART 初始化性能甚至稍弱于隨機初始化 (Direct)。使用大量高資源雙語數(shù)據(jù)進行預訓練能夠為后續(xù)的機器翻譯任務提供有效的初始化。
使用詞替換技術(shù),為不同語言的句子提供相同的上下文,促進多語言空間的融合。從 CSP 到 mRASP,再到 CeMAT,詞替換技術(shù)在預訓練中成為了一個低成本高效的選擇,對于一個新語言而言,獲取詞典的難度會更小,無監(jiān)督詞典生成方面也有許多研究,如 VecMap[13],通過單語 Embedding 空間的映射對齊得到詞典,相比于傳統(tǒng)詞典可以更靈活地獲取子詞級別的對齊。
使用 MLM-style 的預訓練目標訓練解碼器。早期的 XLM 使用 MLM 訓練的預訓練模型來初始化翻譯模型的解碼器,微軟的 DeltaLM[14] 利用預訓練的編碼器,交錯地初始化解碼器,然后再進行統(tǒng)一的單語+雙語預訓練,還有該論文介紹的 CeMAT 使用的 CMLM 任務。近期的翻譯預訓練模型越來越注重解碼器的語義表示能力,由于 MLM-style 的預訓練目標與解碼器生成時的自回歸形式有所沖突,也許我們可以考慮選擇使用非自回歸的解碼方式,因為 CeMAT 在非自回歸翻譯上性能的提升也非常顯著。
參考文獻
[1]?Devlin, J. , Chang, M. W. , Lee, K. , & Toutanova, K. . (2018). Bert: pre-training of deep bidirectional transformers for language understanding..
[2] Lample, G. , & Conneau, A. . (2019). Cross-lingual language model pretraining.
[3] Conneau, A. , Khandelwal, K. , Goyal, N. , Chaudhary, V. , & Stoyanov, V. . (2020). Unsupervised Cross-lingual Representation Learning at Scale. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics.
[4] Song, K. , Tan, X. , Qin, T. , Lu, J. , & Liu, T. Y. . (2019). Mass: masked sequence to sequence pre-training for language generation.?
[5] Yinhan Liu, Jiatao Gu, Naman Goyal, X. Li, Sergey Edunov, Marjan Ghazvininejad, M. Lewis, and Luke Zettlemoyer. 2020. Multilingual denoising pretraining for neural machine translation. In TACL.
[6] Lin, Z. , Pan, X. , Wang, M. , Qiu, X. , & Li, L. . (2020). Pre-training multilingual neural machine translation by leveraging alignment information. Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP).
[7] Pengfei Li, Liangyou Li, Meng Zhang, Minghao Wu, Qun Liu: Universal Conditional Masked Language Pre-training for Neural Machine Translation. ACL (1) 2022: 6379-6391
[8] Jiacheng Yang, Mingxuan Wang, Hao Zhou, Chengqi Zhao, Weinan Zhang, Yong Yu, Lei Li: Towards Making the Most of BERT in Neural Machine Translation. AAAI 2020: 9378-9385
[9] Marjan Ghazvininejad, Omer Levy, Yinhan Liu, Luke Zettlemoyer: Mask-Predict: Parallel Decoding of Conditional Masked Language Models. EMNLP/IJCNLP (1) 2019: 6111-6120
[10] Alec Radford and Karthik Narasimhan. 2018. Improving language understanding by generative pretraining.
[11] Zhen Yang, Bojie Hu, Ambyera Han, Shen Huang, Qi Ju: CSP: Code-Switching Pre-training for Neural Machine Translation. EMNLP (1) 2020: 2624-2636
[12] Xiao Pan, Mingxuan Wang, Liwei Wu, Lei Li: Contrastive Learning for Many-to-many Multilingual Neural Machine Translation. ACL/IJCNLP (1)
[13] Mikel Artetxe, Gorka Labaka, Eneko Agirre: A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings. ACL (1) 2018: 789-798
[14] Shuming Ma, Li Dong, Shaohan Huang, Dongdong Zhang, Alexandre Muzio, Saksham Singhal, Hany Hassan Awadalla, Xia Song, Furu Wei:DeltaLM: Encoder-Decoder Pre-training for Language Generation and Translation by Augmenting Pretrained Multilingual Encoders. CoRR abs/2106.13736 (2021)