為千億參數(shù)模型量身定制,最高可實(shí)現(xiàn) 60% 的稀疏化水平。
自 2020 年 GPT-3 橫空出世以來,ChatGPT 的爆火再一次將 GPT 家族的生成式大型語言模型帶到聚光燈下,它們在各種任務(wù)中都已顯示出了強(qiáng)大的性能。
但模型的龐大規(guī)模也帶來了計(jì)算成本的上升和部署難度的增加。
比如,GPT?175B 模型總計(jì)至少占 320GB 半精度 (FP16) 格式的存儲(chǔ)空間,在推理時(shí),起碼需要五個(gè) 80 GB 存儲(chǔ)空間的 A100 GPU。
模型壓縮(model compression)是當(dāng)前使用較多的一種降低大模型計(jì)算成本的方法,但迄今為止,幾乎所有現(xiàn)有的 GPT 壓縮方法都專注于量化(quantization),即降低單個(gè)權(quán)重的數(shù)值表示的精度。
另一種模型壓縮方法是剪枝(pruning),即刪除網(wǎng)絡(luò)元素,包括從單個(gè)權(quán)重(非結(jié)構(gòu)化剪枝)到更高粒度的組件如權(quán)重矩陣的整行/列(結(jié)構(gòu)化剪枝)。這種方法在視覺和較小規(guī)模的語言模型中很有效,但會(huì)導(dǎo)致精度損失,從而需要對(duì)模型進(jìn)行大量再訓(xùn)練來恢復(fù)精度,所以遇到 GPT 這樣大規(guī)模的模型時(shí),成本就又變得過于昂貴了。雖然也有一些單次剪枝方法,無需重新訓(xùn)練即可壓縮模型,但它們計(jì)算量太大,難以應(yīng)用于具有數(shù)十億參數(shù)的模型。
那么針對(duì) GPT-3 這種規(guī)模的大模型,有沒有一種方法能夠?qū)ζ渥骶_的剪枝、同時(shí)保持最小的精度損失且降低計(jì)算成本?
近日,來自奧地利科學(xué)技術(shù)研究所 (ISTA) 的兩名研究人員 Elias Frantar 和 Dan Alistarh 合作了一項(xiàng)研究,首次針對(duì) 100 至 1000 億參數(shù)的模型規(guī)模,提出了精確的單次剪枝方法 SparseGPT。
論文地址:https://arxiv.org/pdf/2301.00774.pdf
SparseGPT 可以將 GPT 系列模型單次剪枝到 50% 的稀疏性,而無需任何重新訓(xùn)練。目前最大的公開可用的 GPT-175B 模型,只需要使用單個(gè) GPU 在幾個(gè)小時(shí)內(nèi)就能實(shí)現(xiàn)這種剪枝。
而且,SparseGPT 還很準(zhǔn)確,能將精度損失降到最小。比如在目前最大的開源模型 OPT?175B 和 BLOOM?176B 上執(zhí)行SparseGPT 時(shí),可以達(dá)到 60% 的稀疏度,同時(shí)將精度損失降到最小。
超大模型的研究近幾年非?;钴S,但到目前為止,還沒有一個(gè)百億參數(shù)以上的模型能夠?qū)崿F(xiàn)非常準(zhǔn)確的高度稀疏化。
現(xiàn)有方法對(duì)計(jì)算成本的要求都過高,以目前最準(zhǔn)確的訓(xùn)練后方法 OBC 為例,對(duì)于十億參數(shù)模型,它需要 1 個(gè)小時(shí)以上的時(shí)間來進(jìn)行壓縮。已知最快的訓(xùn)練后方法 AdaPrune 也需要幾分鐘來對(duì)十億參數(shù)模型進(jìn)行剪枝,按此速度,GPT-3 規(guī)模的模型估計(jì)需要數(shù)百小時(shí)(幾周)的計(jì)算。
大多數(shù)現(xiàn)有的剪枝方法如漸進(jìn)幅度剪枝(gradual magnitude pruning),需要在剪枝步驟后進(jìn)行大量的再訓(xùn)練以恢復(fù)準(zhǔn)確性,而 GPT 規(guī)模的模型通常需要大量的用于訓(xùn)練或微調(diào)的計(jì)算量和參數(shù)調(diào)整量,這使得基于再訓(xùn)練的方法難以應(yīng)用。因此,在 GPT 規(guī)模上應(yīng)用這種漸進(jìn)的剪枝方法是行不通的。
ISTA 團(tuán)隊(duì)的這項(xiàng)工作提出了 SparseGPT 方法,可以實(shí)現(xiàn)幾個(gè)小時(shí)內(nèi)在單個(gè) GPU 上運(yùn)行千億以上參數(shù)的模型,并且足夠準(zhǔn)確,可將模型修剪到 50%-60% 的稀疏度水平,而不會(huì)大幅度降低性能。
SparseGPT 的核心是一種新的大規(guī)模近似稀疏回歸算法,它可以推廣到半結(jié)構(gòu)化(2:4 和 4:8)模式,并且與現(xiàn)有的權(quán)重量化方法兼容。
圖注:SparseGPT 重建算法的可視化。給定一個(gè)固定的剪枝掩碼 M,使用 Hessian 逆序列(HUj )并更新這些行中位于列“右側(cè)”的剩余權(quán)重,逐步修剪權(quán)重矩陣 W 的每一列中的權(quán)重處理。具體來說,修剪后權(quán)重(深藍(lán)?)“右側(cè)”的權(quán)重將被更新以補(bǔ)償修剪錯(cuò)誤,而未修剪的權(quán)重不會(huì)生成更新(淺藍(lán)?)。
大多數(shù)現(xiàn)有的剪枝方法如漸進(jìn)幅度剪枝(gradual magnitude pruning),需要在剪枝步驟后進(jìn)行大量的再訓(xùn)練以恢復(fù)準(zhǔn)確性,而 GPT 規(guī)模的模型通常需要大量的用于訓(xùn)練或微調(diào)的計(jì)算量和參數(shù)調(diào)整量,這使得基于再訓(xùn)練的方法難以應(yīng)用。因此,在 GPT 規(guī)模上應(yīng)用這種漸進(jìn)的剪枝方法是行不通的。
SparseGPT 是針對(duì) GPT 規(guī)模模型的后訓(xùn)練(post-training)方法,因?yàn)樗粓?zhí)行任何微調(diào)。
目前有許多量化 GPT 規(guī)模模型的后訓(xùn)練的方法,如 ZeroQuant、LLM.int8() 和 nuQmm 等,但由于異常特征的存在,激活量化可能會(huì)很困難。GPTQ 利用近似二階信息將權(quán)重精確量化到 2?4 位,適用于最大的模型,而且當(dāng)它與高效的 GPU 內(nèi)核相結(jié)合時(shí),可以帶來2?5 倍的推理加速。
但由于 GPTQ 側(cè)重于稀疏化而不是量化,因此 SparseGPT是對(duì)量化方法的補(bǔ)充,二者可以結(jié)合應(yīng)用。
另外,除了非結(jié)構(gòu)化修剪,SparseGPT 也適用于半結(jié)構(gòu)化的模式,比如流行的 n:m 稀疏格式,在 Ampere NVIDIA GPU 上可以 2:4 的比例實(shí)現(xiàn)加速。
對(duì) SparseGPT 壓縮模型的效果進(jìn)行評(píng)估后,研究人員發(fā)現(xiàn),大型語言模型進(jìn)行稀疏化的難度與模型大小成比例,與已有的幅度剪枝(Magnitude Pruning)方法相比,使用 SparseGPT 能夠?qū)崿F(xiàn)更高的模型稀疏化程度,同時(shí)保持最低限度的精度損失。
研究人員在 PyTorch 上中實(shí)現(xiàn)了 SparseGPT,并使用 HuggingFace 的 Transformers 庫來處理模型和數(shù)據(jù)集,并且都在具有 80GB 內(nèi)存的單個(gè) NVIDIA A100 GPU 上進(jìn)行。在這樣的實(shí)驗(yàn)條件下,SparseGPT 可以在大約 4 小時(shí)內(nèi)對(duì) 1750 億參數(shù)的模型實(shí)現(xiàn)完全稀疏化。
研究人員按順序依次稀疏 Transformer 層,這顯著降低了內(nèi)存需求,并且還大大提高了并行處理所有層的準(zhǔn)確性。所有的壓縮實(shí)驗(yàn)都是一次性進(jìn)行,沒有任何微調(diào)。
評(píng)估對(duì)象主要是 OPT 系列模型,包含從 1.25 億到 1750 億參數(shù)的一套模型,方便觀察剪枝相對(duì)于模型大小的縮放表現(xiàn)。此外還分析了 BLOOM 的 1760 億參數(shù)變體。
在數(shù)據(jù)集和評(píng)估指標(biāo)方面,實(shí)驗(yàn)采用了原始 WikiText2 測試集的困惑度來評(píng)估 SparseGPT 壓縮方法的準(zhǔn)確性,同時(shí)為了增加可解釋性,還使用了一些 ZeroShot 精度指標(biāo)。另外,評(píng)估的重點(diǎn)在于稀疏模型相對(duì)于密集模型基線的準(zhǔn)確性,而非絕對(duì)數(shù)字。
研究人員對(duì) OPT 整個(gè)模型系列的所有線性層進(jìn)行剪枝(不包括標(biāo)準(zhǔn)的嵌入和頭部),分別達(dá)到 50% 的非結(jié)構(gòu)化稀疏度、全 4:8 或全 2:4 的半結(jié)構(gòu)化稀疏度,結(jié)果如下圖。
圖注:OPT 模型家族在原始 WikiText2 測試集的困惑度
可見,使用幅度剪枝來壓縮的模型準(zhǔn)確性在所有尺寸上都很糟糕,而且模型越大,準(zhǔn)確度下降得越厲害。
而使用 SparseGPT 來壓縮的模型趨勢不同,在 27 億參數(shù)下,困惑度損失 < 1 point,在 660 億參數(shù)下則是零損失。而且,與密集模型的基線相比,在模型規(guī)模非常大的情況下精度甚至還有所提高。
一個(gè)總的趨勢是,較大的模型更容易稀疏化,在固定的稀疏度水平下,稀疏模型相對(duì)于密集模型的相對(duì)精度下降會(huì)隨著模型大小的增加而縮小。作者推測這可能是由于它們的參數(shù)化程度更高,總體上抗噪能力也更強(qiáng)。
相比于密集模型基線,在最大規(guī)模下,使用 SparseGPT 將模型壓縮至 4:8 和 2:4 稀疏度時(shí),困惑度增長分別僅為 0.11 和 0.39。這樣的結(jié)果意味著,我們可以在實(shí)踐中實(shí)現(xiàn) 2 倍的加速,商用的 NVIDIA Ampere GPU 對(duì) 2:4 的稀疏度已經(jīng)有了支持。
作者研究了 OPT-175B 和 BLOOM-176B 兩個(gè)千億模型的性能與使用 SparseGPT 帶來的稀疏程度之間的關(guān)系,結(jié)果下圖所示。
圖注:左圖為分別使用 SparseGPT 和幅度剪枝將 OPT-175B 統(tǒng)一壓縮至不同稀疏水平。右圖為使用 SparseGPT 將整個(gè) OPT 模型系列壓縮至不同的稀疏水平。
可以看到,對(duì)于 OPT-175B 模型,幅度剪枝最多可以實(shí)現(xiàn) 10% 的稀疏度,緊接著就會(huì)有較大的精度損失。而 SparseGPT 在困惑度增加的下還能實(shí)現(xiàn) 60% 的稀疏度。
圖注:左圖為分別使用 SparseGPT 和幅度剪枝將 BLOOM-176B 統(tǒng)一壓縮至不同稀疏水平。右圖為在 OPT 家族模型上 50% 稀疏度 + 4 bit 量化聯(lián)合壓縮 與 3-bit 的對(duì)比。
對(duì)于 BLOOM-176B 模型,盡管幅度剪枝可以達(dá)到 30% 的稀疏度而沒有顯著的精度損失,但相比之下,SparseGPT 可以實(shí)現(xiàn) 50% 的稀疏度,即 1.66 倍的提升。而且,在 80% 的稀疏度下,使用 SparseGPT 壓縮的模型的困惑度仍然保持在合理水平,但幅度剪枝在達(dá)到 OPT 的 40% 稀疏度和 BLOOM 的 60% 稀疏度時(shí),困惑度就已經(jīng) > 100。
另外,SparseGPT 能夠從這些模型中移除大約 1000 億個(gè)權(quán)重,對(duì)模型準(zhǔn)確性的影響有限。
最后總結(jié)一下,該研究首次表明,基于 Transformer 的大規(guī)模預(yù)訓(xùn)練模型可以通過一次性權(quán)重修剪壓縮到高稀疏性,無需任何再訓(xùn)練,精度損失也很低。
值得注意的是,SparseGPT 的方法是局部的:在每個(gè)修剪步驟之后,它都會(huì)執(zhí)行權(quán)重更新,旨在保留每一層的輸入輸出關(guān)系,這些更新是在沒有任何全局梯度信息的情況下計(jì)算的。因此,大規(guī)模 GPT 模型的高度參數(shù)化似乎使這種方法能夠直接識(shí)別密集預(yù)訓(xùn)練模型“近鄰”中的稀疏精確模型。
另外,由于實(shí)驗(yàn)所采用的的準(zhǔn)確度指標(biāo)(困惑度)非常敏感,因此生成的稀疏模型輸出似乎與密集模型的輸出密切相關(guān)。
這項(xiàng)研究在緩解大模型的算力限制方面具有很大的積極意義,將來的一個(gè)工作方向是研究大模型的微調(diào)機(jī)制來進(jìn)一步恢復(fù)精度,同時(shí),擴(kuò)大 SparseGPT 的方法在模型訓(xùn)練期間的適用性,將會(huì)減少訓(xùn)練大模型的計(jì)算成本。
審核編輯 :李倩
-
算法
+關(guān)注
關(guān)注
23文章
4709瀏覽量
95359 -
模型
+關(guān)注
關(guān)注
1文章
3519瀏覽量
50414 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1224瀏覽量
25445
原文標(biāo)題:首個(gè)千億模型壓縮算法 SparseGPT 來了,降低算力成本的同時(shí)保持高精度
文章出處:【微信號(hào):AI智勝未來,微信公眾號(hào):AI智勝未來】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
商湯日日新SenseNova融合模態(tài)大模型 國內(nèi)首家獲得最高評(píng)級(jí)的大模型
成本狂降90%!國產(chǎn)芯片+開源模型如何改寫AI玩具規(guī)則
AI原生架構(gòu)升級(jí):RAKsmart服務(wù)器在超大規(guī)模模型訓(xùn)練中的算力突破
HFSS 自動(dòng)化建模工具
字節(jié)豆包大模型團(tuán)隊(duì)提出稀疏模型架構(gòu)
字節(jié)豆包大模型團(tuán)隊(duì)推出UltraMem稀疏架構(gòu)
AI基礎(chǔ)模型提升癌癥診斷精確度,實(shí)現(xiàn)個(gè)性化治療方案定制

評(píng)論