知物由學 | 再造巴別塔,我們如何進行NLP跨語言知識遷移?

網易易盾發表於2021-09-28

自以 BERT 為代表的預訓練語言模型誕生起,關於其跨語言版本的探索研究就從未停止過。2020 年 4 月,Google 釋出了 XTREME 基準,迅速成為跨語言預訓練模型的黃金評測集。


XTREME 包含文字分類、序列標註、句子召回、問答四個大類共九個子任務,參評模型需要在英文訓練資料上進行調優,然後在其他 12 個語系的 40 種語言的各自測試集上進行推理預測。


得分越高,意味著模型能更好地將從優勢語種(英文)中學習到的知識,遷移到小語種應用上。


隨著各大網際網路公司在出海業務上的爭奪,越來越多的成熟業務需要快速部署小語種版本。火熱的應用需求帶動了跨語言預訓練模型的研究,XREME 的 SOTA 被不斷推高。


作為 2020 年的冠軍,微軟的 T-ULRv2 模型的佳紀錄只保持了不到 2 個月便被打破。僅僅 2021 年第一季度,已有百度 (ERNIE-M)、阿里巴巴(VECO)和位元組跳動(Polyglot)等巨頭相繼釋出了自研模型,一版更比一版強。

知物由學 | 再造巴別塔,我們如何進行NLP跨語言知識遷移?


那麼,為什麼預訓練語言模型能夠實現知識遷移呢?如何打通不同語言間的通道呢?


1“對齊”的起源

跨語言任務一直是 NLP 的經典問題。只不過,在預訓練語言模型尚未被發明時,它屬於“機器翻譯”的研究範疇。


機器翻譯的核心概念,叫做“對齊”,指的是為源語言中的某個詞或短語,找到其在目標語言中的匹配。比如,我們可以說“中國”是對齊到“China”的,也可以說這兩個詞是互相對齊的。


經典機器翻譯模型,依賴於大量的平行語料(原文-譯文組成的句對)來建立這種對齊關係。然而,對於一些小語種,相關資料的收集非常困難。


為了打破這種約束,無監督機器翻譯(UNMT)技術不斷生長髮展,終於在 2018 年實現了歷史性的突破。這一年,FAIR(Facebook AI Research) 將“詞對齊”擴充到了“詞向量對齊”,開源了無監督詞級別翻譯模型 MUSE,並以此為基礎,終實現了“句向量對齊”。


UNMT 的相關研究向我們證明了,所有語種是可以共享同一個語義空間(latent space)的。即兩個來自不同語種的語義相近的句子,在經過編碼後,其表示向量可以互相對齊。


如果模型能夠高質量地建模這一層級的對齊關係,就能拉近兩種語言各自表示空間的距離,把源語言句子無障礙地 轉換為目標語言。

知物由學 | 再造巴別塔,我們如何進行NLP跨語言知識遷移?

然而,剝離了平行語料的支援,僅依靠單語資料,模型要從哪裡入手去找到抽象的語義對齊關係呢?


MUSE 混合了兩種語言的詞表,並使用相同的 BPE 規則進行 subword 的切割。作者認為,這是模型能夠成功的一個關鍵點。標點、數字等各語種共享的符號,以及相同的 subwords,為對齊提供了初始的錨點。此外,兩種語言的單語資料雖然未嚴格對齊,但同樣來自wiki。


詞向量建模的一個關鍵假設是,“上下文相似的詞,語義相似”。相同的文字來源,提供了相似的詞語統計分佈,進而強化了語義表示空間的交匯。


自 BERT 起,預訓練語言模型作為一種強大的 NLP 工具,將 UNMT 的效能推上了一個新的臺階。這意味著,跨語種間的對齊關係,得到了更準確的刻畫。那麼,跨語言預訓練模型,如何完成這種對齊建模呢?


2樸素的mBERT

在 2018 年11月,BERT 官方釋出了兩個重量級的新版本:中文 BERT 和 支援 102 種語言的 Multilingual BERT。後者簡稱 mBERT,被後續無數的跨語言預訓練模型作為 baseline。


嚴格來說,mBERT 並不能算是一個徹徹底底的跨語言模型。除了預訓練使用的是混合語種的語料外,它與 BERT 沒有絲毫的不同。無論是模型結構或是最佳化目標,都沒有為跨語言遷移任務進行任何的定製。

知物由學 | 再造巴別塔,我們如何進行NLP跨語言知識遷移?

