新智元報(bào)道
編輯:David 拉燕
【新智元導(dǎo)讀】近日,微軟研究院的研究人員搞出了一個(gè)1000層的Transformer,在多語(yǔ)種機(jī)器翻譯任務(wù)上刷新多項(xiàng)SOTA
近年來(lái),追求大規(guī)模的Transformer模型成為了一種潮流。
從一開(kāi)始的百萬(wàn)級(jí)的模型參數(shù),到十億級(jí),再到萬(wàn)億級(jí),參數(shù)規(guī)模極大增加。大規(guī)模的模型可以在大量任務(wù)中可以有更棒的表現(xiàn),在小樣本和零樣本學(xué)習(xí)的情況下也展現(xiàn)出了出色的能力。
盡管參數(shù)的數(shù)量越來(lái)越大,參數(shù)的深度卻一直在被Transformer訓(xùn)練的不穩(wěn)定性所局限。2019年,科學(xué)家Nguyen和Salazar發(fā)現(xiàn),基于post-norm連接的pre-norm殘差連接可以提升Transformer的穩(wěn)定性。
底層Pre-LN的梯度會(huì)比頂層的要大,這就導(dǎo)致和Post-LN相比,在性能上會(huì)有些許衰退。
為了解決這個(gè)問(wèn)題,研究人員嘗試提升了深度Transformer的優(yōu)化。這是通過(guò)更好的初始化或是架構(gòu)實(shí)現(xiàn)的。這些辦法使Transformer在數(shù)百層的情況下也能保持穩(wěn)定。
但是還是沒(méi)有一種辦法可以使Transformer的層數(shù)到達(dá)1000.
論文鏈接:https://arxiv.org/abs/2203.00555
最近,來(lái)自微軟研究院的一篇論文,成功實(shí)現(xiàn)了Transformer層數(shù)量級(jí)上的突破,達(dá)到了1000層。
研究人員的目標(biāo)就是不斷提升Transformer訓(xùn)練的穩(wěn)定性,繼續(xù)提升模型的深度。他們研究了優(yōu)化不穩(wěn)定的原因所在,發(fā)現(xiàn)正是模型參數(shù)規(guī)模爆炸式的增加導(dǎo)致了這種不穩(wěn)定性。
基于上述結(jié)論,研究人員在殘差連接處使用了一種新的規(guī)范化函數(shù)——DEEPNORM。理論上,這種新的函數(shù)可以把模型的更新限制在一個(gè)常數(shù)以?xún)?nèi)。
這種辦法看似簡(jiǎn)單,實(shí)則有效,只需要改變幾行代碼而已。
有了新函數(shù),Transformers的穩(wěn)定性就得到了大幅提升。研究人員也可以把模型的深度擴(kuò)大到1000層。
此外,DEEPNORM還成功將Post-LN和Pre-LN的優(yōu)良性能進(jìn)行結(jié)合。新方法是Transformers的上位替代,對(duì)于深度的模型和大規(guī)模的模型都是如此。
值得一提的是,和目前最先進(jìn)的有12B參數(shù)的48層模型相比,3.2B參數(shù)的200層模型實(shí)現(xiàn)了5 BLEU的提升。這部分提升主要體現(xiàn)在大規(guī)模多語(yǔ)言機(jī)器翻譯基準(zhǔn)上。
在基于Transformer的PostLN上使用新發(fā)現(xiàn)的辦法不是件難事。和Post-LN相比,DEEPNORM進(jìn)行層級(jí)規(guī)范化之前,升級(jí)了殘差連接。
另外,研究人員在初始化的過(guò)程中把參數(shù)降級(jí)了。特別要指出,他們把前饋網(wǎng)絡(luò)的占比提高了,一同被提高的還有注意力層的價(jià)值投影和輸出投影。
且殘差連接和初始化的規(guī)模和整體結(jié)構(gòu)是相關(guān)的。
超深的Transformer:DEEPNET
研究人員引入了超深Transformer——DEEPNET. 通過(guò)緩解極大增長(zhǎng)的模型在升級(jí)中遇到的問(wèn)題,DEEPNET可以是優(yōu)化的過(guò)程更加穩(wěn)定。
首先,研究人員給出了DEEPNET模型升級(jí)的預(yù)測(cè)量級(jí)。之后又給出了理論分析,發(fā)現(xiàn)只要使用DEEPNORM,DEEPNET升級(jí)的過(guò)程就可以被限制在一個(gè)常數(shù)。
DEEPNET基于Transformer架構(gòu)。和之前的vanilla Transformer相比,在每個(gè)子層上,都使用了研究人員最新研究的DEEPNORM,而不是Post-LN。
DEEONORM的表達(dá)式可以寫(xiě)成:
其中,α是常數(shù),Gl(xl , θl)是第I層Transformer的子層的方程,同時(shí)θl是系數(shù)。DEEPNET還能殘差內(nèi)部的權(quán)重放大了β。
α和β都是常數(shù),且只和結(jié)構(gòu)有關(guān)。
此外,注意力是Transformer一個(gè)很重要的部分。
在不失一般性的情況下,研究人員研究了1-head的情況。其中Q、K、V分別指query、key和value。而WQ、WK、WV都是輸入的映射矩陣。WO則是輸出的映射矩陣。因此,注意力方程式可以寫(xiě)作:
下圖展示了在早期的訓(xùn)練階段,vanilla Post-LN和DEEPNET模型升級(jí)時(shí)的情況。研究人員將64-128-2微小Transformer進(jìn)行了可視化,它們的深度從6L6L到100L100L不等。
從該圖中我們可以看出,DEEPNET比Post-LN有更穩(wěn)定的更新。
性能:1000層網(wǎng)絡(luò),顯著提升NMT表現(xiàn)
神經(jīng)機(jī)器翻譯
我們?cè)诹餍械臋C(jī)器翻譯基準(zhǔn)上驗(yàn)證了DEEPNET的有效性,包括 IWSLT-14德語(yǔ)-英語(yǔ)(De-En)數(shù)據(jù)集和WMT-17英語(yǔ)-德語(yǔ)(En-De)數(shù)據(jù)集。
我們將DEEPNET與多個(gè)最先進(jìn)的深層Transformer模型進(jìn)行了比較,包括DLCL、NormFormer、ReZero、R-Fixup,T-Fixup,DS-init等。
我們用上述其他模型的開(kāi)源代碼重現(xiàn)了基線(xiàn)標(biāo)準(zhǔn)性能,并設(shè)置了相同的超參數(shù)。使用BLEU作為所有實(shí)驗(yàn)的評(píng)估指標(biāo),評(píng)估結(jié)果如下:
上表所示為基線(xiàn)和DEEPNET的結(jié)果和DEEPNET在WMT-17 英語(yǔ)-德語(yǔ)翻譯數(shù)據(jù)集上的結(jié)果
與Post-LN的模型相比,DEEPNET更加穩(wěn)定,可以成功擴(kuò)展到100L-100L,在測(cè)試集上達(dá)到28.9的BLEU。相比之下,當(dāng)深度達(dá)到50L-50L時(shí),帶有Post-LN的基線(xiàn)導(dǎo)致了不穩(wěn)定的優(yōu)化。此外,當(dāng)模型較淺時(shí),DEEPNET取得了與這些基線(xiàn)相當(dāng)?shù)男阅堋?/p>
不同深度上的快速收斂
我們將模型的深度從10L-10L到100L-100L,間隔為10層。除了ReZero3,所有實(shí)驗(yàn)都是在混合精度訓(xùn)練下進(jìn)行的。上圖所示為IWSLT-14數(shù)據(jù)集上的結(jié)果。
我們對(duì)模型進(jìn)行了8000步的訓(xùn)練,因?yàn)槲覀儼l(fā)現(xiàn)大多數(shù)收斂發(fā)生在優(yōu)化的開(kāi)始階段??偟膩?lái)說(shuō),DEEPNET從淺到深都很穩(wěn)定,收斂很快,只用了8000步就達(dá)到了30多個(gè)BLEU,大多數(shù)基線(xiàn)達(dá)不到這一水平。另外,隨著模型深度的增加,其性能不斷提高。
更高的學(xué)習(xí)率、批規(guī)模和隱藏維度
我們進(jìn)一步將DEEPNET分別擴(kuò)展到更高的學(xué)習(xí)率、批規(guī)模和隱藏維度上。
在每個(gè)實(shí)驗(yàn)中只改變一個(gè)超參數(shù),其他超參數(shù)固定。上圖所示為WMT-17驗(yàn)證集上的損失曲線(xiàn)。
結(jié)果表明,在這一設(shè)置下,DEEPNET可以毫無(wú)困難地訓(xùn)練。在1024個(gè)隱藏大小的情況下,由于過(guò)擬合,DEEPNET的損失在10K步之后增加。此外,DEEPNET可以從更大的設(shè)置中獲益,獲得更快的收斂速度和更低的驗(yàn)證損失。
大規(guī)模多語(yǔ)言神經(jīng)機(jī)器翻譯
我們?cè)诖笠?guī)模多語(yǔ)言機(jī)器翻譯上進(jìn)行了實(shí)驗(yàn),這是大模型的一個(gè)很好的測(cè)試平臺(tái)。
首先使用OPUS-100語(yǔ)料庫(kù)來(lái)評(píng)估模型。OPUS100是一個(gè)以英語(yǔ)為中心的多語(yǔ)言語(yǔ)料庫(kù),涵蓋了100種語(yǔ)言,它是從OPUS集合中隨機(jī)抽取的。我們將DEEPNET的規(guī)模擴(kuò)大到1000層。該模型有一個(gè)500層的編碼器,一個(gè)500層的解碼器,512個(gè)隱藏大小,8個(gè)注意力頭,以及2048維的前饋層。
如上圖所示,實(shí)驗(yàn)結(jié)果表明,增加網(wǎng)絡(luò)深度可以顯著提高神經(jīng)機(jī)器翻譯的翻譯質(zhì)量:48層的基線(xiàn)比12層的模型平均實(shí)現(xiàn)了3.2分BLEU分?jǐn)?shù)增長(zhǎng)。
DEEPNET可以成功地將深度擴(kuò)大到1000層,比基線(xiàn)提高了4.4 BLEU。而且DEEPNET只訓(xùn)練了4個(gè)epoch,如果有更多的計(jì)算預(yù)算,其性能還可以進(jìn)一步提高。
更多的數(shù)據(jù)量,更多的語(yǔ)言
為了探索DEEPNET在多語(yǔ)言神經(jīng)機(jī)器翻譯上的局限,我們還使用CCMatrix擴(kuò)大訓(xùn)練數(shù)據(jù)的規(guī)模。我們擴(kuò)大了CCAligned、OPUS和Tatoeba4的數(shù)據(jù),以覆蓋Flores101評(píng)估集的所有語(yǔ)言。最終的數(shù)據(jù)包括102種語(yǔ)言,1932個(gè)方向,以及120億個(gè)句子對(duì)。
利用這些數(shù)據(jù),我們用100層編碼器、100層解碼器、1024個(gè)隱藏維度、16個(gè)頭和4096個(gè)中間維度的前饋層來(lái)訓(xùn)練DEEPNET,結(jié)果如下:
綜上,DEEPNET提高了Transformer的穩(wěn)定性,并成功地將其擴(kuò)展到1000層。它在理論上證明了以模型更新的恒定上界來(lái)穩(wěn)定優(yōu)化。實(shí)驗(yàn)結(jié)果驗(yàn)證了我們的方法在各種基準(zhǔn)中的有效性。
目前的實(shí)驗(yàn)專(zhuān)注于機(jī)器翻譯作為一個(gè)測(cè)試平臺(tái)。在未來(lái),我們將擴(kuò)展DEEPNET,支持更多不同的任務(wù),如語(yǔ)言模型預(yù)訓(xùn)練、蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè),以及BEiT視覺(jué)預(yù)訓(xùn)練等。
參考鏈接:
https://arxiv.org/abs/2203.00555
關(guān)鍵詞: 千層Transformer問(wèn)世多語(yǔ)種機(jī)器翻譯水準(zhǔn)刷新多項(xiàng)SOTA