跳轉至主要內容
線上翻譯

微軟翻譯博客

神經機器翻譯實現雲中達到人類水準創新

2018年3月 宣佈 (哈桑等人2018) 一個突破性的結果,我們首次展示了一個機器翻譯系統,該系統可以執行以及人工翻譯(在特定情況下 - 中英文新聞翻譯)。這是機器翻譯研究的一個令人振奮的突破,但我們為這個專案構建的系統是一個複雜的、重量級的研究系統,融合了多種尖端技術。雖然我們在多個測試集上發佈了此系統的輸出,但系統本身並不適合在即時機器翻譯雲 API 中部署。

今天,我們很高興地宣佈我們最新一代神經機器翻譯模型的生產已上市。這些模型包含了我們研究系統的大部分優點,現在預設在使用 Microsoft 轉換器 API 時可用。這些新型號今天有中文、德文、法文、印度文、義大利文、西班牙文、日語、韓語和俄語,從英語到英語都有售。更多的語言即將推出。

從研究論文到雲 API

在過去的一年裡,我們一直在尋找方法,將我們人類均等系統的大部分品質引入微軟 翻譯 API,同時繼續提供低成本的即時翻譯。以下是這次旅行中的一些步驟。

師生培訓

我們的第一步是切換到"教師-學生"框架,在那裡我們訓練一個羽量級的即時學生來模仿一個重量級的教師網路(巴和卡魯阿納 2014).這是通過培訓學生,而不是根據MT系統通常接受培訓的並行資料,而是通過教師製作的翻譯來實現的(金和拉什 2016).這是一個比從原始資料學習更簡單的任務,它允許一個淺薄、更簡單的學生非常密切地跟蹤複雜的教師。正如人們所料,我們最初的嘗試仍然遭受品質下降,從教師到學生(沒有免費的午餐!Junczys-Dowmunt等人2018a).一些特別令人興奮的結果,從這一努力是,變壓器(瓦斯瓦尼等人 2017) 模型及其修改在師生培訓中表現良好,在 CPU 推理過程中效率驚人。