mBERT 的兩個強基線,“Translate-Train”和“Translate-Test”均藉助了外部機器翻譯系統進行跨語言輔助。前者將訓練資料(finetune)譯為目標語言,後者將測試資料譯為目標語言。這樣一來,訓練和測試就能在同一語種下進行。


mBERT 對訓練和測試執行了嚴格的語種隔離,是真正的“zero-shot”遷移方式。它在跨語言任務上的遷移效果,自然是不如基線模型的。然而,僅僅是簡單地替換訓練資料,沒有顯式的外部對齊,就賦予了 BERT 模型跨語言遷移知識的能力,這一點足以讓人驚歎了。


3誰影響了跨語言對齊?

圍繞 mBERT 的內部機制,在 2019-2020 湧現了一大批的頂會分析文章。比較有代表性的是:


[ACL-2019] How multilingual is Multilingual BERThttps://arxiv.org/abs/1906.01502

[EMNLP-2019]Beto, Bentz, Becas: The Surprising Cross-Lingual Effectiveness of BERT https://arxiv.org/abs/1904.09077

[ICLR-2020]Cross-Lingual Ability of Multilingual BERT: An Empirical Study https://arxiv.org/abs/1912.07840

[李宏毅-2020]A Study of Cross-Lingual Ability and Language-specific Information in Multilingual BERT https://arxiv.org/abs/2004.09205


根據 UNMT 的經驗,mBERT 可能是從共享的 wordpiece 中找到了一些語種“對齊”的線索。然而,相關論文的分析已經達成了某種“反直覺”的共識 - 跨語言遷移能力的學習和詞表重疊無關。即使詞表零重疊,mBERT 仍然能夠透過 xtreme 測試。


在相似語種間的確更適合進行 zero-shot 遷移,但這種助力並非來自表層的“詞相似”,更有價值的是深層結構語義(比如主謂賓的順序等)。


模型的容量,對跨語言遷移任務影響也很大。其中重要的是網路深度;增加網路寬度和自注意力頭數帶來的增益有限。大模型對應著大資料量,單語種20W的效果,遠遠不如單語種100w資料。


儘管在預訓練資料沒有對語種做明確的標誌,但實驗證實,這並不影響遷移效果。mBERT 網路的每一層輸出,都天然包含著語種資訊(可能是拜 Mask-LM 所賜)。


4如何提高跨語言遷移效能?

前面提到,mBERT 僅僅是一個替換了訓練語料的 BERT,並非真正為了“跨語言遷移”而設計的“預訓練語言模型”。站在它的肩膀上,後繼者們把 xreme 榜越刷越高。
既然 mBERT 是隻能依靠單語資料進行學習的 zero-shot 模型,那麼核心最佳化思路自然是為模型提供儘可能多的顯式對齊線索。具體來說,需要引入跨語言資料(平行語料),並增加跨語言預訓練任務。主要的實現方式如下:


1. TLM(Translation Language Modeling)

Mask-LM 任務的擴充套件版本。將平行語料的原文和譯文拼接後輸入 BERT,作為一個整體進行 Mask-LM 訓練。在預測被遮蔽的詞時,模型不僅可以利用自身語種的上下文資訊,同業也可以從另一語種的翻譯資訊中進行學習。T-ULRv、 ERNIE-M 和 XLM 中都能找到 TLM 影子。無論它被叫做什麼名字,實質上都是同一個東西。


2. 句向量對齊

強制拉近原文句子與譯文句子在向量表示空間的距離。FILTER 使用了 KL 距離作為兩個句向量的相似性度量,T-ULRv2 則是自定義了公式進行互資訊大化。


3. 偽資料

使用外部機器翻譯系統,用單語資料生成“偽”平行語料,即“回譯(Back Translation)”。有標註的平行語料數量有限,藉助回譯可以大幅度提升資料量。這是來自機器翻譯領域的傳統刷榜操作。FILTER 和 ERNIE-M 都使用了該技術。


5結語

伴隨著業務出海,從資源豐富的英語,到熱門的日語韓語,再到泰語印尼語等東南亞小語種,文字演算法需要快速進行新語種的功能適配。

在語種爆炸和資源受限的情況下,按照中文處理的開發模式進行復制變得不切實際。跨語言預訓練模型的誕生恰好解決了這一困境。

在實際應用中,使用大規模的預訓練模型和平行資料實現基礎遷移,再配合少量的目標語言業務資料微調,可以實現更好的跨語言遷移效果。藉助這一技術,易盾能夠將中文內容檢測能力迅速擴充套件到其他語種,全方位攔截垃圾文字。


相關文章