1. 程式人生 > 實用技巧 >150億引數大殺器!Facebook開源機器翻譯新模型,同傳人員或失業

150億引數大殺器!Facebook開源機器翻譯新模型,同傳人員或失業

點選上方“AI遇見機器學習”,選擇“星標”公眾號

重磅乾貨,第一時間送達

來源:Facebook

編輯:QJP

【導讀】Facebook 今日開源了一個多語種機器翻譯模型「M2M-100」,這是首個不依賴英語資料就能翻譯100種語言的模型,比如直接從僧伽羅語翻譯成爪哇語。這種單一多語言模型與傳統的雙語模型效能相當,同時比以英語為中心的多語模型BLEU提高了10個點。

當把中文翻譯成法文時,以前最好的多語種模型的方式是把中文翻譯成英文,把英文翻譯成法文,因為英語的訓練資料是最多的。

而Facebook研究院的模型直接根據漢語到法語的資料進行訓練,以便更好地儲存語義。

在評估機器翻譯廣泛使用的 BLEU 指標上,它比以英語為中心的系統性能高出10個百分點。

M2M-100共接受了2200種「語言對」的訓練,比以往以英語為中心的最優的多語言模型多了10倍。部署 M2M-100將提高數十億人的翻譯質量,尤其是對那些語言資源匱乏的人。

這個新模型是Facebook AI研究院多年來在機器翻譯方面的基礎工作的新里程碑。

Facebook還分享瞭如何為100種語言構建一個更加多樣化的機器翻譯訓練資料集和模型的細節如模型、訓練和評估的設定等,以幫助其他研究人員複製和推進多語言模型進一步發展。

典型的機器翻譯系統需要為每種語言和每個任務建立單獨的AI模型,但是這種方法在 Facebook 上並不能有效地擴充套件。

在 Facebook 上,人們可以通過數十億條帖子以160多種語言釋出內容。先進的多語言系統可以同時處理多種語言,但是依靠英語資料來彌補源語言和目標語言之間的差距會降低準確性。

因此Facebook需要一個多語種機器翻譯(MMT)模型,可以翻譯任何語言,以更好地服務於社群,因為其中近三分之二使用的語言不是英語。

研究人員使用一種全新的挖掘策略來建立翻譯資料,建立了第一個真正的「多對多」資料集,包括100種語言的75億個句子。

同時使用了幾種縮放技術來建立一個包含150億個引數的通用模型,該模型從相關語言中獲取資訊,並反映了更加多樣化的語言和詞法、句法等。

挖掘數以億計的句子,尋找數以千計的語言方向

構建多對多 MMT 模型的最大障礙之一是為不涉及英語的任意翻譯方向準備大量高質量的句子對(也稱為平行句)。因為找到中文到英文,英文到法文的翻譯比找到法文到中文的翻譯要容易得多。

此外,隨著我們支援的語言數量的增加,訓練所需的資料量平方級增長。例如,如果我們需要每個方向的10M 句子對,那麼我們需要挖掘10種語言的1B 句子對和100種語言的100B 句子對。

作為這項工作的一部分,Facebook建立了一個新的 LASER 2.0和改進的 fastText 語言標識,它提高了挖掘的質量,包括開源的訓練和評估指令碼。使用的所有的資料探勘資源都利用了公開可用的資料,並且都是開源的。

即使使用了像 LASER 2.0這樣的底層技術,為任意對100種不同語言(或4450種可能的語言對)挖掘大規模訓練資料也是需要大量算力的。

為了使這種規模的資料探勘更易於處理,Facebook首先關注具有最多翻譯請求的語言。

它們優先使用了最高質量的資料和最大資料量的資料探勘方向,並且避免了需要少量翻譯的方向,如:冰島語-尼泊爾語或者僧伽羅語-爪哇語。

接下來,Facebook介紹了一種新的「bridge mining」策略,在這種策略中,根據語言分類、地理和文化相似性將語言分為14個「語言組」。

這樣做是因為生活在使用同一種語言的國家的人們傾向於更經常地交流,並且會從高質量的翻譯中受益。

例如,一個語言組包括在印度說的語言,如孟加拉語、印度語、馬拉地語、尼泊爾語、泰米爾語和烏爾都語。研究人員系統地挖掘了每個群體中所有可能的語言對。

為了連線不同群體的語言,Facebook的人員確定了少量的「橋接語言」,它們通常是每個群體的一到三種主要語言。

在上面的例子中,印度語、孟加拉語和泰米爾語將成為21印度-雅利安語支的橋樑語言。然後為這些橋接語言的所有可能的組合挖掘並行訓練資料。

使用這種技術,訓練資料集最終得到了75億個平行句子的資料,相當於2200個方向。

為了補充低資源語言和低翻譯質量的並行資料,Facebook還使用了流行的回譯方法(back-translation)。

總的來說,通過「橋接策略和反向翻譯」相結合,比單獨挖掘資料的訓練方式提高了1.7 BLEU。

同時研究人員還發現了零樣本學習(zero-shot)的設定。

例如,如果一個模型使用法語-英語和德語-瑞典語訓練,就可以在法語和瑞典語之間進行zero-shot 翻譯。在多對多模型在非英語方向之間進行翻譯的情況下,它比以英語為中心的多語言模式要好得多。

以高速度和高質量將機器翻譯模型擴充套件到150億引數

多語言翻譯面臨的一個挑戰是,單一模型必須捕獲多種不同語言和不同文字的資訊。為了解決這個問題,擴充套件模型的容量並新增特定語言的引數有顯著的作用。

擴充套件模型大小對於資源豐富的語言對特別有幫助,因為它們擁有最多的資料來訓練更大的模型容量。

當擴充套件模型大小到120億個引數時,所有語言方向的 BLEU 平均提高了1.2個點。擴充套件模型的大小和特定語言的稀疏引數(32億)的結合使我們能夠建立一個更好的擁有150億引數的模型。

為了增加模型的大小,Facebook還增加了 Transformer 網路中的層數以及每個層的寬度。結果發現,大型模型收斂速度快,訓練資料效率高。

值得注意的是,這個多對多系統是首個利用 「Fairscale」的系統,Fairscale 是專門為支援Pipeline和Tensor並行化而設計的新 PyTorch 庫。

作為這項工作的一部分,我們已經看到在預訓練語言模型、微調和自監督方面取得了令人難以置信的快速進展。

多年來,AI研究人員一直致力於建立一個通用模型,能夠理解不同任務中的所有語言。一個支援所有語言、方言的單一模型將更好地為更多的人服務,使翻譯結果保持最新,併為數十億人創造平等的新體驗,這項工作使得更加接近這個目標。

專案地址:

https://github.com/pytorch/fairseq/tree/master/examples/m2m_100

歡迎關注我們,看通俗乾貨