天天看點

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

新智元報道

編輯:David 拉燕

【新智元導讀】近日,微軟研究院的研究人員搞出了一個1000層的Transformer,在多語種機器翻譯任務上重新整理多項SOTA

近年來,追求大規模的Transformer模型成為了一種潮流。

從一開始的百萬級的模型參數,到十億級,再到萬億級,參數規模極大增加。大規模的模型可以在大量任務中可以有更棒的表現,在小樣本和零樣本學習的情況下也展現出了出色的能力。

盡管參數的數量越來越大,參數的深度卻一直在被Transformer訓練的不穩定性所局限。2019年,科學家Nguyen和Salazar發現,基于post-norm連接配接的pre-norm殘差連接配接可以提升Transformer的穩定性。

底層Pre-LN的梯度會比頂層的要大,這就導緻和Post-LN相比,在性能上會有些許衰退。

為了解決這個問題,研究人員嘗試提升了深度Transformer的優化。這是通過更好的初始化或是架構實作的。這些辦法使Transformer在數百層的情況下也能保持穩定。

但是還是沒有一種辦法可以使Transformer的層數到達1000.

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

論文連結:https://arxiv.org/abs/2203.00555

最近,來自微軟研究院的一篇論文,成功實作了Transformer層數量級上的突破,達到了1000層。

研究人員的目标就是不斷提升Transformer訓練的穩定性,繼續提升模型的深度。他們研究了優化不穩定的原因所在,發現正是模型參數規模爆炸式的增加導緻了這種不穩定性。

基于上述結論,研究人員在殘差連接配接處使用了一種新的規範化函數——DEEPNORM。理論上,這種新的函數可以把模型的更新限制在一個常數以内。

這種辦法看似簡單,實則有效,隻需要改變幾行代碼而已。

有了新函數,Transformers的穩定性就得到了大幅提升。研究人員也可以把模型的深度擴大到1000層。

此外,DEEPNORM還成功将Post-LN和Pre-LN的優良性能進行結合。新方法是Transformers的上位替代,對于深度的模型和大規模的模型都是如此。

值得一提的是,和目前最先進的有12B參數的48層模型相比,3.2B參數的200層模型實作了5 BLEU的提升。這部分提升主要展現在大規模多語言機器翻譯基準上。

在基于Transformer的PostLN上使用新發現的辦法不是件難事。和Post-LN相比,DEEPNORM進行層級規範化之前,更新了殘差連接配接。

另外,研究人員在初始化的過程中把參數降級了。特别要指出,他們把前饋網絡的占比提高了,一同被提高的還有注意力層的價值投影和輸出投影。

且殘差連接配接和初始化的規模和整體結構是相關的。

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

超深的Transformer:DEEPNET

研究人員引入了超深Transformer——DEEPNET. 通過緩解極大增長的模型在更新中遇到的問題,DEEPNET可以是優化的過程更加穩定。

首先,研究人員給出了DEEPNET模型更新的預測量級。之後又給出了理論分析,發現隻要使用DEEPNORM,DEEPNET更新的過程就可以被限制在一個常數。

DEEPNET基于Transformer架構。和之前的vanilla Transformer相比,在每個子層上,都使用了研究人員最新研究的DEEPNORM,而不是Post-LN。

DEEONORM的表達式可以寫成:

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

其中,α是常數,Gl(xl , θl)是第I層Transformer的子層的方程,同時θl是系數。DEEPNET還能殘差内部的權重放大了β。

α和β都是常數,且隻和結構有關。

此外,注意力是Transformer一個很重要的部分。

在不失一般性的情況下,研究人員研究了1-head的情況。其中Q、K、V分别指query、key和value。而WQ、WK、WV都是輸入的映射矩陣。WO則是輸出的映射矩陣。是以,注意力方程式可以寫作:

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

下圖展示了在早期的訓練階段,vanilla Post-LN和DEEPNET模型更新時的情況。研究人員将64-128-2微小Transformer進行了可視化,它們的深度從6L6L到100L100L不等。

從該圖中我們可以看出,DEEPNET比Post-LN有更穩定的更新。

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

