ACL 2021 | Glancing Transformer:惊鸿一瞥的并行生成模型
?作者?|?錢利華
來源?|?機器之心
本文提出了一種為單步并行生成進行詞之間依賴關系建模的方法。基于該方法的模型GLAT在不久前的國際機器翻譯大賽(WMT2021)上擊敗一眾自回歸翻譯系統,奪得了德語到英語方向機器翻譯自動評估第一。
目前機器翻譯中常用的神經網絡模型(例如 Transformer ,LSTM)基本上都是自回歸模型(Autoregressive models)。自回歸模型在輸出句子時是逐詞按順序生成的,每一個輸出的詞都依賴于之前的輸出詞。
雖然自回歸模型被廣泛應用并取得了不錯的效果,但是自回歸模型要求每一步輸出都需要按順序等待前面位置的輸出。因此,按順序生成的方式會阻礙自回歸模型充分利用并行計算,當輸出文本較長或者模型比較復雜的時候導致機器翻譯的速度很慢。
因此,為了充分利用并行計算資源來加速生成,學術界提出了非自回歸(Non-autoregressive)的機器翻譯模型[1]。非自回歸模型去除了每一個輸出依賴于前面部分輸出的限制,假定不同位置之間的輸出是條件獨立的(即每一個輸出的具體值與其他位置的輸出具體取值無關),使得模型可以并行輸出文本。得益于并行輸出的方式,非自回歸模型可以更充分地利用并行計算來加快生成的速度。
雖然在生成速度上存在優勢,但是之前的非自回歸模型的翻譯質量和自回歸模型還存在顯著差距。翻譯質量差距的存在主要是因為如果并行輸出語句,任何詞在輸出之間都無法確定語句中其它的詞,難以有效利用詞之間的依賴關系組成連貫的語句。為了在并行生成中建模并利用詞之間的依賴關系,一些工作提出進行多輪并行輸出來迭代修改語句[2,3,4]。雖然多輪迭代提升了輸出語句的質量,但同時也減慢了生成的速度。
那么是否有可能只進行一次并行的輸出就得到質量不錯的語句呢?
這里為大家介紹一篇 ACL2021 的研究非自回歸機器翻譯的工作《Glancing Transformer for Non-autoregressive neural machine translation》[5], 作者來自字節跳動人工智能實驗室,上海交通大學和南京大學。
該工作提出了一種為單步并行生成方式進行詞之間依賴關系建模的方法。在不久前的國際機器翻譯大賽(WMT2021)上, GLAT 擊敗一眾自回歸翻譯系統,奪得了德語到英語方向機器翻譯自動評估第一。
論文地址:
https://arxiv.org/abs/2008.07905
代碼地址:
https://github.com/FLC777/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).
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的ACL 2021 | Glancing Transformer:惊鸿一瞥的并行生成模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10怎么设置驱动器 设置Win10
- 下一篇: 旷视三维视觉Workshop | 3D组