80G顯存塞50個(gè)7B大模型!清華&OpenBMB開源增量壓縮新算法,顯存節(jié)省8倍
最新模型增量壓縮技術(shù),一個(gè)80G的A100 GPU能夠輕松加載多達(dá)50個(gè)7B模型,節(jié)省顯存約8倍,同時(shí)模型性能幾乎與壓縮前的微調(diào)模型相當(dāng)。
清華大學(xué)NLP實(shí)驗(yàn)室攜手OpenBMB開源社區(qū)、北京大學(xué)和上海財(cái)經(jīng)大學(xué)的研究團(tuán)隊(duì),提出Delta-CoMe。
這項(xiàng)技術(shù)的核心在于利用主干模型與任務(wù)專用模型之間參數(shù)增量(即Delta)的特點(diǎn)進(jìn)行壓縮,從而實(shí)現(xiàn)存儲開銷和部署成本的大幅降低。不僅有助于解決資源瓶頸問題,更為多任務(wù)處理和模型部署開辟新的可能。
具體而言,Delta-CoMe將低秩分解和低比特量化技術(shù)相結(jié)合,充分利用Delta參數(shù)的低秩特性,提出了一種全新的混合精度壓縮方法。這種方法不僅能夠?qū)崿F(xiàn)接近無損的任務(wù)性能,還能顯著提升推理效率。
Delta-CoMe方法介紹
微調(diào)是增強(qiáng)預(yù)訓(xùn)練模型的重要手段,不同任務(wù)往往需要不同的微調(diào)方式。例如Luo et al.[1]提出RLEIF通過Evove-instruction來增強(qiáng)模型數(shù)學(xué)推理能力;Wei et al.[2]利用Code snnipet合成高質(zhì)量的指令數(shù)據(jù)來增加模型的代碼能力。然而,這些方法通常依賴高質(zhì)量數(shù)據(jù),并需要精心設(shè)計(jì)的策略才能實(shí)現(xiàn)顯著的效果。
在一些場景中往往需要具有不同能力的LLM同時(shí)處理問題,例如多租戶場景,多任務(wù)場景以及端側(cè)場景等等。一種自然的解決方案是部署單個(gè)通用模型作為主干,配合多個(gè)具有專有能力的Delta。
以Bitdelta[3]為例,它通過將模型的Delta壓縮到1-bit,有效保留了模型在問答等場景中的能力。盡管該壓縮方法在存儲和推理效率上表現(xiàn)出色,其在更復(fù)雜的任務(wù)(如數(shù)學(xué)推理和代碼生成)上仍存在明顯的能力瓶頸。
針對這一挑戰(zhàn),THUNLP實(shí)驗(yàn)室聯(lián)合北京大學(xué)和上海財(cái)經(jīng)大學(xué)提出Delta-CoMe。這一方法結(jié)合低秩分解和低比特量化技術(shù),不僅顯著提升了模型在復(fù)雜任務(wù)上的表現(xiàn),還兼顧了壓縮效率和實(shí)際應(yīng)用需求,為模型的高效部署提供了一種新思路。
與前人的方法相比,Delta-CoMe方法的優(yōu)點(diǎn)在于:
- 結(jié)合低秩與低比特量化,利用了Delta低秩的特點(diǎn),并發(fā)現(xiàn)低秩分解后的Delta是長尾分布的;之后采用混合精度量化進(jìn)一步壓縮
- 性能幾乎無損,相比于BitDelta等方法,在Math, Code, Multi-modal等復(fù)雜任務(wù)上,性能與壓縮前的微調(diào)模型表現(xiàn)基本接近
- 推理速度提升,為混合精度量化實(shí)現(xiàn)了Triton kernel算子,對比Pytorch的實(shí)現(xiàn)方式,帶來近3倍的推理速度提升
- 超過Delta-tuning,支持多精度Backbone,Delta-CoMe在效果上顯著優(yōu)于LoRA微調(diào),并可以用在多種精度的Backbone上
具體而言,Delta-CoMe首先采用SVD進(jìn)行低秩分解,Delta 具有低秩性,經(jīng)過低秩分解之后,其特征值呈現(xiàn)出長尾分布的規(guī)律,僅有少數(shù)較大奇異值對應(yīng)的奇異向量對最終的結(jié)果貢獻(xiàn)較大。
一個(gè)自然的想法,我們可以根據(jù)奇異值的大小進(jìn)行混合精度量化,將較大的奇異值對應(yīng)的奇異向量用較高精度表示,而較小的奇異值對應(yīng)的奇異向量用較低精度表示。
實(shí)驗(yàn)結(jié)果
多個(gè)開源模型和 Benchmark 的實(shí)驗(yàn)驗(yàn)證了該方法的有效性。
使用Llama-2作為主干模型,在數(shù)學(xué)、代碼、對話、多模態(tài)等多個(gè)任務(wù)中進(jìn)行實(shí)驗(yàn),Delta-CoMe展現(xiàn)出平均幾乎無損的性能。下面分別是7B模型和13B模型的實(shí)驗(yàn)效果。
此外,還在Mistral、Llama-3等其它主干模型上對不同的壓縮方法進(jìn)行了驗(yàn)證。
為了提升混合精度量化的計(jì)算效率,實(shí)現(xiàn)一個(gè)Triton Kernel,相比于Pytorch的實(shí)現(xiàn)方式,推理速度提升了約3倍。
實(shí)驗(yàn)結(jié)果表明,使用一塊80G的A100 GPU可以加載50個(gè)7B模型。
最后,還比較了Delta-Tuning和Delta-Compression的效果差異(Delta-Tuning指的是通過訓(xùn)練部分參數(shù)進(jìn)行微調(diào),Delta-Compression指的是先進(jìn)行全參數(shù)微調(diào),再將微調(diào)帶來的模型參數(shù)增量進(jìn)行壓縮)。其中Delta-Tuning采用的是LoRA。Delta-CoMe對比LoRA在相同的存儲開銷下,性能顯著提升。
Delta-CoMe 通過結(jié)合低秩分解和低比特量化,不僅實(shí)現(xiàn)了大幅度的存儲壓縮,還在復(fù)雜任務(wù)如數(shù)學(xué)推理、代碼生成和多模態(tài)任務(wù)上維持了與壓縮前模型相當(dāng)?shù)男阅鼙憩F(xiàn)。相比于傳統(tǒng)的微調(diào)方法,Delta-CoMe 展現(xiàn)出了更高的靈活性,尤其在多租戶和多任務(wù)場景中具有顯著的應(yīng)用價(jià)值。此外,借助 Triton kernel 的優(yōu)化,推理速度得到了顯著提升,使得部署大規(guī)模模型成為可能。未來,這一方法的潛力不僅在于進(jìn)一步優(yōu)化模型存儲和推理速度,也有望在更廣泛的實(shí)際應(yīng)用中推動(dòng)大語言模型的普及和高效運(yùn)作。