性能:1000層網絡,顯著提升NMT表現

神經機器翻譯

我們在流行的機器翻譯基準上驗證了DEEPNET的有效性,包括 IWSLT-14德語-英語(De-En)資料集和WMT-17英語-德語(En-De)資料集。

我們将DEEPNET與多個最先進的深層Transformer模型進行了比較,包括DLCL、NormFormer、ReZero、R-Fixup,T-Fixup,DS-init等。

我們用上述其他模型的開源代碼重制了基線标準性能,并設定了相同的超參數。使用BLEU作為所有實驗的評估名額,評估結果如下:

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

上表所示為基線和DEEPNET的結果和DEEPNET在WMT-17 英語-德語翻譯資料集上的結果

與Post-LN的模型相比,DEEPNET更加穩定,可以成功擴充到100L-100L,在測試集上達到28.9的BLEU。相比之下,當深度達到50L-50L時,帶有Post-LN的基線導緻了不穩定的優化。此外,當模型較淺時,DEEPNET取得了與這些基線相當的性能。

不同深度上的快速收斂

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

我們将模型的深度從10L-10L到100L-100L,間隔為10層。除了ReZero3,所有實驗都是在混合精度訓練下進行的。上圖所示為IWSLT-14資料集上的結果。

我們對模型進行了8000步的訓練,因為我們發現大多數收斂發生在優化的開始階段。總的來說,DEEPNET從淺到深都很穩定,收斂很快,隻用了8000步就達到了30多個BLEU,大多數基線達不到這一水準。另外,随着模型深度的增加,其性能不斷提高。

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

更高的學習率、批規模和隐藏次元

我們進一步将DEEPNET分别擴充到更高的學習率、批規模和隐藏次元上。

在每個實驗中隻改變一個超參數,其他超參數固定。上圖所示為WMT-17驗證集上的損失曲線。

結果表明,在這一設定下,DEEPNET可以毫無困難地訓練。在1024個隐藏大小的情況下,由于過拟合,DEEPNET的損失在10K步之後增加。此外,DEEPNET可以從更大的設定中獲益,獲得更快的收斂速度和更低的驗證損失。

大規模多語言神經機器翻譯

我們在大規模多語言機器翻譯上進行了實驗,這是大模型的一個很好的測試平台。

首先使用OPUS-100語料庫來評估模型。OPUS100是一個以英語為中心的多語言語料庫,涵蓋了100種語言,它是從OPUS集合中随機抽取的。我們将DEEPNET的規模擴大到1000層。該模型有一個500層的編碼器,一個500層的解碼器,512個隐藏大小,8個注意力頭,以及2048維的前饋層。

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

如上圖所示,實驗結果表明,增加網絡深度可以顯著提高神經機器翻譯的翻譯品質:48層的基線比12層的模型平均實作了3.2分BLEU分數增長。

DEEPNET可以成功地将深度擴大到1000層,比基線提高了4.4 BLEU。而且DEEPNET隻訓練了4個epoch,如果有更多的計算預算,其性能還可以進一步提高。

更多的資料量,更多的語言

為了探索DEEPNET在多語言神經機器翻譯上的局限,我們還使用CCMatrix擴大訓練資料的規模。我們擴大了CCAligned、OPUS和Tatoeba4的資料,以覆寫Flores101評估集的所有語言。最終的資料包括102種語言,1932個方向,以及120億個句子對。

利用這些資料,我們用100層編碼器、100層解碼器、1024個隐藏次元、16個頭和4096個中間次元的前饋層來訓練DEEPNET,結果如下:

千層Transformer問世!多語種機器翻譯水準重新整理多項SOTA

綜上,DEEPNET提高了Transformer的穩定性,并成功地将其擴充到1000層。它在理論上證明了以模型更新的恒定上界來穩定優化。實驗結果驗證了我們的方法在各種基準中的有效性。

目前的實驗專注于機器翻譯作為一個測試平台。在未來,我們将擴充DEEPNET,支援更多不同的任務,如語言模型預訓練、蛋白質結構預測,以及BEiT視覺預訓練等。

參考連結:

https://arxiv.org/abs/2203.00555

繼續閱讀