最新模型增量壓縮技術,一個80G 的 A100 GPU能夠輕松加載多達50 個 7B 模型,節省顯存約 8 倍,同時模型性能幾乎與壓縮前的微調模型相當。
清華大學 NLP 實驗室攜手 OpenBMB 開源社區、北京大學和上海财經大學的研究團隊,提出Delta-CoMe。
這項技術的核心在于利用主幹模型與任務專用模型之間參數增量(即 Delta)的特點進行壓縮,從而實現存儲開銷和部署成本的大幅降低。不僅有助于解決資源瓶頸問題,更爲多任務處理和模型部署開辟新的可能。
具體而言,Delta-CoMe 将低秩分解和低比特量化技術相結合,充分利用 Delta 參數的低秩特性,提出了一種全新的混合精度壓縮方法。這種方法不僅能夠實現接近無損的任務性能,還能顯著提升推理效率。
Delta-CoMe 方法介紹
微調是增強預訓練模型的重要手段,不同任務往往需要不同的微調方式。例如 Luo et al. [ 1 ] 提出 RLEIF 通過 Evove-instruction 來增強模型數學推理能力;Wei et al. [ 2 ] 利用 Code snnipet 合成高質量的指令數據來增加模型的代碼能力。然而,這些方法通常依賴高質量數據,并需要精心設計的策略才能實現顯著的效果。
在一些場景中往往需要具有不同能力的 LLM 同時處理問題,例如多租戶場景,多任務場景以及端側場景等等。一種自然的解決方案是部署單個通用模型作爲主幹,配合多個具有專有能力的 Delta。
以 Bitdelta [ 3 ] 爲例,它通過将模型的 Delta 壓縮到 1-bit,有效保留了模型在問答等場景中的能力。盡管該壓縮方法在存儲和推理效率上表現出色,其在更複雜的任務(如數學推理和代碼生成)上仍存在明顯的能力瓶頸。
針對這一挑戰,THUNLP 實驗室聯合北京大學和上海财經大學提出 Delta-CoMe。這一方法結合低秩分解和低比特量化技術,不僅顯著提升了模型在複雜任務上的表現,還兼顧了壓縮效率和實際應用需求,爲模型的高效部署提供了一種新思路。
與前人的方法相比,Delta-CoMe 方法的優點在于:
結合低秩與低比特量化,利用了 Delta 低秩的特點,并發現低秩分解後的 Delta 是長尾分布的;之後采用混合精度量化進一步壓縮
性能幾乎無損,相比于 BitDelta 等方法,在 Math, Code, Multi-modal 等複雜任務上,性能與壓縮前的微調模型表現基本接近
推理速度提升,爲混合精度量化實現了 Triton kernel 算子,對比 Pytorch 的實現方式,帶來近 3 倍的推理速度提升
超過 Delta-tuning,支持多精度 Backbone,Delta-CoMe 在效果上顯著優于 LoRA 微調,并可以用在多種精度的 Backbone 上
具體而言,Delta-CoMe 首先采用 SVD 進行低秩分解,Delta 具有低秩性,經過低秩分解之後,其特征值呈現出長尾分布的規律,僅有少數較大奇異值對應的奇異向量對最終的結果貢獻較大。
一個自然的想法,我們可以根據奇異值的大小進行混合精度量化,将較大的奇異值對應的奇異向量用較高精度表示,而較小的奇異值對應的奇異向量用較低精度表示。
實驗結果
多個開源模型和 Benchmark 的實驗驗證了該方法的有效性。
使用 Llama-2 作爲主幹模型,在數學、代碼、對話、多模态等多個任務中進行實驗,Delta-CoMe 展現出平均幾乎無損的性能。下面分别是 7B 模型和 13B 模型的實驗效果。
此外,還在 Mistral、Llama-3 等其它主幹模型上對不同的壓縮方法進行了驗證。
爲了提升混合精度量化的計算效率,實現一個 Triton Kernel,相比于 Pytorch 的實現方式,推理速度提升了約 3 倍。
實驗結果表明,使用一塊 80G 的 A100 GPU 可以加載 50 個 7B 模型。
最後,還比較了 Delta-Tuning 和 Delta-Compression 的效果差異(Delta-Tuning 指的是通過訓練部分參數進行微調,Delta-Compression 指的是先進行全參數微調,再将微調帶來的模型參數增量進行壓縮)。其中 Delta-Tuning 采用的是 LoRA。Delta-CoMe 對比 LoRA 在相同的存儲開銷下,性能顯著提升。
Delta-CoMe 通過結合低秩分解和低比特量化,不僅實現了大幅度的存儲壓縮,還在複雜任務如數學推理、代碼生成和多模态任務上維持了與壓縮前模型相當的性能表現。相比于傳統的微調方法,Delta-CoMe 展現出了更高的靈活性,尤其在多租戶和多任務場景中具有顯著的應用價值。此外,借助 Triton kernel 的優化,推理速度得到了顯著提升,使得部署大規模模型成爲可能。未來,這一方法的潛力不僅在于進一步優化模型存儲和推理速度,也有望在更廣泛的實際應用中推動大語言模型的普及和高效運作。
參考文獻
[ 1 ] Yu, L., Jiang, W., Shi, H., Jincheng, Y., Liu, Z., Zhang, Y., Kwok, J., Li, Z., Weller, A., and Liu, W.Metamath: Bootstrap your own mathematical questions for large language models. In The Twelfth International Conference on Learning Representations, 2023.
[ 2 ] Luo, Z., Xu, C., Zhao, P., Sun, Q., Geng, X., Hu, W., Tao, C., Ma, J., Lin, Q., and Jiang, D. Wizardcoder: Empowering code large language models with evol-instruct. arXiv preprint arXiv:2306.08568, 2023b
[ 3 ] Liu, J., Xiao, G., Li, K., Lee, J. D., Han, S., Dao, T., and Cai, T. Bitdelta: Your fine-tune may only be worth one bit. arXiv preprint arXiv:2402.10193, 2024b.
Paper 鏈接:https://arxiv.org/abs/2406.08903
Github 鏈接:https://github.com/thunlp/Delta-CoMe
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回複你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>