中國科學(xué)院團(tuán)隊(duì)首篇LLM模型壓縮綜述:細(xì)聊剪枝、知識蒸餾、量化技術(shù)
近來,大型語言模型(LLM)在各種任務(wù)中表現(xiàn)出色。然而,即便有卓越的任務(wù)處理能力,LLM 卻面臨著巨大的挑戰(zhàn),這些挑戰(zhàn)源于其巨大的規(guī)模和計(jì)算需求。舉個(gè)例子,GPT-175B 版本具有驚人的 1750 億參數(shù),至少需要 320GB(使用 1024 的倍數(shù))的半精度(FP16)格式存儲。此外,部署此模型進(jìn)行推理還需要至少五個(gè) A100 GPU,每個(gè) GPU 具有 80GB 的內(nèi)存,這樣才能有效地保證運(yùn)行。
為了解決這些問題,當(dāng)下一種被稱為模型壓縮的方法可以成為解決方案。模型壓縮可以將大型、資源密集型模型轉(zhuǎn)換為適合存儲在受限移動(dòng)設(shè)備上的緊湊版本。此外它可以優(yōu)化模型,以最小的延遲更快地執(zhí)行,或?qū)崿F(xiàn)這些目標(biāo)之間的平衡。
除了技術(shù)方面之外,LLM 還引發(fā)了關(guān)于環(huán)境和倫理問題的討論。這些模型給發(fā)展中國家的工程師和研究人員帶來了重大挑戰(zhàn),在這些國家,有限資源可能會(huì)成為獲得模型所需基本硬件的阻力。LLM 的大量能源消耗會(huì)加劇碳排放,人工智能研究與可持續(xù)發(fā)展也是非常重要的一個(gè)問題。解決這些挑戰(zhàn)的一個(gè)可能的解決方案是利用模型壓縮技術(shù),在不顯著影響性能的情況下具有減少碳排放的潛力。通過它,人類可以解決環(huán)境問題,增強(qiáng)人工智能的可訪問性,并促進(jìn) LLM 部署中的包容性。
本文中,來自中國科學(xué)院信息工程研究所、人大高瓴人工智能學(xué)院的研究者闡述了最近在專門為 LLM 量身定制的模型壓縮技術(shù)領(lǐng)域取得的進(jìn)展。本文對方法、指標(biāo)和基準(zhǔn)進(jìn)行詳盡的調(diào)查,并進(jìn)行了分類。
論文地址:https://arxiv.org/pdf/2308.07633.pdf
如下圖 1 所示,本文提出的分類法為理解 LLM 的模型壓縮方法提供了一個(gè)完整的結(jié)構(gòu)化框架。這一探索包括對已有成熟技術(shù)的透徹剖析,包括但不限于剪枝、知識蒸餾、量化和低秩因子分解。此外,本文揭示了當(dāng)前的挑戰(zhàn),并展望了這一發(fā)展領(lǐng)域未來潛在的研究軌跡。
研究者還倡導(dǎo)社區(qū)合作,為 LLM 建立一個(gè)具有生態(tài)意識、包羅萬象、可持續(xù)的未來鋪平道路。值得注意的是,本文是專門針對 LLM 的模型壓縮領(lǐng)域的首篇綜述。
方法論
剪枝
剪枝是一種強(qiáng)大的技術(shù),通過刪除不必要的或冗余組件來減少模型的大小或復(fù)雜性。眾所周知,有許多冗余參數(shù)對模型性能幾乎沒有影響,因此在直接剪掉這些冗余參數(shù)后,模型性能不會(huì)收到太多影響。同時(shí),剪枝可以在模型存儲、內(nèi)存效率和計(jì)算效率等方面更加友好。
剪枝可以分為非結(jié)構(gòu)化剪枝和結(jié)構(gòu)化剪枝,二者的主要區(qū)別在于剪枝目標(biāo)和由此產(chǎn)生的網(wǎng)絡(luò)結(jié)構(gòu)。結(jié)構(gòu)化剪枝剪掉基于特定規(guī)則的連接或分層結(jié)構(gòu),同時(shí)保留整體網(wǎng)絡(luò)結(jié)構(gòu)。非結(jié)構(gòu)化剪枝針對單個(gè)參數(shù),會(huì)導(dǎo)致不規(guī)則的稀疏結(jié)構(gòu)。最近的研究工作致力于將 LLM 與剪枝技術(shù)相結(jié)合,旨在解決與 LLM 相關(guān)的大規(guī)模和計(jì)算成本。
知識蒸餾
知識蒸餾(KD)是一種實(shí)用的機(jī)器學(xué)習(xí)技術(shù),旨在提高模型性能和泛化能力。該技術(shù)將知識從被稱為教師模型的復(fù)雜模型轉(zhuǎn)移到被稱為學(xué)生模型的更簡單模型。KD 背后的核心思想是從教師模型的全面知識中轉(zhuǎn)化出更精簡、更有效的代表。本文概述了使用 LLM 作為教師模型的蒸餾方法。
研究者根據(jù)這些方法是否側(cè)重于將 LLM 的涌現(xiàn)能力(EA)蒸餾到小模型(SLM)進(jìn)行分類。因此,這些方法被分為兩類:標(biāo)準(zhǔn) KD 和基于 EA 的 KD。對于視覺表示任務(wù),嚇圖 2 提供了 LLM 知識蒸餾的簡要分類。
下圖 3 為基于 EA 的蒸餾概覽。
量化
在模型壓縮領(lǐng)域,量化已成為一種被廣泛接受的技術(shù),以緩解深度學(xué)習(xí)模型的存儲和計(jì)算開銷。雖然傳統(tǒng)上使用浮點(diǎn)數(shù)表示權(quán)重,但量化將它們轉(zhuǎn)換為整數(shù)或其他離散形式。這種轉(zhuǎn)換大大降低了存儲需求和計(jì)算復(fù)雜性。雖然會(huì)出現(xiàn)一些固有的精度損失,但精巧的量化技術(shù)可以在精度下降最小的情況下實(shí)現(xiàn)實(shí)質(zhì)性模型壓縮。
量化可以分為三種主要方法:量化感知訓(xùn)練(QAT)、量化感知微調(diào)(QAF)以及訓(xùn)練后量化(PTQ)。這些方法的主要區(qū)別在于何時(shí)應(yīng)用量化來壓縮模型。QAT 在模型的訓(xùn)練過程中采用量化,QAF 在預(yù)訓(xùn)練模型的微調(diào)階段應(yīng)用量化,PTQ 在模型完成訓(xùn)練后對其進(jìn)行量化。
最近的研究致力于利用量化來壓縮 LLM,產(chǎn)生了驚人的結(jié)果。這些工作主要可以分為上述三種方法:量化感知訓(xùn)練、量化感知微調(diào)和訓(xùn)練后量化。此外,下表 1 是應(yīng)用于 LLM 的量化方法的匯總。該表根據(jù) LLM 權(quán)重中的位數(shù)(精度)將這些工作分為 8 位量化和低位量化。
低秩分解
低秩分解是一種模型壓縮技術(shù),旨在通過將給定的權(quán)重矩陣分解為兩個(gè)或更多具有明顯較低維度的較小矩陣來近似給定的矩陣。低秩分解背后的核心思想是將大權(quán)重矩陣 W 分解為兩個(gè)矩陣 U 和 V,使得 W ≈ UV,其中 U 是 m×k 矩陣,V 是 k×n 矩陣,k 比 m 和 n 小得多。U 和 V 的乘積近似于原始權(quán)重矩陣,參數(shù)數(shù)量和計(jì)算開銷大幅減少。
在 LLM 研究領(lǐng)域,低秩分解被廣泛采用,以有效地微調(diào) LLM,例如 LORA 及其變體。本文專注于這些使用低秩分解來壓縮 LLM 的工作。在 LLM 的模型壓縮領(lǐng)域,研究者經(jīng)常將多種技術(shù)與低秩分解相結(jié)合,包括剪枝、量化等,例如 LoRAPrune 和 ZeroQuantFP,在保持性能的同時(shí)實(shí)現(xiàn)更有效的壓縮。
隨著該領(lǐng)域研究的繼續(xù),在應(yīng)用低秩分解來壓縮 LLM 方面可能會(huì)有進(jìn)一步發(fā)展,但仍然需要進(jìn)行探索和實(shí)驗(yàn),以充分利用 LLM 的潛力。
度量和基準(zhǔn)
度量
LLM 的推理效率可以使用各種指標(biāo)來衡量。這些指標(biāo)考慮了性能的不同方面,通常與全面評估 LLM 的準(zhǔn)確性和零樣本學(xué)習(xí)能力一起呈現(xiàn)。
這些指標(biāo)包括如下:
- 參數(shù)規(guī)模
- 模型規(guī)模
- 壓縮比
- 推理時(shí)間
- 浮點(diǎn)運(yùn)算(FLOP)
基準(zhǔn)
基準(zhǔn)旨在與未壓縮的 LLM 相比,衡量壓縮 LLM 的有效性、效率和準(zhǔn)確性。這些基準(zhǔn)通常由不同的任務(wù)和數(shù)據(jù)集組成,涵蓋了一系列自然語言處理挑戰(zhàn)。常用基準(zhǔn)包括但不限于 HULK 和 ELUE。
最后研究者認(rèn)為未來應(yīng)在以下幾個(gè)方面進(jìn)一步探索,包括
- 專業(yè)的基準(zhǔn)測試
- 性能規(guī)模的權(quán)衡
- 動(dòng)態(tài) LLM 壓縮
- 可解釋性
更多細(xì)節(jié)請參閱原論文。