從這些初始結果中學習,經過大量的反覆運算,我們發現了一個配方,允許我們簡單的學生擁有幾乎相同的素質複雜的老師(有時有一個免費的午餐畢竟?現在,我們可以自由地構建大型、複雜的教師模型,以最大限度地提高品質,而不必擔心即時限制(太多)。

即時翻譯

我們決定切換到師生框架,其動機是 金和拉什 (2016)用於基於 RNN 的簡單模型。此時,還不清楚報告的對變壓器型號的好處是否也會顯現出來(參見 瓦斯瓦尼等人 2017 有關此模型的詳細資訊)。然而,我們很快發現,情況確實如此。

Transformer 學生可以使用一種大大簡化的解碼演算法(貪婪搜索),我們只是在每個步驟中選擇一個最佳翻譯的單詞,而不是通常的方法(光束搜索),它涉及在可能的巨大空間中搜索翻譯。這一變化對品質的影響很小,但翻譯速度有了很大的提高。相比之下,教師模型在從光束搜索轉向貪婪搜索時,品質會大幅下降。

同時,我們意識到,與其在解碼器中使用最新的神經架構(具有自我注意的變壓器),不如對學生進行修改,以使用大幅簡化和更快的迴圈 (RNN) 體系結構。這很重要,因為雖然變形金剛編碼器可以平行計算整個源句子,但目標句子一次生成一個單詞,因此解碼器的速度對翻譯的整體速度有很大的影響。與自我注意相比,迴圈解碼器將目標句子長度的演算法複雜性從二次到線性。特別是在師生設置中,我們沒有看到由於這些修改而導致的品質損失,無論是自動的,還是人為的評估結果。參數共用等其他改進進一步降低了複雜性並提高了速度。

我們非常興奮地看到,師生框架的另一個優點是,隨著教師的成長和變化,品質的提高很容易轉移到一個沒有改變的學生架構中。如果我們看到這方面的問題,學生模型能力的輕微提高將再次縮小差距。

對偶學習

對偶學習背後的關鍵見解 (他等人2016年) 是"往返翻譯"檢查,人們有時用來檢查翻譯品質。假設我們使用線上翻譯從英語到義大利文。如果我們不讀義大利文,我們怎麼知道它是否做得好?按一下之前 發送 在電子郵件中,我們可能會選擇通過將義大利文翻譯成英語來檢查品質(可能在不同的網站上)。如果我們回來的英語偏離了原來的太遠,那麼其中一個譯文很可能偏離了軌道。

對偶學習使用相同的方法並行訓練兩個系統(例如英語--義大利文和義大利文-英語),使用一個系統的往返翻譯對另一個系統進行評分、驗證和培訓。

對偶學習是我們人類均等性研究結果的主要貢獻者。在從研究系統到生產配方中,我們廣泛推廣了這種方法。我們不僅在彼此的輸出上共同訓練系統對,還使用相同的標準來篩選並行資料。

清理不准確的資料

機器翻譯系統根據"並行資料"接受培訓,即相互翻譯的文檔對,最好由人工翻譯創建。事實證明,這種並行資料通常充滿了不准確的翻譯。有時,這些文檔並不是真正的平行的,而只是彼此的鬆散轉述。人工翻譯人員可以選擇刪除一些源材料或插入其他資訊。資料可能包含拼寫錯誤、拼寫錯誤和語法錯誤。有時,我們的資料採礦演算法被類似但非並行的資料,甚至被錯誤語言的句子所愚弄。最糟糕的是,我們看到的很多網頁都是垃圾郵件,或者實際上可能是機器翻譯,而不是人工翻譯。神經系統對資料中的這種不准確非常敏感。我們發現,構建神經模型以自動識別和消除這些不准確之處,大大改善了系統的品質。我們的資料篩選方法首先導致 WMT18 並行語料庫過濾基準 (君奇斯-道蒙特 2018a),並説明建立一個最強大的英語-德語翻譯系統 WMT18 新聞翻譯任務 (君奇斯-道蒙特 2018b).我們在今天發佈的生產系統中使用了這種方法的改進版本。

分解字表示形式

將研究技術轉移到生產中時,出現了一些實際挑戰。獲得數位、日期、時間、資本化、間距等在生產中比在研究系統中重要得多。

考慮資本化的挑戰。如果我們翻譯的句子是"請在此處播放",我們知道如何翻譯"貓"。我們希望以同樣的方式翻譯"CAT"。但現在考慮"在這裡看美國足球"。在這種情況下,我們不想混淆"我們"一詞和首字母縮略詞"美國"。

為了解決這個問題,我們使用了一種稱為因數機器翻譯的方法(科恩和霍恩 2007森裡奇和哈多 2016),其工作方式如下。我們使用多個嵌入,稱為"因數",而不是"cat"或"CAT"的單個數位表示形式("嵌入")。在這種情況下,"CAT"和"cat"的主嵌入是相同的,但一個單獨的因數將表示大寫,表明它在一個實例中是全帽,但在另一個實例中是小寫。源端和目標端也使用類似的因數。

我們使用類似的因素來處理單詞片段和單詞間距(非間距或半間距語言(如中文、韓語、日語或泰語)的複雜問題)。

因素還極大地改善了數位的轉換,這在許多情況下至關重要。數位轉換主要是演算法轉換。例如,1,234,000 可以寫成 12,34,000 印度文,1.234.000 德語,123.4 元。"傳統上,數位像單詞一樣表示,表示為不同長度的字元組。這使得機器學習很難發現演算法。相反,我們分別饋送數位的每個位數,並標記開始和結束的因數。這個簡單的技巧可靠可靠地消除了幾乎所有的數位轉換錯誤。

更快的模型培訓

當我們訓練單個系統實現單一目標時,正如我們在人平價研究專案中所做的那樣,我們期望在需要數周培訓的模型上投入大量硬體。當為 20 多種語言對培訓生產模型時,這種方法變得站不住腳。我們不僅需要合理的周轉時間,還需要調整硬體需求。對於此專案,我們進行了一些性能改進,以 瑪麗安 NMT (Junczys-Dowmunt等人2018b).

瑪麗安NMT是微軟翻譯器所基於的開源神經MT工具組。Marian 是一個純 C# 神經機器翻譯工具組,因此效率極高,運行時不需要 GPU,在訓練時非常高效

由於其自包含的性質,很容易針對 NMT 特定任務優化 Marian,從而獲得最有效的 NMT 工具組之一。請看 基準.如果您對神經MT的研發感興趣,請加入並參與 Github 上的社區.

我們在混合精度訓練和解碼以及大型模型培訓方面的改進將很快在公共 Github 存儲庫中提供。

我們對神經機器翻譯的未來感到興奮。我們將繼續將新的模型體系結構推廣到其餘語言和 自訂轉換器 貫穿今年。我們的使用者將自動通過 翻譯 API我們 翻譯應用程式、微軟辦公室和邊緣瀏覽器。我們希望新的改進有助於您的個人生活和職業生活,並期待您的回饋。

 

引用

  • 吉米·巴和裡奇·卡魯阿納2014. 深網真的需要深部嗎?神經資訊處理系統27。頁 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
  • 漢尼·哈桑、安東尼·奧、張晨、維沙爾·喬達裡、喬納森·克拉克、克利斯蒂安·費德曼、黃學東、馬辛·容茨-道蒙特、威廉·路易斯、穆力、劉樹傑、劉鐵燕、羅仁謙、阿魯爾·梅內塞斯、陶勤、弗蘭克·塞德、徐坦、費天、吳立軍、吳雙芝、夏英思、張東東、張志瑞、周明。2018. 實現中文到英文新聞翻譯的自動達到人類水準。 http://arxiv.org/abs/1803.05567
  • 他、狄和夏、英和秦、陶和王、利偉和余、能海和劉、鐵燕和馬偉英。2016. 機器翻譯對偶學習。神經資訊處理系統的進展 29.頁 820-828。 https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • 馬辛·容奇斯-道蒙特2018a. 雜訊並行公司的雙條件交叉熵過濾。第三次機器翻譯會議記錄:共用任務檔。比利時,第888-895頁。 https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • 馬辛·容奇斯-道蒙特2018b. 微軟提交WMT2018新聞翻譯任務:我如何學會停止擔心和愛資料。第三次機器翻譯會議記錄:共用任務檔。比利時,第425-430頁。 https://www.aclweb.org/anthology/W18-6415/
  • 馬辛·容奇斯-道蒙特、肯尼士·希菲爾德、海烏·霍昂、羅曼·格蘭德凱維奇、安東尼·奧伊。2018a. 瑪麗安:C++中經濟高效的高品質神經機器翻譯。第二屆神經機器翻譯與生成研討會記錄。澳大利亞墨爾本,第 129-135 頁。 https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • 馬辛·容奇斯-道蒙特、羅曼·格蘭德凱維奇、湯瑪斯·德沃亞克、希烏·霍昂、肯尼士·海菲爾德、湯姆·內克爾曼、弗蘭克·塞德、烏爾裡希·德恩、阿爾哈姆·菲克裡·阿吉、尼古拉·博戈伊切夫、安德列·馬丁斯、亞歷山卓·伯奇。2018b. 瑪麗安:C#快速神經機器翻譯。ACL 2018,系統演示記錄。澳大利亞墨爾本,第 116-121 頁。 https://www.aclweb.org/anthology/P18-4020/
  • 金永和亞歷山大·拉什2016. 序列級知識蒸餾。2016年11月1日至4日,美國德克薩斯州奧斯丁市,2016年11月1日至4日,第1317-1327頁,《2016年自然語言處理經驗方法會議記錄》,EMNLP 2016年。 https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • 菲力浦·科恩,海黃。2007. 分解翻譯模型。2007年自然語言處理和計算自然語言學習經驗方法聯席會議會議記錄。布拉格, 捷克共和國, 頁 868-876. https://www.aclweb.org/anthology/D07-1091/
  • 裡科·森裡奇,巴里·哈多2016. 語言輸入功能改進了神經機器翻譯。第一屆機器翻譯會議記錄:第1卷,研究論文。柏林, 德國, 第 83-91 頁. https://www.aclweb.org/anthology/W16-2209/
  • 瓦斯瓦尼、阿希什和沙澤爾、諾阿姆和帕爾瑪、尼基和烏斯科賴特、雅各和鐘斯、利翁和戈麥斯、艾丹·恩和凱澤、盧卡什和波洛蘇欣、伊利亞。2017. 關注是您所需要的一切。神經資訊處理系統的進步 30.頁 5998-6008。 https://papers.nips.cc/paper/7181-attention-is-all-you-need