目前最優(yōu)的LLM PTQ量化算法——OmniQuant
單位: OpenGVLab, 上海AI Lab, 香港大學(xué)
研究動(dòng)機(jī):LLM的優(yōu)秀的PTQ和QAT方法主要有GPTQ和LLM-QAT。GPTQ(Frantar等人,2022年)可以在單個(gè)A100 GPU上使用128個(gè)樣本在一小時(shí)內(nèi)完成LLaMA-13B的量化,而LLM-QAT(Liu等人,2023a)需要100k個(gè)樣本和數(shù)百個(gè)GPU小時(shí)。這引導(dǎo)我們來(lái)到一個(gè)核心問(wèn)題:我們能否在保持PTQ的時(shí)間和數(shù)據(jù)效率的同時(shí),達(dá)到QAT的性能?
Abstract
LLMs已經(jīng)徹底改變了自然語(yǔ)言處理任務(wù)。然而,它們的實(shí)際部署受到其巨大的內(nèi)存和計(jì)算需求的阻礙。盡管最近的后訓(xùn)練量化(PTQ)方法在減少LLM的內(nèi)存占用和提高計(jì)算效率方面取得了有效成果,但它們手工制作的量化參數(shù)導(dǎo)致了性能低下,并且無(wú)法處理極低比特量化。為了解決這個(gè)問(wèn)題,我們引入了一種全方位校準(zhǔn)量化(OmniQuant)技術(shù)。它在保持PTQ的計(jì)算效率的同時(shí),在多樣化的量化設(shè)置中取得了良好的性能,通過(guò)有效優(yōu)化各種量化參數(shù)。OmniQuant包括兩個(gè)創(chuàng)新組件,包括可學(xué)習(xí)的權(quán)重裁剪(LWC)和可學(xué)習(xí)的等效變換(LET)。LWC通過(guò)優(yōu)化裁剪閾值來(lái)調(diào)節(jié)權(quán)重的極端值。同時(shí),LET通過(guò)可學(xué)習(xí)的等效變換來(lái)處理激活的異常值,將量化的挑戰(zhàn)從激活轉(zhuǎn)移到權(quán)重。
在可微分框架內(nèi)使用分塊誤差最小化,OmniQuant可以有效地優(yōu)化僅權(quán)重和權(quán)重-激活量化的量化過(guò)程。例如,大小為7-70B的LLaMA-2模型家族可以在1-16小時(shí)內(nèi)使用128個(gè)樣本在單個(gè)A100-40G GPU上通過(guò)OmniQuant處理。廣泛的實(shí)驗(yàn)驗(yàn)證了OmniQuant在多樣化的量化配置(如W4A4、W6A6、W4A16、W3A16和W2A16)中的卓越性能。此外,OmniQuant在指令調(diào)整模型中展示了有效性,并在真實(shí)設(shè)備上顯著提高了推理速度和內(nèi)存減少。代碼可在https://github.com/OpenGVLab/OmniQuant獲取。
2. Related work
2.1 量化方法
- QAT通過(guò)在訓(xùn)練期間模擬量化來(lái)保持性能,但其訓(xùn)練成本使其不適合LLM。
- PTQ技術(shù),如AdaRound和BRECQ,使用梯度優(yōu)化來(lái)確定最佳舍入,但對(duì)于更大的模型來(lái)說(shuō),調(diào)整所有權(quán)重是非常耗時(shí)的。
因此,大多數(shù)LLM量化方法優(yōu)先選擇無(wú)需訓(xùn)練的PTQ,但這也限制了模型在低比特情況下的性能。我們的目標(biāo)是在LLM量化中整合梯度更新,模仿QAT的方法,同時(shí)保持PTQ的效率。
2.2 LLM的量化
權(quán)重量化。權(quán)重量化專注于將權(quán)重轉(zhuǎn)換為低比特值。例如,GPTQ使用塊狀重建進(jìn)行3/4比特量化。SpQR(Dettmers等人,2023b)、OWQ(Lee等人,2023)和AWQ(Lin等人,2023)強(qiáng)調(diào)與高幅度激活相關(guān)的權(quán)重的重要性。因此,SpQR和OWQ采用混合精度量化來(lái)保護(hù)重要權(quán)重,而AWQ選擇通道級(jí)縮放以避免混合精度的硬件效率低下。Qlora(Dettmers等人,2023a)和INT2.1(Chee等人,2023)通過(guò)參數(shù)高效微調(diào)恢復(fù)量化模型的能力。與之相反,我們的方法直接增強(qiáng)了量化過(guò)程,使OmniQuant與Qlora和INT2.1相輔相成。
?
權(quán)重-激活量化。權(quán)重-激活量化壓縮了權(quán)重和激活。SmoothQuant(Xiao等人,2023)、LLM.int8()(Dettmers等人,2022)和異常值抑制(Wei等人,2022)通過(guò)管理激活異常值實(shí)現(xiàn)了W8A8量化。LLM.int8()使用混合精度分解,而其他兩種方法采用通道級(jí)縮放。此外,異常值抑制+(Wei等人,2023)增加了通道級(jí)移動(dòng)以推動(dòng)W6A6量化。與以前的啟發(fā)式設(shè)計(jì)不同,我們使用梯度優(yōu)化并將等效變換擴(kuò)展到注意力機(jī)制,進(jìn)一步提升了K/V緩存量化。
?
最近,RPTQ和LLM-QAT已經(jīng)實(shí)現(xiàn)了W4A4量化。然而,RPTQ采用了對(duì)部署不友好的分組激活量化,而LLM-QAT采用了耗時(shí)的QAT。與RPTQ和LLM-QAT不同,我們通過(guò)部署友好的per-token量化實(shí)現(xiàn)了W4A4量化,并保持了PTQ的效率。
3 OMNIQUANT
LLM量化的挑戰(zhàn)。量化LLM時(shí)存在兩個(gè)主要困難。首先,由于異常通道的存在,激活很難量化??紤]到權(quán)重分布是平坦和均勻的,SmoothQuant和Outlier Suppression+通過(guò)預(yù)定義的遷移強(qiáng)度將量化難度從激活轉(zhuǎn)移到權(quán)重來(lái)解決這個(gè)問(wèn)題。其次,權(quán)重的量化誤差也由于對(duì)應(yīng)激活的權(quán)重的重要性而在最終性能中起著關(guān)鍵作用。 SqQR和OWQ提出保留全精度的關(guān)鍵權(quán)重,而AWQ使用網(wǎng)格搜索的通道級(jí)縮放來(lái)保護(hù)這些權(quán)重。盡管這些方法在壓縮各種LLM方面取得了一定的成功,但由于手工設(shè)計(jì)的量化參數(shù)(如遷移強(qiáng)度和縮放因子)的粗糙設(shè)計(jì),它們通常導(dǎo)致次優(yōu)性能,并且無(wú)法處理極低比特量化。
?
在本節(jié)中,我們介紹了一種用于LLM的可微分量化技術(shù),稱為OmniQuant,其中量化參數(shù)具有更好的靈活性。為實(shí)現(xiàn)這一目標(biāo),OmniQuant采用塊間量化誤差最小化框架實(shí)現(xiàn),如第3.1節(jié)所述。為應(yīng)對(duì)上述LLM量化的挑戰(zhàn),我們?cè)O(shè)計(jì)了兩種新策略,包括可學(xué)習(xí)的權(quán)重裁剪(LWC)以減輕量化權(quán)重的難度,以及可學(xué)習(xí)的等效變換(LET)進(jìn)一步將量化挑戰(zhàn)從激活轉(zhuǎn)移到權(quán)重。我們?cè)诘?.2節(jié)和第3.3節(jié)分別介紹了LWC和LET。
3.1 BLOCK-WISE QUANTIZATION ERROR MINIMIZATION
之前采用梯度優(yōu)化的PTQ方法,如AdaRound和BRECQ,不能應(yīng)用于具有數(shù)十億參數(shù)的模型,因?yàn)榫薮蟮慕饪臻g難以優(yōu)化這些權(quán)重。我們提出了一種新的優(yōu)化流水線,采用塊間量化誤差最小化,其中額外的量化參數(shù)可以以可微分的方式優(yōu)化。我們將優(yōu)化目標(biāo)表述如下:
公式(1)中的Block-wise minimization有兩個(gè)優(yōu)點(diǎn):
- 1.OmniQuant可以聯(lián)合優(yōu)化LWC和LET中的量化參數(shù),使其足以包含僅權(quán)重和權(quán)重-激活量化。
- 2.Block-wise minimization易于優(yōu)化,資源要求最小。OmniQuant只需確定幾個(gè)量化參數(shù)的最優(yōu)性,這比優(yōu)化之前PTQ方法中的整體權(quán)重(Nagel等人,2020;Li等人,2021)要容易。
從經(jīng)驗(yàn)上,我們發(fā)現(xiàn)LLaMA-2家族的所有模型(Touvron等人,2023b)都可以在單個(gè)A100-40G GPU上僅使用128個(gè)訓(xùn)練樣本進(jìn)行量化。
3.2 LEARNABLE WEIGHT CLIPPING
OmniQuant采用LWC模塊來(lái)降低LLM中權(quán)重量化的難度。與具有l(wèi)earnable clipping threshold的先前方法類似(如LSQ、PACT等),LWC也通過(guò)優(yōu)化clipping threshold來(lái)確定權(quán)重的最佳動(dòng)態(tài)范圍。然而,我們發(fā)現(xiàn)直接采用先前工作,如PACT(Choi等人,2018)和LSQ(Esser等人,2019),量化性能不佳,正如LLM-QAT(Liu等人,2023a)所展示的那樣。附錄中的表A8也觀察到了類似的結(jié)果。
我們不是像之前的方法那樣直接學(xué)習(xí)clipping threshold,而是優(yōu)化一個(gè)clipping strength,如公式(2)所示:
3.3 LEARNABLE EQUIVALENT TRANSFORMATION
除了使用LWC使得權(quán)重更利于量化,我們還通過(guò)可學(xué)習(xí)的等效變換(LET)進(jìn)一步降低了權(quán)重-激活量化的難度。考慮到激活圖中的異常值是有條理性的,并且主要存在于特定通道,先前的方法如SmoothQuant通過(guò)數(shù)學(xué)等效變換將量化難度從激活轉(zhuǎn)移到權(quán)重。然而,他們的等效參數(shù)是人工設(shè)置的,導(dǎo)致次優(yōu)結(jié)果。
得益于之前的Block-wise的量化誤差最小化,我們的LET能夠以可微分的方式確定最優(yōu)等效參數(shù)。受到SmoothQuant(Xiao等人,2023)和Outlier Suppression+(Wei等人,2023)的啟發(fā),我們采用channel-wise scaling和channel-wise shifting來(lái)操縱激活分布,為異常值問(wèn)題提供了有效的解決方案。具體來(lái)說(shuō),我們研究了linear layer和attention操作中的等效變換,如圖3所示。
Untitled
S使用 SmoothQuant中的方法進(jìn)行初始化;使用Outlier Suppression+中的方法進(jìn)行初始化。
最后,我們對(duì)轉(zhuǎn)換后的激活和權(quán)重進(jìn)行量化,如下所示:
的scale和shift參數(shù)可以被融合到先前的歸一化或線性層中中的scale因子可以與原始權(quán)重融合。因此,公式(3)中的等效變換可以有效減少量化誤差,而不引入額外的參數(shù)或計(jì)算成本。
我們?cè)贚LM的所有線性層中使用這種等效變換,如圖3所示,除了FFN的第二個(gè)線性層。這可能是因?yàn)榉蔷€性層之后的特征高度稀疏(Liu等人,2023b)導(dǎo)致應(yīng)用可學(xué)習(xí)等效變換時(shí)梯度不穩(wěn)定。
?
Attention operation. 除了線性層之外,注意力操作也占據(jù)了計(jì)算的相當(dāng)一部分。此外,LLM的自回歸模式要求為每個(gè)token存儲(chǔ)KV Cache,這導(dǎo)致長(zhǎng)序列的內(nèi)存需求很大。因此,在權(quán)重-激活量化設(shè)置中,我們也將Q/K/V矩陣量化為低比特。具體來(lái)說(shuō),self-attention親和力矩陣的LET可以寫成:
4 EXPERIMENTS
4.1 僅權(quán)重量化結(jié)果
LLaMA系列的結(jié)果可以在表1中找到,而OPT的結(jié)果在附錄A6中呈現(xiàn)。正如表格所示,OmniQuant在各種LLM系列(OPT,LLaMA-1,LLaMA2)和多樣化的量化配置中始終優(yōu)于以前的LLM僅權(quán)重量化方法,包括W2A16,W2A16g128,W2A16g64,W3A16,W3A16g128,W4A16和W4A16g128。這些發(fā)現(xiàn)表明OmniQuant的多功能性,能夠適應(yīng)多種量化配置。例如,雖然AWQ(Lin等人,2023)在分組量化中特別有效,但OmniQuant在通道級(jí)和分組級(jí)量化中都表現(xiàn)出優(yōu)越的性能。此外,隨著量化比特大小的減小,OmniQuant的性能優(yōu)勢(shì)變得更加明顯。
4.2 權(quán)重-激活量化結(jié)果
在權(quán)重-激活量化中,我們主要關(guān)注W6A6和W4A4量化。我們排除了W8A8量化,因?yàn)榕c全精度對(duì)應(yīng)物相比,SmoothQuant幾乎可以實(shí)現(xiàn)無(wú)損的W8A8量化模型。LLaMA系列的結(jié)果可以在表2中找到,而OPT的結(jié)果在附錄A16中呈現(xiàn)。表2展示了LLaMA權(quán)重-激活量化的零樣本任務(wù)準(zhǔn)確性。
?
值得注意的是,在W4A4量化中,OmniQuant顯著提高了各種模型的平均準(zhǔn)確性,提高了+4.99% ~ +11.80%。顯著的是,在LLaMA-7B中,OmniQuant甚至超過(guò)了最近的QAT方法LLM-QAT(Liu等人,2023a),提高了+6.22%。這一改進(jìn)證明了加入額外可學(xué)習(xí)參數(shù)的有效性,這比QAT使用的全局權(quán)重調(diào)整更有益。
4.3 權(quán)重-激活量化結(jié)果
在權(quán)重-激活量化中,我們主要關(guān)注W6A6和W4A4量化。我們排除了W8A8量化,因?yàn)榕c全精度對(duì)應(yīng)物相比,SmoothQuant幾乎可以實(shí)現(xiàn)無(wú)損的W8A8量化模型。LLaMA系列的結(jié)果可以在表2中找到,而OPT的結(jié)果在附錄A16中呈現(xiàn)。表2展示了LLaMA權(quán)重-激活量化的零樣本任務(wù)準(zhǔn)確性。值得注意的是,在W4A4量化中,OmniQuant顯著提高了各種模型的平均準(zhǔn)確性,提高了+4.99% ~ +11.80%。顯著的是,在LLaMA-7B中,OmniQuant甚至超過(guò)了最近的QAT方法LLM-QAT(Liu等人,2023a),提高了+6.22%。這一改進(jìn)證明了加入額外可學(xué)習(xí)參數(shù)的有效性,這比QAT使用的全局權(quán)重調(diào)整更有益。
本文轉(zhuǎn)自 AI生成未來(lái),作者:Austin
