0
本文作者: 我在思考中 | 2022-03-28 10:10 |
作者|鄭宇宏
編輯|陳彩嫻
Scaling Transformers:
讓大型語(yǔ)言模型更易于管理
近年來,基于Transformer架構(gòu)的大型神經(jīng)網(wǎng)絡(luò),自然語(yǔ)言處理領(lǐng)域取得了巨大的進(jìn)步。前幾年在Reddit上發(fā)布大量灌水貼的thegentlemetre賬號(hào)一周后才被人類發(fā)覺:這竟然是一個(gè)應(yīng)用程序在“作怪”!它正是以被稱為地表最強(qiáng)的語(yǔ)言模型GPT-3為基礎(chǔ)開發(fā)的程序。
GPT-3作為一個(gè)大型語(yǔ)言模型,可以創(chuàng)作出整篇文章,即使把這些文章和人類寫的文章相比較的話,都很難被區(qū)分出來。
但是這種“聰明”的模型卻有一個(gè)弊端。
因?yàn)樗挠?xùn)練成本極高,不是每個(gè)人都有資源來訓(xùn)練這種大型模型。
那么如何讓大型語(yǔ)言模型更易于管理以適用日常需要呢?
華沙大學(xué),谷歌研究和OpenAI的學(xué)者們提出一個(gè)新的模型族-Scaling Transformers。
論文地址:https://arxiv.org/abs/2111.12763
文章提出了一種通過稀疏化網(wǎng)絡(luò)中線性層的激活(前饋和 Q、K、V 投影)來訓(xùn)練大規(guī)模稀疏模型的方法。該方法特別吸引人,因?yàn)樗坪醪恍枰魏翁囟ㄓ谟布虻图?jí)別的優(yōu)化即可有效??刂破骶W(wǎng)絡(luò)在激活時(shí)生成一個(gè)塊式 one-hot 掩碼,并根據(jù)此掩碼動(dòng)態(tài)選擇后續(xù)層的權(quán)重。當(dāng)擴(kuò)大模型大小時(shí),用稀疏層來有效擴(kuò)展并執(zhí)行非批次解碼的速度比標(biāo)準(zhǔn)Transformer模型快的多。在參數(shù)數(shù)量相同的情況下,稀疏層足以獲得與標(biāo)準(zhǔn)Transformer相同的困惑度。
Fabio Chiusano在NLP上發(fā)表了對(duì)這篇論文的正面評(píng)價(jià)。Fabio Chiusano是Digitiamo 數(shù)據(jù)科學(xué)主管,也是人工智能領(lǐng)域的頂級(jí)媒體作家。AI科技評(píng)論對(duì)Chiusano的點(diǎn)評(píng)做了不改原意的整理:
Scaling Transformer 真的很有趣,因?yàn)楫?dāng)我們擴(kuò)大模型大小時(shí),它們?cè)试S有效地縮放語(yǔ)言模型并且比標(biāo)準(zhǔn) Transformer 更快地執(zhí)行非批處理解碼。嚴(yán)謹(jǐn)?shù)卣f:
我們稱其d
為 Transformer 模型的參數(shù)個(gè)數(shù)。
然后,一個(gè)標(biāo)準(zhǔn)的密集 Transformer 將需要近似d^2
計(jì)算來進(jìn)行預(yù)測(cè)。
相反,稀疏的 Scaling Transformer 將需要近似d^1.5
計(jì)算。
如果說這樣的改進(jìn)看起來不明顯,請(qǐng)考慮一下這d
通常是一個(gè)非常高的數(shù)字,大約數(shù)十億,實(shí)際上實(shí)驗(yàn)表明,Scaling Transformer 為單個(gè)令牌帶來了近 20 倍的預(yù)測(cè)加速(從 3.690s 到 0.183 s) 關(guān)于具有 17B 個(gè)參數(shù)的密集 Transformer。注意:這些加速是針對(duì)未批量預(yù)測(cè)的。
在具有建議的稀疏機(jī)制(FF、QKV、FF+QKV)的 C4 數(shù)據(jù)集上,Scaling Transformers(相當(dāng)于 T5 大小,具有大約 800M 參數(shù))的對(duì)數(shù)困惑度類似于基線密集模型。
具有 17B 參數(shù)的 Terraformer 的單個(gè)令牌的解碼速度比密集基線模型快 37 倍,推理所需的時(shí)間少于 100 毫秒/令牌。這里注意力稀疏 = 64,ff-稀疏 = 256,損失稀疏 = 4
稀疏化的收益非常好。然而,當(dāng)解碼較長(zhǎng)的序列時(shí),它們會(huì)更糟,因?yàn)榻獯a時(shí)間將由注意力操作控制。
幸運(yùn)的是,已經(jīng)提出了許多方法來解決 Transformer 的這個(gè)問題,例如LSH(Locality-Sensitive Hashing)注意處理長(zhǎng)序列和可逆層以提高內(nèi)存效率。我會(huì)說這不是個(gè)微不足道的結(jié)果!
這篇論文還對(duì)用于提高 Transformer 效率的其他技術(shù)進(jìn)行了有趣的概述。我在這里報(bào)告了它的一些摘錄,我認(rèn)為它可以作為那些不熟悉 Transformer 技術(shù)效率的人的參考。
模型壓縮。模型修剪通過在訓(xùn)練之后或訓(xùn)練期間移除不需要的權(quán)重來使矩陣更小。
模型蒸餾。模型蒸餾包括在先前訓(xùn)練的大模型(即教師)的輸出上訓(xùn)練一個(gè)小模型(即學(xué)生)。用于移動(dòng)推理的幾種自然語(yǔ)言模型依靠蒸餾來加速?gòu)念A(yù)先訓(xùn)練的大型模型中進(jìn)行推理。
稀疏注意力?;谙∈枳⒁饬Φ姆椒ㄍㄟ^合并額外的組合機(jī)制或選擇該層所關(guān)注的標(biāo)記子集,使注意力層更加高效,尤其是對(duì)于長(zhǎng)序列。
稀疏前饋。關(guān)鍵思想是將前饋層劃分為多個(gè)部分(稱為專家),每個(gè)令牌只檢索一個(gè)部分,這降低了前饋塊的復(fù)雜性。這些加速主要以訓(xùn)練速度來衡量,并且該方法側(cè)重于前饋塊。專家方法的混合已被證明可以在訓(xùn)練中實(shí)現(xiàn)計(jì)算效率,擴(kuò)展到一萬億個(gè)參數(shù)。
雖然目前的結(jié)果有許多局限性。盡管如此,這篇論文可以被認(rèn)為是通往可持續(xù)大型模型的第一步。
大家怎么看?
參考資料
https://medium.com/nlplanet/two-minutes-nlp-scaling-transformers-with-sparsity-5bf004a7ea56
https://arxiv.org/abs/2111.12763
https://openreview.net/forum?id=-b5OSCydOMe
雷峰網(wǎng)(公眾號(hào):雷峰網(wǎng))
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。