ACL 2021 | Glancing Transformer:惊鸿一瞥的并行生成模型
?作者?|?錢利華
來源?|?機(jī)器之心
本文提出了一種為單步并行生成進(jìn)行詞之間依賴關(guān)系建模的方法。基于該方法的模型GLAT在不久前的國(guó)際機(jī)器翻譯大賽(WMT2021)上擊敗一眾自回歸翻譯系統(tǒng),奪得了德語到英語方向機(jī)器翻譯自動(dòng)評(píng)估第一。
目前機(jī)器翻譯中常用的神經(jīng)網(wǎng)絡(luò)模型(例如 Transformer ,LSTM)基本上都是自回歸模型(Autoregressive models)。自回歸模型在輸出句子時(shí)是逐詞按順序生成的,每一個(gè)輸出的詞都依賴于之前的輸出詞。
雖然自回歸模型被廣泛應(yīng)用并取得了不錯(cuò)的效果,但是自回歸模型要求每一步輸出都需要按順序等待前面位置的輸出。因此,按順序生成的方式會(huì)阻礙自回歸模型充分利用并行計(jì)算,當(dāng)輸出文本較長(zhǎng)或者模型比較復(fù)雜的時(shí)候?qū)е聶C(jī)器翻譯的速度很慢。
因此,為了充分利用并行計(jì)算資源來加速生成,學(xué)術(shù)界提出了非自回歸(Non-autoregressive)的機(jī)器翻譯模型[1]。非自回歸模型去除了每一個(gè)輸出依賴于前面部分輸出的限制,假定不同位置之間的輸出是條件獨(dú)立的(即每一個(gè)輸出的具體值與其他位置的輸出具體取值無關(guān)),使得模型可以并行輸出文本。得益于并行輸出的方式,非自回歸模型可以更充分地利用并行計(jì)算來加快生成的速度。
雖然在生成速度上存在優(yōu)勢(shì),但是之前的非自回歸模型的翻譯質(zhì)量和自回歸模型還存在顯著差距。翻譯質(zhì)量差距的存在主要是因?yàn)槿绻⑿休敵稣Z句,任何詞在輸出之間都無法確定語句中其它的詞,難以有效利用詞之間的依賴關(guān)系組成連貫的語句。為了在并行生成中建模并利用詞之間的依賴關(guān)系,一些工作提出進(jìn)行多輪并行輸出來迭代修改語句[2,3,4]。雖然多輪迭代提升了輸出語句的質(zhì)量,但同時(shí)也減慢了生成的速度。
那么是否有可能只進(jìn)行一次并行的輸出就得到質(zhì)量不錯(cuò)的語句呢?
這里為大家介紹一篇 ACL2021 的研究非自回歸機(jī)器翻譯的工作《Glancing Transformer for Non-autoregressive neural machine translation》[5], 作者來自字節(jié)跳動(dòng)人工智能實(shí)驗(yàn)室,上海交通大學(xué)和南京大學(xué)。
該工作提出了一種為單步并行生成方式進(jìn)行詞之間依賴關(guān)系建模的方法。在不久前的國(guó)際機(jī)器翻譯大賽(WMT2021)上, GLAT 擊敗一眾自回歸翻譯系統(tǒng),奪得了德語到英語方向機(jī)器翻譯自動(dòng)評(píng)估第一。
論文地址:
https://arxiv.org/abs/2008.07905
代碼地址:
https://github.com/FLC777/GLAT
設(shè)計(jì)動(dòng)機(jī)和方法
自回歸模型中最為常用的訓(xùn)練方式是最大似然估計(jì)(MLE),不少非自回歸模型也直接使用 MLE 進(jìn)行訓(xùn)練。但是非自回歸模型的輸出方式是并行的,輸出語句中的任何部分在輸出之前都無法獲得輸出語句中其余詞的確切值。所以直接使用 MLE 訓(xùn)練并行輸出的非自回歸模型無法有效地建模輸出語句中詞之間的依賴關(guān)系。值得注意的是,詞之間依賴關(guān)系的建模對(duì)輸出通順的語句至關(guān)重要,擁有良好生成質(zhì)量的自回歸模型和多輪迭代解碼的模型均對(duì)這種依賴關(guān)系進(jìn)行了有效的建模。
直接訓(xùn)練完全并行生成來學(xué)習(xí)目標(biāo)語句中詞之間的依賴關(guān)系對(duì)模型并不友好。一種更為簡(jiǎn)單有效的依賴關(guān)系學(xué)習(xí)方式是根據(jù)部分輸入詞預(yù)測(cè)其余目標(biāo)詞。但是這種學(xué)習(xí)方式需要部分目標(biāo)詞作為輸入,不符合非自回歸模型并行生成的要求。作者觀察到隨著模型自身更好地學(xué)習(xí)到詞之間的依賴關(guān)系,模型對(duì)于依賴關(guān)系的學(xué)習(xí)可以逐漸擺脫使用目標(biāo)語句部分詞作為輸入的需求。基于以上觀察,Glancing Transformer(GLAT)利用了一種 glancing language model 的方法,通過漸進(jìn)學(xué)習(xí)的方式進(jìn)行詞之間依賴關(guān)系的建模。在漸進(jìn)學(xué)習(xí)的過程中,模型會(huì)先學(xué)習(xí)并行輸出一些較為簡(jiǎn)單的語句片段,然后逐漸學(xué)習(xí)整句話的單步并行生成。
GLAT 在輸出時(shí)和常規(guī)的非自回歸模型保持一致,均只使用一次并行解碼來輸出語句。而在訓(xùn)練時(shí),GLAT 會(huì)進(jìn)行兩次解碼:
(1)第一步解碼 (Glancing Sampling) 主要根據(jù)模型的訓(xùn)練狀況來估計(jì)模型需要看到的目標(biāo)詞的數(shù)量,然后采樣相應(yīng)數(shù)量的目標(biāo)詞并替換到解碼器輸入中。
(2)第二步解碼時(shí) GLAT 會(huì)基于用目標(biāo)詞替換過后的解碼器輸入來讓模型學(xué)習(xí)剩余詞的輸出。模型只在第二步解碼時(shí)進(jìn)行參數(shù)更新(Optimization),第一步解碼僅輸出語句。
具體地,在第一次解碼的時(shí)候,和常規(guī)的非自回歸模型一樣,模型使用完全并行解碼的方式輸出語句。然后將第一次解碼得到的輸出和訓(xùn)練數(shù)據(jù)中的目標(biāo)語句進(jìn)行對(duì)比。如果輸出和目標(biāo)語句差距較大,說明模型在訓(xùn)練中難以擬合該訓(xùn)練樣本,因此這時(shí) GLAT 會(huì)選擇提供更多目標(biāo)詞作為輸入來幫助學(xué)習(xí)詞之間依賴關(guān)系。反之,如果輸出和目標(biāo)語句比較接近,則模型自身已經(jīng)較好地學(xué)習(xí)了如何并行生成該目標(biāo)語句,所需要的目標(biāo)詞數(shù)量也相應(yīng)減少。
在第二步解碼之前,模型的解碼器可以得到部分目標(biāo)詞作為輸入,這些詞的數(shù)量由第一步的解碼結(jié)果所決定。這時(shí),模型在并行輸出之前可以獲得部分目標(biāo)詞的確切值,所以在學(xué)習(xí)輸出剩余目標(biāo)詞的過程中就可以對(duì)目標(biāo)語句中詞之間的依賴關(guān)系進(jìn)行建模。
上圖給出了模型訓(xùn)練中的兩個(gè)例子(注意模型只有一個(gè) decoder,在訓(xùn)練中進(jìn)行了兩次 decoding)。當(dāng)模型還不能準(zhǔn)確地生成目標(biāo)語句時(shí),GLAT 會(huì)在目標(biāo)語句中隨機(jī)采樣目標(biāo)詞作為解碼器輸入。例如上圖左邊的例子中,模型的翻譯結(jié)果是 “travel to to a world”。GLAT 將該結(jié)果和目標(biāo)語句“travel all over the world” 進(jìn)行對(duì)比,發(fā)現(xiàn)當(dāng)前結(jié)果較差,僅有兩個(gè)詞和目標(biāo)語句相同。因此 GLAT 隨機(jī)采樣了詞 “over”,并把“over” 的詞向量替換到相應(yīng)位置的解碼器輸入中。
隨著訓(xùn)練的進(jìn)行,模型對(duì)數(shù)據(jù)擬合程度更高,因此能夠更準(zhǔn)確地生成目標(biāo)語句。與此同時(shí),需要作為解碼器輸入的目標(biāo)語句中的詞的數(shù)量會(huì)越來越少,在訓(xùn)練后期逐漸接近學(xué)習(xí)完全并行生成的訓(xùn)練場(chǎng)景(例如上圖右邊的例子)。具體的方法細(xì)節(jié)和實(shí)現(xiàn)方式可以參考論文。
效果分析
GLAT 在保持高效生成速度的同時(shí)顯著提升了單步并行輸出的翻譯質(zhì)量
在多個(gè)翻譯語向上,GLAT 均取得了顯著提升并超越了之前的單步并行生成模型。結(jié)合 reranking 和 CTC 等技術(shù)之后,GLAT 可以只使用單步并行生成就達(dá)到接近自回歸 Transformer 的翻譯質(zhì)量。由于 GLAT 只修改訓(xùn)練過程,在翻譯時(shí)只進(jìn)行單步并行生成,因此保持了高效的生成速度。
GLAT 提升了非自回歸模型在長(zhǎng)句上的翻譯質(zhì)量
通過對(duì)比不同輸入長(zhǎng)度下的翻譯質(zhì)量,我們發(fā)現(xiàn)相比于常規(guī)的 NAT 模型(NAT-base),GLAT 顯著提升了在長(zhǎng)句上的表現(xiàn)。除此之外,我們還發(fā)現(xiàn)在輸入長(zhǎng)度較短時(shí),GLAT 的效果甚至略優(yōu)于自回歸的 Transformer 模型(AT)。
案例分析
GLAT 和自回歸的 Transformer 在翻譯結(jié)果上各有優(yōu)劣。通過案例分析,我們可以發(fā)現(xiàn) Transformer 在翻譯時(shí)可能會(huì)產(chǎn)生部分漏翻的情況,而 GLAT 在語序調(diào)整上不如 Transformer.
總結(jié)
該工作提出了 Glancing Language Model(GLM),一種為單步并行生成方式建模詞之間依賴關(guān)系的方法。在多個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)顯示使用了 GLM 的模型——GLAT 可以大幅提升并行生成的質(zhì)量,并且僅使用一次并行輸出就可以達(dá)到接近自回歸模型的效果。GLAT 已經(jīng)在火山翻譯的部分語向上線。此外,基于該技術(shù)的并行翻譯模型在 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).
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的ACL 2021 | Glancing Transformer:惊鸿一瞥的并行生成模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10怎么设置驱动器 设置Win10
- 下一篇: 旷视三维视觉Workshop | 3D组