8月1日,WMT2019國際機器翻譯大賽研討會在義大利佛羅倫斯召開。本屆大賽,百度機器翻譯團隊在中文-英文翻譯任務上獲得冠軍。
WMT全稱是Workshop on Machine Translation,是業界公認的國際頂級機器翻譯比賽之一,其中中文-英文翻譯任務是歷年參賽隊伍最多、競爭最為激烈的機器翻譯任務之一。今年中英方向參賽隊伍有來自微軟、字節跳動、金山、愛丁堡大學、東北大學、日本情報通信研究院等國內外知名機器翻譯團隊。本屆大賽,百度翻譯團隊憑藉在數據處理、模型架構、數據增強、模型集成等方面的創新性突破,最終力壓群雄,取得第一。
本次大會的評審專家對於百度參評系統給予高度評價,「This is a very solid system paper describing a strong system in the shared evaluation」,「The techniques employed are cutting-edge」。本文對主要技術進行介紹。
如上圖所示,數據處理模塊通過數據篩選、噪音去除、數據增強等,產生訓練數據;對於翻譯模型,從預訓練、網絡結構等方面進行改進,使模型學到更多維度、更深層次的信息。在訓練和模型集成階段,憑藉百度強大的機器學習平臺和海量的計算資源,從上百個模型中選擇不同的模型組合集成。最終,結合統計特徵和深度學習模型的特徵,通過Re-ranking算法從多個譯文候選中選擇最優的翻譯結果。
接下來將從數據預處理、翻譯模型改進、訓練數據增強、模型集成和重排序等方面介紹百度翻譯團隊的參賽系統。
一、數據處理
神經網絡翻譯模型對訓練數據尤為敏感,不僅要求數據規模大,還要求數據質量高。因此,數據處理對於提升翻譯質量至關重要。針對組委會提供的雙語數據,通過fast_align進行數據清洗,fast_align可以衡量兩個句子互為翻譯的概率,從而根據翻譯概率去除低質數據。以翻譯自動評價指標BLEU衡量,清洗後的數據訓練模型提高了1.1個百分點。
相比雙語數據,主辦方提供了更多的單語數據。採用Back Translation技術利用英語單語數據提升模型的翻譯質量。具體做法是,先用中英雙語數據訓練一個英中的翻譯系統,由英中模型將英文句子翻譯成對應的中文句子,將模型生成的中文句子和英文句子組合成雙語句對,並和真實的中英雙語句對混合作為中英模型的訓練數據。此技術可以提升翻譯質量(BLEU)0.8個百分點。
二、翻譯模型
目前,主流的神經網絡翻譯模型是Transformer,根據模型參數的大小可以分成base Transformer和big Transformer。其中,big Transformer具有更多的參數和更好的翻譯效果。在本次比賽中,我們基於Transformer模型,創新性地提出了三種改進的模型,顯著提升了翻譯質量,成為比賽決勝的關鍵點之一。此次改進的模型包括:
Pre-trained Transformer: 在大規模單語語料上訓練語言模型,並以此作為翻譯模型的編碼器。
Deeper Transformer: 加深編碼器的層數,提取更多維度特徵。
Bigger Transformer: 增大前向網絡的隱藏節點。
Pre-trained Transformer
最近的研究表明,在大規模語料上訓練的語言模型,對其下遊任務有很顯著的提升。我們在中文數據上訓練出一個24層的Transformer語言模型,採用自編碼的訓練方法,即隨機將句子中的詞變為masked標籤,並經過24層的Transformer進行編碼,最後預測masked位置的實際的詞。以預訓練的語言模型作為翻譯模型的編碼器,在中英雙語數據上繼續訓練翻譯模型。在使用雙語數據訓練階段,預訓練語言模型(編碼器)的參數在前10000步保持不變,只更新解碼器的參數,之後編碼器和解碼器都會更新參數。
Pre-trained Transformer相比標準的big Transformer擁有更深的encoder(從6層擴展到24層),並且經過在超大規模的中文單語數據上預訓練,可以對源語言(中文)句子提取更多的有效特徵,從而有效的提高模型的翻譯質量。從自動評價指標BLEU上看,Pre-trained Transformer相比big Transformer,顯著提升了1個百分點。
Deeper Transformer
更深的編碼器可以提取更多的特徵,但是對於翻譯模型的訓練而言,僅加深編碼器的層數,通常會遇到梯度消失的問題,導致模型無法正常收斂。我們提出Deeper Transformer, 在更深的編碼器中,通過增加殘差連接,即前面所有層都作為下一層的輸入,避免了梯度消失,實現了端到端的翻譯訓練。標準的base Transformer和big Transformer模型,編碼器和解碼器都是6層的。而對於採用deeper Transformer的模型, base Transformer的編碼器可以擴展到30層,big Transformer的編碼器可以擴展到15層。
Deeper Transformer相比標準的big Transformer性能提升較少,但是在模型集成階段,加入Deeper Transformer可以顯著提升整個系統的翻譯質量,在本文後面的模型集成部分會有更詳細的介紹。
Bigger Transformer
此外,我們提出了Bigger Transformer,在寬度的維度上增強模型。探索了增大前向網絡節點和隱藏層節點對翻譯質量的影響,發現增大前向網絡節點可以顯著提升翻譯質量。Bigger Transformer的前向網絡節點數是15000,而標準的big Transformer的前向網絡節點數是4096。但是,更多的參數更容易在訓練過程中出現過擬合問題。通過增大dropout的比率和label smoothing的參數避免了過擬合。相比big Transformer, Bigger Transformer提升了0.8 BLEU。
三、數據增強
對於單語數據,採用聯合訓練方法增強back translation生成的譯文,構造更高質量的「偽」雙語數據。首先使用中英雙語數據分別訓練中英和英中翻譯模型,中英模型將中文單語數據翻譯成英文,英中模型將英文單語數據翻譯成中文。中英模型在英中模型產生的「偽」的雙語數據上繼續訓練,英中模型在中英模型生成的「偽」的雙語數據上繼續訓練,中英和英中模型的性能都得到提升。在下一輪中,翻譯效果更好的中英、英中模型可以生成質量更高的偽數據,用來進一步提升翻譯模型。
對於雙語數據的目標端(英文),通過英-中翻譯模型生成源端(中文)譯文,將「生成」的中文和「真實」的英文作為增強的數據混入雙語數據共同訓練中英模型。
對於雙語數據的源端(中文),採用知識蒸餾的方法,以R2L翻譯模型(從右到左的翻譯順序)和異構模型(不同結構的模型)作為「Teacher」, 生成目標端(英文)譯文,再將「真實」的中文和「生成」的英文作為增強數據,指導模型學習更多的知識。R2L翻譯模型作為「Teacher」,由於翻譯模型解碼的特性,生成的英文譯文的後部分翻譯的通常比前部分更好,通過知識蒸餾方法可以讓翻譯模型(L2R)學習到更多的句子後部信息。不同結構的翻譯模型具有不同的翻譯特性,例如,Deeper Transformer和Bigger Transformer可以作為Pre-trained Transformer的「Teacher」,指導Pre-trained Transformer學習Deeper Transformer和Bigger Transformer的特性。如下圖所示,D』表示模型生成的雙語句對,多個不同的D』組合作為模型的訓練語料。
多種數據增強方法,不僅可以增強模型的魯棒性,還指導模型學習其他模型特有的知識,從而進一步提升翻譯效果。
四、模型集成
模型集成解碼可以顯著提升翻譯效果。我們使用不同的模型,在不同的數據上採用不同的策略訓練出上百個翻譯模型,以探索不同的模型集成對翻譯質量的影響。經過大量的實驗發現,相同結構的模型進行集成,即使性能都很強,但是集成的翻譯效果收益較小;而集成不同結構的模型,翻譯的效果得到了非常顯著的提升,相比最強的單系統提升了1.4 BLEU。
五、重排序
集成模型生成k個候選譯文,通過k-best MIRA算法學習各個特徵的權重,從而對候選譯文進一步排序,選擇最好的譯文。設計了4種特徵,可以有效的提高翻譯質量:
1.翻譯模型特徵:集成模型生成譯文的得分和R2L模型對譯文的打分。
2.語言模型特徵:多個語言模型和後向語言模型對譯文的打分。
3.長度特徵:譯文和原文的長度比和長度差。
4.加權投票特徵:計算每個譯文和其他候選譯文的BLEU,並計算其平均值。
通過以上技術創新,相比於基線系統,我們獲得了6-7個百分點的大幅提升。作為國內最早的網際網路機器翻譯系統之一,百度翻譯在技術和產品上一直處於業界領先。早在2015年,百度翻譯就發布了全球首個神經網絡翻譯系統,並於同年獲得國家科技進步二等獎。通過不斷的技術創新,翻譯質量保持業界領先。在剛剛過去的百度開發者大會上,發布了業界首個端到端的同傳翻譯小程序,為用戶提供沉浸式同傳體驗。隨著技術的不斷進步與發展,機器翻譯將在跨越語言鴻溝中發揮越來越大的作用。
百度自然語言處理(Natural Language Processing,NLP)以『理解語言,擁有智能,改變世界』為使命,研發自然語言處理核心技術,打造領先的技術平臺和創新產品,服務全球用戶,讓複雜的世界更簡單。