0
本文作者: 貝爽 | 2021-01-13 22:59 |
眾所周知,參數(shù)量是機(jī)器學(xué)習(xí)算法的關(guān)鍵。在大規(guī)模參數(shù)量和數(shù)據(jù)集的支持下,簡(jiǎn)單的體系結(jié)構(gòu)將遠(yuǎn)遠(yuǎn)超過復(fù)雜的算法。
在自然語(yǔ)言領(lǐng)域,被稱為史上最強(qiáng)NLP的GPT-3擁有1750億參數(shù)。近日,Google將這一參數(shù)量直接拉高到了1.6萬億。
1月11日,Google在arXiv上發(fā)表論文《Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity》,提出了最新語(yǔ)言模型—Switch Transformer。
研究員介紹稱,Switch Transformer擁有1.6萬億參數(shù),是迄今為止規(guī)模最大的NLP模型。
論文中指出,Switch Transformer使用了稀疏激活(Sparsely Activated)技術(shù),該技術(shù)只使用了神經(jīng)網(wǎng)絡(luò)權(quán)重的子集,或者是轉(zhuǎn)換模型內(nèi)輸入數(shù)據(jù)的參數(shù)。在相同計(jì)算資源下,其訓(xùn)練速度上比Google之前研發(fā)的最大模型T5-XXL還要快4倍。
Switch Transformer由混合專家(Mix of Expert,MoE)AI模型范式發(fā)展而來。MoE模型是指將多個(gè)專家或?qū)iT從事不同任務(wù)的模型放在一個(gè)較大的模型中,并有一個(gè)“門控網(wǎng)絡(luò)(Gating Network)”來選擇為任何給定數(shù)據(jù)要咨詢哪些專家。
自90年代初首次被提出以來,MoE模型通在機(jī)器翻譯方面取得了顯著成果。但因復(fù)雜性高、通信成本高和訓(xùn)練不穩(wěn)定,導(dǎo)致其廣泛應(yīng)用受到阻礙。
為了解決這些問題,研究人員簡(jiǎn)化了MoE路由算法,設(shè)計(jì)了直觀的改進(jìn)模型,使通信成本和計(jì)算成本大幅度降低。同時(shí),他們提出的訓(xùn)練技術(shù)消除了訓(xùn)練的不穩(wěn)定性,并證明了大型稀疏模型也可能以低精度(bfloat16)格式進(jìn)行訓(xùn)練。
此外,與T5-Base和T5-Large模型相比,新模型在相同計(jì)算資源下將預(yù)訓(xùn)練速度提高了7倍之多。這些改進(jìn)擴(kuò)展到了多語(yǔ)言設(shè)置中,可以測(cè)量101種語(yǔ)言在mT5-Base版本上的收益。
最后,通過在“Colossal Clean Crawled Corpus”上預(yù)先訓(xùn)練多達(dá)數(shù)萬億個(gè)參數(shù)模型來提高當(dāng)前語(yǔ)言模型的規(guī)模,使速度比T5-XXL模型提高了4倍。
研究者還表示,Switch Transformer 架構(gòu)不僅在具備超級(jí)計(jì)算機(jī)的環(huán)境下具有優(yōu)勢(shì),在只有幾個(gè)計(jì)算核心的計(jì)算機(jī)上也是有效的。此外,研究者設(shè)計(jì)的大型稀疏模型可以被蒸餾為一個(gè)小而稠密的版本,同時(shí)還能保留稀疏模型質(zhì)量提升的 30%。
Switch Transformer的設(shè)計(jì)原則是以一種簡(jiǎn)單且高效計(jì)算的方式來最大化Transformer模型的參數(shù)數(shù)量。
基于此,模型需要在增加參數(shù)量同時(shí)保持每個(gè)示例的浮點(diǎn)運(yùn)算(FLOPs)不變。研究人員假設(shè),參數(shù)量與執(zhí)行的總計(jì)算量無關(guān),是可以單獨(dú)縮放的重要組件,那么它可以通過設(shè)計(jì)稀疏激活模型來實(shí)現(xiàn)。
研究人員有效地利用了為密集矩陣乘法(Dense Matrix Multiplications,一種廣泛用于語(yǔ)言模型的數(shù)學(xué)運(yùn)算)而設(shè)計(jì)的硬件,如GPU、Google的張量處理單元TPU。在分布式訓(xùn)練設(shè)置中,模型將不同的權(quán)重分配到不同的設(shè)備上,可以保證權(quán)重隨著設(shè)備數(shù)量的增加而增加,同時(shí)保證每個(gè)設(shè)備上均有可管理的內(nèi)存和計(jì)算足跡。
Switch Transformer編碼器模塊圖示
如圖,研究人員將Transformer的密集前饋網(wǎng)絡(luò)(FFN)層替換為稀疏Switch FFN層(淺藍(lán)色)。該層對(duì)序列中的令牌進(jìn)行獨(dú)立操作。他們兩個(gè)標(biāo)記令牌(X1=More 和 X2=Parameters )在四個(gè)FFN專家之間進(jìn)行匹配(實(shí)線),其中路由器獨(dú)立地傳輸每個(gè)令牌。Switch FFN層返回輸出的FFN并乘以路由器門值(虛線)
研究人員提出了Switch Routing簡(jiǎn)化策略:針對(duì)不同的輸入,匹配最適合的一個(gè)專家。實(shí)驗(yàn)證明,這種簡(jiǎn)化可以保留模型質(zhì)量,減少路由計(jì)算并提高性能。具體優(yōu)勢(shì)如下:
1、通道計(jì)算量大大降低,因每個(gè)樣本僅需要一個(gè)專家通道參與計(jì)算。
2、每個(gè)專家通道所計(jì)算樣本的batchsize被大大縮小(至少減半)。
3、每個(gè)專家通道的實(shí)現(xiàn)復(fù)雜度減小了,專家間的通信開銷降低。
研究人員使用Mesh-Tensorflow(MTF)庫(kù)—與Tensorflow 類似的語(yǔ)義和API ,能夠能夠高效支持分布式的數(shù)據(jù)與模型結(jié)構(gòu)。它將物理內(nèi)核集抽象為處理器的邏輯網(wǎng)格。然后利用張量和計(jì)算按指定的維度進(jìn)行切分,便于跨維度輕松劃分模型。
第一個(gè)測(cè)試是在“Colossal Clean Crawled Corpus”數(shù)據(jù)集上進(jìn)行的。該數(shù)據(jù)集也被成為C4,含750GB的文本語(yǔ)料,全部來自于Reddit、Wikipedia和其他網(wǎng)絡(luò)資源中。研究人員使用了32個(gè)TPU核在C4數(shù)據(jù)集上預(yù)先訓(xùn)練了幾種不同的Switch Transformer模型。
模型的任務(wù)是預(yù)測(cè)段落中15%被遮住的單詞,以及通過檢索文本回答一些有難度的問題。
從以上對(duì)比結(jié)果中,可以發(fā)現(xiàn):
1、在速度-質(zhì)量的指標(biāo)上,Switch-Transformer超過了精密微調(diào)的稠密模型,與MoE Transformer。在有限的計(jì)算量與工作時(shí)間下,Switch Transformer都得到了最優(yōu)的結(jié)果。
2、Switch Transformer有更小的計(jì)算足跡(computational footprint)。
3、在更小的capactiy factor下,Switch Transformer工作的效果更佳。
稀疏專家模型相比普通Transformer更難訓(xùn)練,這是由于切換通道帶來的不穩(wěn)定引起的,同時(shí),低精度計(jì)算會(huì)導(dǎo)致惡化softmax計(jì)算中的問題。
研究人員通過在局部引入高精度的訓(xùn)練,而非全局的方法,達(dá)到了理想的穩(wěn)定性,測(cè)試效果如圖:
同時(shí)作為不穩(wěn)定性的另一種補(bǔ)救措施,研究人員減小了默認(rèn)的Transformer初始化比例,將 S=1.0降低了10倍。這既提高了質(zhì)量,又降低了不穩(wěn)定訓(xùn)練的可能性。如圖:
“預(yù)訓(xùn)練+微調(diào)”的NLP方法,在處理下游任務(wù)時(shí)容易發(fā)生過擬合現(xiàn)象。對(duì)此,研究人員提出了“expert dropout”的解決方案——通過在微調(diào)過程中,增加在每個(gè)expert中的dropout比例來緩解過擬合。
我們觀察到,簡(jiǎn)單地增加所有層的dropout率會(huì)導(dǎo)致性能下降。但是,在非專家層設(shè)置較小的dropout率(0.1)和在專家層設(shè)置較大的dropout率(0.4),可以提高四個(gè)較小下游任務(wù)的性能。
論文中,研究人員對(duì)預(yù)訓(xùn)練階段 Switch Transformer的預(yù)訓(xùn)練可擴(kuò)展性進(jìn)行了研究。為了避免數(shù)據(jù)受限,他們采用了大型 C4 數(shù)據(jù)庫(kù),并以固定的計(jì)算成本測(cè)試了基于步數(shù)和時(shí)間的可伸縮性。
下圖為多個(gè)模型在訓(xùn)練步數(shù)恒定、專家數(shù)量增加時(shí)表現(xiàn)出的可擴(kuò)展性提升情況??梢钥吹剑涸诒3置總€(gè) token 的 FLOPS 不變時(shí),擁有更多的參數(shù)(專家)可以提高訓(xùn)練速度。
此外還可以發(fā)現(xiàn),專家數(shù)量的增加會(huì)導(dǎo)致更有效的樣本模型。Switch-Base 64專家模型在60k和450k步態(tài)達(dá)到了與T5-Base模型相同的性能,這是7.5倍的加速。
從基于步數(shù)的設(shè)置中,可以觀察到:樣本效率提升未必能轉(zhuǎn)化為時(shí)間上的模型質(zhì)量提升。那么,在訓(xùn)練時(shí)間和計(jì)算成本都固定的前提下,是應(yīng)該訓(xùn)練一個(gè)稠密模型還是稀疏模型?下圖解決了這個(gè)問題。
圖中展示了預(yù)訓(xùn)練模型質(zhì)量隨訓(xùn)練時(shí)間增加所產(chǎn)生的變化。在訓(xùn)練時(shí)間和計(jì)算成本都固定的情況下,Switch Transformer 的速度優(yōu)勢(shì)非常明顯。在這種設(shè)置下,如果要達(dá)到相似的困惑度,Switch-Base 64 專家模型的訓(xùn)練時(shí)間僅為 T5-Base 模型的 1/7。
針對(duì) T5-Base 和 T5-Large 模型,研究人員設(shè)計(jì)了具備更多參數(shù)的 FLOP-matched Switch Transformer。在 SuperGLUE基準(zhǔn)上, FLOP-matched Switch Transformer 相比 T5-Base 和 T5-Large 的性能分別提升了 4.4% 和 2%。同時(shí),該模型在多項(xiàng)推理和知識(shí)任務(wù)中也帶來了顯著提升。
這說明該模型架構(gòu)不只對(duì)預(yù)訓(xùn)練有用,還可以通過微調(diào)將質(zhì)量改進(jìn)遷移至下游任務(wù)中。
為了解決超大規(guī)模神經(jīng)網(wǎng)絡(luò)的部署問題,研究人員提出了多種蒸餾技術(shù):將大型稀疏模型蒸餾到小型密集模型中。
使用表 7 中最優(yōu)的蒸餾技術(shù),可以將具備 11 億參數(shù)量的模型壓縮 82%,同時(shí)保留 37% 的性能提升。最極端的情況下,將模型壓縮了 99%,且維持了 28% 的性能提升。
在最后一組下游實(shí)驗(yàn)中,研究人員利用模型對(duì)101種不同語(yǔ)言的混合進(jìn)行了預(yù)訓(xùn)練。
如圖展示了 Switch T5 Base 模型與 mT5-Base 在所有語(yǔ)言上的質(zhì)量提升情況(負(fù)對(duì)數(shù)困惑度)。對(duì)兩個(gè)模型經(jīng)過 100 萬步預(yù)訓(xùn)練后,Switch Transformer 的最終負(fù)對(duì)數(shù)困惑度相較基線有所提升。
此外,透過mT5-Base使用Switch Transformer模型的加速直方圖,可以發(fā)現(xiàn),mT5-Base的平均速度提高了5倍,同時(shí),91%的語(yǔ)言速度至少提升了4倍。這表明Switch Transformer能夠有效的多任務(wù)和多語(yǔ)言。
研究人員表示,Switch Transformer模型是具有可擴(kuò)展性的高效自然語(yǔ)言處理模型,它通過簡(jiǎn)化MoE,形成了快速理解、訓(xùn)練穩(wěn)定且比同等大小模型更有效的樣本體系結(jié)構(gòu)。實(shí)驗(yàn)證明,這些模型在不同的語(yǔ)言任務(wù)和訓(xùn)練模式中都表現(xiàn)了出色的性能,包括預(yù)訓(xùn)練、微調(diào)和多任務(wù)訓(xùn)練。同時(shí),這些結(jié)果也讓訓(xùn)練具有上千億、上萬億參數(shù)量的模型成為可能。
最后研究人員指出,雖然Switch Transformer改進(jìn)了訓(xùn)練程序,并對(duì)稀疏模型進(jìn)行了擴(kuò)展的研究。但未來在此方向還有許多未完成的工作,如
進(jìn)一步提高大型模型訓(xùn)練的穩(wěn)定性。目前正在進(jìn)行的方法有:正則化函數(shù)、適度的梯度裁剪等。
一般來說預(yù)訓(xùn)練越好,下游任務(wù)的效果也就越好,但在一些任務(wù)上發(fā)現(xiàn),1.6T參數(shù)的Switch-C會(huì)比較小模型的結(jié)果更低。
目前方法使用的同類專家,未來可嘗試通過更靈活的基礎(chǔ)結(jié)構(gòu)支持異構(gòu)專家。
調(diào)查FFN層之外的專家層,初步的證據(jù)表明,這同樣可以改善模型質(zhì)量。
目前的工作僅考慮了語(yǔ)言任務(wù),未來可嘗試將模型稀疏性類似地應(yīng)用到其他模態(tài)(例如圖像)或多模態(tài)中。
引用鏈接:
https://arxiv.org/pdf/2101.03961.pdf
https://venturebeat.com/2021/01/12/google-trained-a-trillion-parameter-ai-language-model/
https://arxiv.org/search/cs?searchtype=author&query=Fedus%2C+W
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。