目前機器翻譯中常用的神經網絡模型(例如 Transformer ,LSTM)基本上都是自回歸模型(Autoregressive models)。自回歸模型在輸出句子時是逐詞按順序生成的,每一個輸出的詞都依賴于之前的輸出詞。

雖然自回歸模型被廣泛應用并取得了不錯的效果,但是自回歸模型要求每一步輸出都需要按順序等待前面位置的輸出。是以,按順序生成的方式會阻礙自回歸模型充分利用并行計算,當輸出文本較長或者模型比較複雜的時候導緻機器翻譯的速度很慢。
是以,為了充分利用并行計算資源來加速生成,學術界提出了非自回歸(Non-autoregressive)的機器翻譯模型[1]。非自回歸模型去除了每一個輸出依賴于前面部分輸出的限制,假定不同位置之間的輸出是條件獨立的(即每一個輸出的具體值與其他位置的輸出具體取值無關),使得模型可以并行輸出文本。得益于并行輸出的方式,非自回歸模型可以更充分地利用并行計算來加快生成的速度。
雖然在生成速度上存在優勢,但是之前的非自回歸模型的翻譯品質和自回歸模型還存在顯著差距。翻譯品質差距的存在主要是因為如果并行輸出語句,任何詞在輸出之間都無法确定語句中其它的詞,難以有效利用詞之間的依賴關系組成連貫的語句。為了在并行生成中模組化并利用詞之間的依賴關系,一些工作提出進行多輪并行輸出來疊代修改語句[2,3,4]。雖然多輪疊代提升了輸出語句的品質,但同時也減慢了生成的速度。
那麼是否有可能隻進行一次并行的輸出就得到品質不錯的語句呢?
這裡為大家介紹一篇 ACL2021 的研究非自回歸機器翻譯的工作《Glancing Transformer for Non-autoregressive neural machine translation》[5], 作者來自位元組跳動人工智能實驗室,上海交通大學和南京大學。
該工作提出了一種為單步并行生成方式進行詞之間依賴關系模組化的方法。在不久前的國際機器翻譯大賽(WMT2021)上, GLAT 擊敗一衆自回歸翻譯系統,奪得了德語到英語方向機器翻譯自動評估第一。
設計動機和方法
自回歸模型中最為常用的訓練方式是最大似然估計(MLE),不少非自回歸模型也直接使用 MLE 進行訓練。但是非自回歸模型的輸出方式是并行的,輸出語句中的任何部分在輸出之前都無法獲得輸出語句中其餘詞的确切值。是以直接使用 MLE 訓練并行輸出的非自回歸模型無法有效地模組化輸出語句中詞之間的依賴關系。值得注意的是,詞之間依賴關系的模組化對輸出通順的語句至關重要,擁有良好生成品質的自回歸模型和多輪疊代解碼的模型均對這種依賴關系進行了有效的模組化。
直接訓練完全并行生成來學習目智語句中詞之間的依賴關系對模型并不友好。一種更為簡單有效的依賴關系學習方式是根據部分輸入詞預測其餘目标詞。但是這種學習方式需要部分目标詞作為輸入,不符合非自回歸模型并行生成的要求。作者觀察到随着模型自身更好地學習到詞之間的依賴關系,模型對于依賴關系的學習可以逐漸擺脫使用目智語句部分詞作為輸入的需求。基于以上觀察,Glancing Transformer(GLAT)利用了一種 glancing language model 的方法,通過漸進學習的方式進行詞之間依賴關系的模組化。在漸進學習的過程中,模型會先學習并行輸出一些較為簡單的語句片段,然後逐漸學習整句話的單步并行生成。
GLAT 在輸出時和正常的非自回歸模型保持一緻,均隻使用一次并行解碼來輸出語句。而在訓練時,GLAT 會進行兩次解碼:
(1)第一步解碼 (Glancing Sampling) 主要根據模型的訓練狀況來估計模型需要看到的目标詞的數量,然後采樣相應數量的目标詞并替換到解碼器輸入中。
(2)第二步解碼時 GLAT 會基于用目标詞替換過後的解碼器輸入來讓模型學習剩餘詞的輸出。模型隻在第二步解碼時進行參數更新(Optimization),第一步解碼僅輸出語句。
具體地,在第一次解碼的時候,和正常的非自回歸模型一樣,模型使用完全并行解碼的方式輸出語句。然後将第一次解碼得到的輸出和訓練資料中的目智語句進行對比。如果輸出和目智語句差距較大,說明模型在訓練中難以拟合該訓練樣本,是以這時 GLAT 會選擇提供更多目标詞作為輸入來幫助學習詞之間依賴關系。反之,如果輸出和目智語句比較接近,則模型自身已經較好地學習了如何并行生成該目智語句,所需要的目标詞數量也相應減少。
在第二步解碼之前,模型的解碼器可以得到部分目标詞作為輸入,這些詞的數量由第一步的解碼結果所決定。這時,模型在并行輸出之前可以獲得部分目标詞的确切值,是以在學習輸出剩餘目标詞的過程中就可以對目智語句中詞之間的依賴關系進行模組化。
上圖給出了模型訓練中的兩個例子(注意模型隻有一個 decoder,在訓練中進行了兩次 decoding)。當模型還不能準确地生成目智語句時,GLAT 會在目智語句中随機采樣目标詞作為解碼器輸入。例如上圖左邊的例子中,模型的翻譯結果是 “travel to to a world”。GLAT 将該結果和目智語句“travel all over the world” 進行對比,發現目前結果較差,僅有兩個詞和目智語句相同。是以 GLAT 随機采樣了詞 “over”,并把“over” 的詞向量替換到相應位置的解碼器輸入中。
随着訓練的進行,模型對資料拟合程度更高,是以能夠更準确地生成目智語句。與此同時,需要作為解碼器輸入的目智語句中的詞的數量會越來越少,在訓練後期逐漸接近學習完全并行生成的訓練場景(例如上圖右邊的例子)。具體的方法細節和實作方式可以參考論文。
效果分析
GLAT 在保持高效生成速度的同時顯著提升了單步并行輸出的翻譯品質
在多個翻譯語向上,GLAT 均取得了顯著提升并超越了之前的單步并行生成模型。結合 reranking 和 CTC 等技術之後,GLAT 可以隻使用單步并行生成就達到接近自回歸 Transformer 的翻譯品質。由于 GLAT 隻修改訓練過程,在翻譯時隻進行單步并行生成,是以保持了高效的生成速度。
GLAT 提升了非自回歸模型在長句上的翻譯品質
通過對比不同輸入長度下的翻譯品質,我們發現相比于正常的 NAT 模型(NAT-base),GLAT 顯著提升了在長句上的表現。除此之外,我們還發現在輸入長度較短時,GLAT 的效果甚至略優于自回歸的 Transformer 模型(AT)。
案例分析
GLAT 和自回歸的 Transformer 在翻譯結果上各有優劣。通過案例分析,我們可以發現 Transformer 在翻譯時可能會産生部分漏翻的情況,而 GLAT 在語序調整上不如 Transformer.
總結
該工作提出了 Glancing Language Model(GLM),一種為單步并行生成方式模組化詞之間依賴關系的方法。在多個資料集上的實驗顯示使用了 GLM 的模型——GLAT 可以大幅提升并行生成的品質,并且僅使用一次并行輸出就可以達到接近自回歸模型的效果。GLAT 已經在火山翻譯的部分語向上線。此外,基于該技術的并行翻譯模型在 WMT2021 比賽中的德英語向上取得了第一。
[1] Jiatao Gu, James Bradbury, Caiming Xiong, Vic- tor O.K. Li, and Richard Socher. Non- autoregressive neural machine translation. ICLR 2018
[2] Jason Lee, Elman Mansimov, and Kyunghyun Cho. Deterministic non-autoregressive neural sequence modeling by iterative refinement. EMNLP 2018
[3] Marjan Ghazvininejad, Omer Levy, Yinhan Liu, and Luke Zettlemoyer. Mask-predict: Parallel de- coding of conditional masked language models. EMNLP-IJCNLP 2019
[4] Jiatao Gu, Changhan Wang, and Junbo Zhao. Levenshtein transformer. NeurIPS 2019
[5]Lihua Qian, Hao Zhou, Yu Bao, Mingxuan Wang, Lin Qiu, Weinan Zhang, Yong Yu, and Lei Li. Glancing transformer for non-autoregressive neural machine translation. arXiv preprint arXiv:2008.07905 (2020).