導讀:機器翻譯系統是使用深度學習技術從其支持的語言中翻譯大量文本的服務。服務將 "源" 文本從一種語言轉換為不同的 "目標" 語言。滴滴作為一家國際化的公司,無論是在國際化網約車中還是司乘溝通都有著豐富的落地場景。本文詳細的介紹了滴滴翻譯的整體框架、原理以及方法,同時還會簡單介紹滴滴NLP在今年參加的機器翻譯大賽(WMT2020)的一些技術。
機器翻譯系統是使用深度學習技術從其支持的語言中翻譯大量文本的服務。服務將 "源" 文本從一種語言轉換為不同的 "目標" 語言。
機器翻譯技術背後的概念和使用它的接口相對簡單,但背後的技術是極其複雜的,並匯集了一些前沿技術,特別是深度機器學習、大數據、語言學、GPU加速計算等。
大規模商業化使用的機器翻譯主要經歷了SMT與NMT階段:
神經機器翻譯是利用深度神經網絡將源句子進行編碼,再進行解碼翻譯為目標語言。2016年,Google發表GNMT[1],改變了SMT的地位,使翻譯技術發生了根本性的轉變,自此進入NMT時代,並且有了現在更高的翻譯質量。
對於機器翻譯的結果,可以採用人工評估的方法,但是比較受限。首先是人工評估具有一定的主觀性,其次每次訓練結果需要人工評估成本較高。
因此誕生了一些使用機器進行評估的方法,評測關鍵就在於如何定義翻譯譯文與參考譯文 (Reference) 之間的相似度。目前比較常用的方法為BLEU[2] (Bilingual Evaluation Understudy),該方法由IBM提出,BLEU採用的方式是比較並統計共現的n-gram詞的個數,即統計同時出現在翻譯譯文和參考譯文中的n元詞的個數,最後把匹配到的n元詞的數目除以翻譯譯文的單詞數目,經過幾何平均以及短句懲罰得到評測結果。這種方法的打分越高,則認為翻譯系統的譯文越接近人工翻譯結果,即機器翻譯系統的翻譯質量越高。以下為標準的BLEU score的計算公式。
目前NMT的基本上都是Encoder(源端語言編碼)- Decoder(目標語言解碼)框架,應用廣泛的是transformer[3]模型。Transformer的編碼器 Encoder由6個相同的編碼疊加而成,Encoder中的每層包含2個子層:multi-head self-attention 和 FFN(Feed-Forward Network)。解碼器 Decoder 也是由6個相同的編碼疊加而成,每層包含3個子層:masked multi-head attention、multi-head attention 和 FFN。Transformer結構參考下圖:
傳統的Transformer通過將絕對位置嵌入作為輸入的方式利用位置信息,這種方式並未在其結構中明確捕獲信息。Shaw[4] 等人提出了將Transformer中的注意力機制和相對位置表達結合起來,並且在兩個翻譯任務上取得了比較好的翻譯效果。我們進行了消融研究,發現具有相對位置嵌入的模型比傳統的模型具有更快的收斂性和更好的性能。
在機器翻譯任務中,最重要部分就是對齊的雙語語料,即需要原文與參考譯文這種成對的雙語數據。通常情況下,網絡上存在的大都是單語語料。所以在任務開始之前,最主要的工作就是準備平行語料。
在滴滴翻譯任務中,數據採集框架示意圖如下圖所示。
數據採集框架示意圖[5]
數據準備工作主要分兩大部分:
滴滴翻譯會通過數據預處理pipeline在網絡上收集原始的平行語料。對語言對使用 language model, alignment model[5] 進行打分,對於分數較低的語言對直接過濾,不參與後續的訓練
訓練 NMT 模型需要大量的平行語料。但是,平行語料相對於網絡上常見的大量單語數據要有限地多。Edunov[6] 等人在相關研究中展示了如何通過僅利用目標語言來提升模型的翻譯性能,並且表明利用大量的相關數據可以大幅提升模型準確度。
通過單語語料提升模型效果的最有效的方法就是back translation,假設目標是訓練一個中譯英模型,要利用back translation,需要先訓練一個英譯中的模型,利用該模型將所有的單語目標語言(英語)翻譯為中文獲得新的平行語料,然後將該語料應用到中譯英模型上。
在實際應用中,滴滴翻譯採用了迭代式回譯技術,以提高平行語料的質量。具體而言,在每次迭代中,目標語言到源語言模型負責使用目標語言單語數據為源語言到目標語言模型生成平行訓練數據。同時,使用源語言到目標語言模型來使用源語言單語言數據為目標語言到源語言模型生成平行訓練數據。目標語言到源語言模型和源語言到目標語言模型的性能都可以迭代地進一步提高。當無法實現進一步的改進時將停止迭代。
滴滴翻譯採用了交替知識蒸餾和迭代集成,以進一步提高單個模型的性能。滴滴翻譯使用集成模型作為教師模型,並通過數據增強來提升單學生模型的效果。考慮到較差的老師模型會降低學生模型的效果,所以我們採用的是集成模型的方式訓練學生模型。假設訓練好三個單模型 (A, B, C) 之後,使用單模型A&B ensemble生成平行語料指導C模型的訓練,同理使用迭代方式對三個學生模型進行蒸餾學習以達到最好的單模型效果。
在滴滴國際化消息翻譯場景中,獲得相關的翻譯平行語料,利用fine-tuning的方式可以將base model快速的遷移到新領域,並且可以達到較高的模型效果。
模型集成是常見的提高模型效果的方案,該方案可以利用各個單模型的優勢已達到最好的效果。在機器翻譯的實踐中,模型集成在序列預測的每個步驟中,將不同模型的目標詞表的全部概率分布組合在一起進行投票。在初始模型較多的情況下,滴滴翻譯使用greedy search的方式選擇最優的單模型組合。
由於模型和數據的多樣性是集成模型的重要因素,我們採用了不同的初始化種子,不同的參數,不同的Transformer變種和不同的訓練數據集來訓練各個單模型。
部署階段的網絡權值已經固定,無需反向傳播過程
TensorRT是NVIDIA推出的深度學習優化加速工具,採用的原理如下圖所示:
針對網絡複雜,推理速度慢的問題,滴滴翻譯將Transformer模型改造成支持TensorRT加速推理的框架。在實踐中基於TensorRT框架的推理速度相較於原生TensorFlow模型提升了9倍。
WMT (Workshop on Machine Translation) 是機器翻譯領域認可度最高的國際頂級評測比賽,是由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器翻譯大賽。從2006年創辦至今,每年都會吸引包括微軟、Facebook、DeepMind、百度、華為、騰訊、清華大學、上海交通大學、約翰霍普金斯大學、劍橋大學、愛丁堡大學等全球企業、科研機構以及頂級高校的參與。每次比賽都是各家機器翻譯實力的大比拼,也見證了行業機器翻譯技術的不斷進步。
滴滴NLP團隊參與的是WMT2020新聞機器翻譯賽道(Shared Task: Machine Translation of News)。該賽道共設置了22項不同語言之間的翻譯任務,其中,中文到英文翻譯是競爭最激烈的任務,共吸引了DeepMind、騰訊、華為、清華大學、上海交通大學等四十多支全球參賽團隊參與,在6月24日至6月30日為期七天的比賽時間裡,參賽團隊累計共提交了近300次數據。
與往年不同,今年新聞中譯英比賽參賽方均為匿名提交,比賽期間只能看到自己成績以及其他匿名參賽方成績,並且每個參賽方最多可以提交7次翻譯結果,比賽結束後各參賽方不可再次提交,各參賽方從所有提交中選擇其中一個提交結果作為Primary Submission供人工評估使用。
WMT組委會為每個語言賽道提供指定的雙語的訓練集以及單語語料。參賽方可以根據自己的模型利用相關的訓練集。比賽開始後組委會提供的單語的測試集 (Source),參賽方利用自己的模型對測試集的語言進行預測,然後提交至OCELoT系統。組委會利用SacreBLEU1指標對參賽方提交的譯文與組委會未公開的標準答案 (Reference) 進行計算,分數越高代表翻譯效果越好。
在本次中譯英賽道中,滴滴NLP團隊在技術上以Transformer結構作為基礎,在結構上引入Self-Attention, Relative Positional Attention, Larger FFN Size等變化,利用迭代式回譯技術 (Iterative Back-translation) 和交替知識蒸餾 (Alternate Knowledge Distillation) 方法生成高質量的合成語料,結合數據清洗、數據選擇、模型集成等技術提高翻譯質量。考慮到翻譯話題對於翻譯質量的影響,滴滴翻譯還採用了領域遷移、話題挖掘和個性化加權的方式,使得翻譯結果更加個性化。此外,我們還通過EDA、權重剪枝等技術增強翻譯模型的魯棒性。最終滴滴翻譯高效準確的進行完成WMT2020中譯英賽道翻譯任務,並且最先獲得36.6的高分,最終獲得第三名的成績,充分彰顯了滴滴在機器翻譯領域的技術實力。
Wu, Yonghui, et al. "Google's neural machine translation system: Bridging the gap between human and machine translation." arXiv preprint arXiv:1609.08144 (2016).
Papineni, Kishore, et al. "BLEU: a method for automatic evaluation of machine translation." Proceedings of the 40th annual meeting of the Association for Computational Linguistics. 2002.
Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems. 2017.
Shaw, Peter, Jakob Uszkoreit, and Ashish Vaswani. "Self-attention with relative position representations." arXiv preprint arXiv:1803.02155 (2018).
Zhang, Boliang, Ajay Nagesh, and Kevin Knight. "Parallel Corpus Filtering via Pre-trained Language Models." arXiv preprint arXiv:2005.06166 (2020).
Edunov, Sergey, et al. "Understanding back-translation at scale." arXiv preprint arXiv:1808.09381 (2018).
今天的分享就到這裡,謝謝大家。
在文末分享、點讚、在看,給個3連擊唄~
歡迎加入 DataFunTalk 用戶增長 交流群,跟同行零距離交流。識別二維碼,添加小助手微信,入群。關於我們:
DataFunTalk 專注於大數據、人工智慧技術應用的分享與交流。發起於2017年,在北京、上海、深圳、杭州等城市舉辦超過100場線下沙龍、論壇及峰會,已邀請近600位專家和學者參與分享。其公眾號 DataFunTalk 累計生產原創文章300+,百萬+閱讀,9萬+精準粉絲。
🧐分享、點讚、在看,給個3連擊唄!👇