參數(shù)量是機(jī)器學(xué)習(xí)算法的關(guān)鍵。在大規(guī)模參數(shù)量和數(shù)據(jù)集的支持下,簡單的體系結(jié)構(gòu)將遠(yuǎn)遠(yuǎn)超過復(fù)雜的算法。
在自然語言領(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》,提出了最新語言模型—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)用受到阻礙。
為了解決這些問題,研究人員簡化了 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ò)展到了多語言設(shè)置中,可以測量 101 種語言在 mT5-Base 版本上的收益。
最后,通過在 “Colossal Clean Crawled Corpus”上預(yù)先訓(xùn)練多達(dá)數(shù)萬億個(gè)參數(shù)模型來提高當(dāng)前語言模型的規(guī)模,使速度比 T5-XXL 模型提高了 4 倍。
研究者還表示,Switch Transformer 架構(gòu)不僅在具備超級(jí)計(jì)算機(jī)的環(huán)境下具有優(yōu)勢,在只有幾個(gè)計(jì)算核心的計(jì)算機(jī)上也是有效的。此外,研究者設(shè)計(jì)的大型稀疏模型可以被蒸餾為一個(gè)小而稠密的版本,同時(shí)還能保留稀疏模型質(zhì)量提升的 30%。
Switch Transformer 模型架構(gòu)
Switch Transformer 的設(shè)計(jì)原則是以一種簡單且高效計(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, 一種廣泛用于語言模型的數(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 簡化策略:針對(duì)不同的輸入,匹配最適合的一個(gè)專家。實(shí)驗(yàn)證明,這種簡化可以保留模型質(zhì)量,減少路由計(jì)算并提高性能。具體優(yōu)勢如下:
1、通道計(jì)算量大大降低,因每個(gè)樣本僅需要一個(gè)專家通道參與計(jì)算。
2、每個(gè)專家通道所計(jì)算樣本的 batchsize 被大大縮小 (至少減半)。
3、每個(gè)專家通道的實(shí)現(xiàn)復(fù)雜度減小了,專家間的通信開銷降低。
高效稀疏通道
研究人員使用 Mesh-Tensorflow(MTF)庫—與 Tensorflow 類似的語義和 API,能夠能夠高效支持分布式的數(shù)據(jù)與模型結(jié)構(gòu)。它將物理內(nèi)核集抽象為處理器的邏輯網(wǎng)格。然后利用張量和計(jì)算按指定的維度進(jìn)行切分,便于跨維度輕松劃分模型。
與 MoE Transformer 的比較
第一個(gè)測試是在 “Colossal Clean Crawled Corpus”數(shù)據(jù)集上進(jìn)行的。該數(shù)據(jù)集也被成為 C4,含 750GB 的文本語料,全部來自于 Reddit、Wikipedia 和其他網(wǎng)絡(luò)資源中。研究人員使用了 32 個(gè) TPU 核在 C4 數(shù)據(jù)集上預(yù)先訓(xùn)練了幾種不同的 Switch Transformer 模型。
模型的任務(wù)是預(yù)測段落中 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 工作的效果更佳。
提升訓(xùn)練與微調(diào)技術(shù)
稀疏專家模型相比普通 Transformer 更難訓(xùn)練,這是由于切換通道帶來的不穩(wěn)定引起的,同時(shí),低精度計(jì)算會(huì)導(dǎo)致惡化 softmax 計(jì)算中的問題。
同時(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 比例來緩解過擬合。
我們觀察到,簡單地增加所有層的 dropout 率會(huì)導(dǎo)致性能下降。但是,在非專家層設(shè)置較小的 dropout 率(0.1)和在專家層設(shè)置較大的 dropout 率(0.4),可以提高四個(gè)較小下游任務(wù)的性能。
性能測試:預(yù)訓(xùn)練、微調(diào)和多任務(wù)訓(xùn)練
論文中,研究人員對(duì)預(yù)訓(xùn)練階段 Switch Transformer 的預(yù)訓(xùn)練可擴(kuò)展性進(jìn)行了研究。為了避免數(shù)據(jù)受限,他們采用了大型 C4 數(shù)據(jù)庫,并以固定的計(jì)算成本測試了基于步數(shù)和時(shí)間的可伸縮性。
步態(tài)的可擴(kuò)展性
下圖為多個(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í)間的可擴(kuò)展性
從基于步數(shù)的設(shè)置中,可以觀察到:樣本效率提升未必能轉(zhuǎn)化為時(shí)間上的模型質(zhì)量提升。那么,在訓(xùn)練時(shí)間和計(jì)算成本都固定的前提下,是應(yīng)該訓(xùn)練一個(gè)稠密模型還是稀疏模型?
微調(diào)
針對(duì) T5-Base 和 T5-Large 模型,研究人員設(shè)計(jì)了具備更多參數(shù)的 FLOP-matched Switch Transformer。在 SuperGLUE 基準(zhǔn)上,F(xiàn)LOP-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ù)中。
蒸餾技術(shù)
為了解決超大規(guī)模神經(jīng)網(wǎng)絡(luò)的部署問題,研究人員提出了多種蒸餾技術(shù):將大型稀疏模型蒸餾到小型密集模型中。
使用表 7 中最優(yōu)的蒸餾技術(shù),可以將具備 11 億參數(shù)量的模型壓縮 82%,同時(shí)保留 37% 的性能提升。最極端的情況下,將模型壓縮了 99%,且維持了 28% 的性能提升。
多語言學(xué)習(xí)
在最后一組下游實(shí)驗(yàn)中,研究人員利用模型對(duì) 101 種不同語言的混合進(jìn)行了預(yù)訓(xùn)練。
如圖展示了 Switch T5 Base 模型與 mT5-Base 在所有語言上的質(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%的語言速度至少提升了 4 倍。這表明 Switch Transformer 能夠有效的多任務(wù)和多語言。
總結(jié)及未來研究方向
研究人員表示,Switch Transformer 模型是具有可擴(kuò)展性的高效自然語言處理模型,它通過簡化 MoE,形成了快速理解、訓(xùn)練穩(wěn)定且比同等大小模型更有效的樣本體系結(jié)構(gòu)。實(shí)驗(yàn)證明,這些模型在不同的語言任務(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ì)量。
目前的工作僅考慮了語言任務(wù),未來可嘗試將模型稀疏性類似地應(yīng)用到其他模態(tài)(例如圖像)或多模態(tài)中。