機器之心報導
機器之心編輯部
Facebook AI 近日開源了多語言機器翻譯模型 M2M-100,該模型不依賴以英語為中心的數據,可以實現 100 種語言之間的相互翻譯。
機器翻譯(MT)打破了人類之間的語言障礙。如今,平均每天需要在 Facebook 新聞提要上提供 200 億次翻譯,這得益於低資源機器翻譯領域的發展以及評估翻譯質量的最新進展。
典型的 MT 系統需要為每種語言和每種任務構建單獨的 AI 模型,但這種方法無法在 Facebook 上進行有效推廣,因為人們在數十億個帖子中發布超過 160 種語言的內容。先進的多語言處理系統能夠同時處理多種語言,但由於依賴英語數據來彌合源語言和目標語言之間的差距,在準確性上會有所折中。
因此,我們需要一種可以翻譯任何語言的多語言機器翻譯(multilingual machine translation, MMT)模型,從而更好地服務於全球近三分之二不使用英語的人們。
近日,Facebook 根據多年對 MT 的研究宣布實現了一個重要的裡程碑:首個單一的大規模 MMT 模型,該模型可以實現 100x100 個語言對的直接翻譯,而不依賴以英語為中心的數據。這個單一的多語言模型表現得和傳統雙語模型一樣好,並且比以英語為中心的多語言模型提高了 10 個 BLEU 點。
具體而言,通過使用新的挖掘策略來創建翻譯數據,該研究構建了首個真正的多對多數據集。該數據集擁有 100 種語言的 75 億個句子。研究者使用可擴展技術來建立具有 150 億個參數的通用模型,它從相關語言中捕獲信息,並反映出更加多樣化的語言文字和詞法。目前,這項研究已經開源。
論文主頁:https://ai.facebook.com/research/publications/beyond-english-centric-multilingual-machine-translation
GitHub 地址:https://github.com/pytorch/fairseq/tree/master/examples/m2m_100
挖掘語言方向
構建多對多 MMT 模型的最大障礙之一是:在任意方向翻譯大量的高質量句子對(也稱為平行句),而不需要涉及英語。從中文到英文、從英文到法文的翻譯要比從法文到中文容易得多。更重要的是,模型訓練所需的數據量會隨著語言數量的增加而呈二次增長。例如,如果每個方向需要 10M 句子對,我們需要挖掘 10 種語言的 1B 句子對和 100 種語言的 100B 句子對。
該研究建立了多樣化的多對多 MMT 數據集:跨越 100 種語言的 75 億句子對。通過結合互補的數據挖掘資源:ccAligned、ccMatrix 以及 LASER。此外該研究還創建了一個新的 LASER 2.0 並改進了 fastText 語言識別,提高了挖掘質量,並開放了原始碼的訓練和評估腳本。所有的數據挖掘資源都利用公開數據集,並且都是開源的。
多對多數據集和多語言模型示意圖。
儘管如此,即使使用了像 LASER 2.0 這樣先進的底層技術,為 100 種不同語言的任意對(或是 4450 種可能的語言對)挖掘大規模訓練數據仍然需要大量的計算。為了使這種數據挖掘規模更容易管理,該研究首先關注翻譯請求最多的語言。因此,以最高質量的數據和最大數量的數據為優先挖掘方向。該研究避開了在統計上很少需要翻譯的方向,比如冰島語到尼泊爾語翻譯,或者是僧伽羅語到爪哇語的翻譯。
橋梁語言策略
接著,研究者提出了一種新的橋梁挖掘(bridge mining)策略,其中按照語言分類、地域和文化相似性將 100 種語言分成了 14 個語系。這樣做是因為,同一個語系中的人(包含多種語言)往往交流更頻繁,並將從高質量翻譯中收益。舉例而言,一個語系中將涵蓋印度境內使用的孟加拉語、印地語、馬拉地語、尼泊爾語、泰米爾語和烏爾都語等多種語言。研究者系統性地挖掘每個語系中所有可能的語言對。
為了連通不同語系的語言,研究者確定了少量的橋梁語言(bridge language),它們通常由每個語系中的 1 至 3 種主要語言構成。如上述印度境內所使用的語言中,印地語、孟加拉語和泰米爾語是雅利安語的橋梁語言。然後,研究者挖掘這些橋梁語言所有可能組合的並行訓練數據。通過這種方法,訓練數據集最終生成了 75 億個並行句子,對應 2200 個語言方向(direction)。
由於挖掘的數據可以用來訓練給定語言對的兩個不同方向,如 en→fr 和 fr→en,因此挖掘策略有助於實現高效、稀疏地挖掘,從而以最佳的狀態覆蓋一個模型中的所有 100×100(共計 9900)個方向。
訓練語料庫中橋梁語言的數據量。
反向翻譯策略
為了對低翻譯質量的語料匱乏語言補充並行數據,研究者使用了反向翻譯(back-translation)策略。舉例而言,如果想要訓練一個漢語 - 法語翻譯模型,則應該首先訓練一個法語到漢語的模型,並翻譯所有的單一法語數據以創建合成的反向翻譯漢語。研究者發現,反向翻譯策略在大規模語言轉換中特別有效,比如將億萬個單語句子轉換為並行數據集。
具體而言,研究者使用反向翻譯策略作為已經挖掘語言對方向訓練的補充,將合成反向翻譯數據添加到挖掘的並行數據中。此外,研究者還使用反向翻譯策略為以往無人監督的語言對方向創建數據。
僅挖掘數據 VS 反向翻譯策略加持形成的語言對比較。
總的來說,與單靠挖掘數據上的訓練相比,橋梁策略和反向翻譯數據的結合將 100 個反向翻譯方向上的性能提升了 1.7BLEU。有了魯棒性更強、高效和高質量的數據集,這就為構建和擴展多對多(many-to-many)語言模型打下了堅實基礎。
在語言對無可用訓練數據的零樣本設置下,研究者也發現了令人印象深刻的結果。舉例而言,如果一個模型在法語 - 英語和德語 - 瑞典語語料庫中進行訓練,則可以實現法語和瑞典語的零樣本轉譯。在多對多模型必須實現非英語方向之間零樣本轉譯的設置下,則該模型要比以英語為中心的多語言模型好得多。
多對多和以英語為中心語言模型的比較。在包含英語的評估方向上,多對多模型與以英語為中心模型的性能相當,但在非英語方向上的性能要好得多。
高速度高質量地將 MMT 模型擴展到 150 億個參數
多語言翻譯中的一個挑戰是:單一模型必須從多種不同語言和多種腳本中捕獲信息。為了解決這個問題,研究者發現擴展模型容量並添加特定於語言的參數的顯著優勢。擴展模型大小對於高資源語言對尤其有用,因為它們具有訓練額外模型容量的大部分數據。
最終,當將模型規模密集擴展到 120 億個參數時,研究者在所有語言方向上平均獲得了 1.2BLEU 的平均提升。此後,進一步密集擴展所帶來的回報逐漸減少。密集擴展和特定於語言的稀疏參數(32 億個)的組合使得能夠創建一個具有 150 億個參數的更優模型。
研究者將其模型與雙語基準和以英語為中心的多語言模型進行比較。研究者從具有 24 個編碼器層和 24 個解碼器層的 12 億個參數基線開始,然後將以英語為中心的模型與 M2M-100 模型進行比較。接下來,如果將 12B 參數與 12 億個參數進行比較,將獲得 1.2BLEU 的提高。
為了擴展模型的大小,研究者增加了 Transformer 網絡中的層數以及每層的寬度。研究者發現大型模型收斂迅速並且訓練高效。值得注意的是,這是第一個利用 Fairscale(一個新的專門設計用於支持管道和張量並行性的 PyTorch 庫)的多對多系統。
研究者建立了通用的基礎架構,以通過將模型並行到 Fairscale 中來容納無法在單個 GPU 上安裝的大型模型,並且是基於 ZeRO 優化器、層內模型並行性和管道模型並行性構建的,以訓練大型模型。
但是僅將模型擴展到數十億個參數還不夠。為了能夠將此模型應用於生產,需要以高速訓練儘可能高效地擴展模型。例如,許多現有研究使用多模型集成,其中訓練了多個模型並將其用於同一個源句以生成翻譯。為了降低訓練多個模型所需的複雜度和計算量,研究者探索了多源自集成技術,該技術可將源句子翻譯成多種語言以提升翻譯質量。此外,研究者還在該研究中引入了 LayerDrop 和 Depth-Adaptive,以用常規主幹和一些語言特定參數集來共同訓練模型。
這種方法對於多對多模型非常有效,因為它提供了一種按照語言對或語言族來拆分模型的自然方法。通過將模型容量的密集擴展與特定於語言的參數結合,該研究提供了大型模型的優勢以及學習不同語言的特定層的能力。
研究者表示,他們將繼續通過整合此類前沿研究來提升模型,探索方法以負責任地部署 MT 系統,並創建更專業的計算架構將模型投入實際使用。
原文連結:https://ai.facebook.com/blog/introducing-many-to-many-multilingual-machine-translation/
近日,華為推出了MindSpore深度學習實戰營,幫助小白更快的上手高性能深度學習框架。
掃描下圖二維碼,關注MindSpore公眾號回復「21天實戰」即可獲取報名方式!也可添加小助手微信:mindspore0328,備註21,完成報名。
© THE END
轉載請聯繫本公眾號獲得授權
投稿或尋求報導:content@jiqizhixin.com
喜歡此內容的人還喜歡
原標題:《不以英語為中心,百種語言互譯,FB開源首個單一多語言MT模型》
閱讀原文