天天看點

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

模型工具鍊團隊 投稿

量子位 | 公衆号 QbitAI

單卡搞定Llama 3.1(405B),最新大模型壓縮工具來了!

最近Llama-3.1登上開源頂峰,但其最強的405B版本模型900多GB的記憶體需求,對資源構成了更加苛刻的挑戰。

北航、商湯、南洋理工等團隊聯合推出的大模型壓縮工具與基準LLMC,能很好解決這一問題。

它使得一張80G A100即可完成Llama 3.1 405B的校準和評估,進而實作以超低成本進行量化。

它支援多種壓縮算法、模型和推理後端,具有強大的擴充性和全方位的評估能力。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

目前,研究團隊已将使用方法放在GitHub首頁上,戳文末連結即可擷取。

Llama3.1 更大也更難壓縮

低比特量化是解決資源受限問題的通用技術之一。為此,相關研究人員運用了LLMC對Llama 3.1進行了量化壓縮。

結果如表1所示,采用LLMC中的某些算法,例如QuaRot和AWQ等算法在70B和405B參數量的模型上,均能有效保持量化精度。而最為簡單的“四舍五入”(Naive)算法在這些大規模模型上則表現出顯著的精度下降,特别是在激活被量化的情況下。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

該研究團隊發現,Llama 3.1系列模型的量化精度下降現象,源于其激活張量中存在一些相比其他模型更顯著的離群值或異常值(outliers)。随着Llama 3.1模型體積的增大,這些離群值的現象更加嚴重。離群值是指在資料中某些數值與其他數值相比差異較大的點,是影響量化精度的關鍵因素之一。

借助LLMC工具,研究團隊對Llama 3.1系列模型(8B、70B、405B)的第一個block的4層(q_proj、o_proj、gate_proj、down_proj)輸入激活張量進行了可視化(如圖1-3所示)。每個子圖底部展示了該層激活值的所有token的Kurtosis值的平均值和标準差。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了
單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了
單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

由圖1-3可以發現,在Llama 3.1系列的模型中,激活張量的一些channel中存在outlier,而且在越大的模型中,這個現象更明顯。

是以,可以合理推斷:Llama 3.1 405B模型雖然變強了,但也變得更加“異常”,更難被量化。

LLMC工具中支援一系列關于抑制大模型異常值的量化算法,包括AWQ、SmoothQuant、OS+、QuaRot等。由表1可以看到,這些方法通過有效抑制outlier,大大提升了Llama 3.1的量化精度。例如,在405B模型W8A8量化上,SmoothQuant、OS+、QuaRot幾乎可以取得與浮點模型相當的精度表現。

LLMC:一站式大模型瘦身工具包

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

△LLMC架構圖

支援多種算法。LLMC 支援多種壓縮算法,包括 16 種不同的量化方法,涵蓋僅權重、權重激活和混合精度量化。這種多樣性允許對不同方法進行公平比較和深入分析。當然除了量化,目前還支援各種類型的稀疏以及相關算法。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

△LLMC目前支援的部分硬體友好壓縮算法分類

精度高度對齊。LLMC團隊進行了若幹對齊實驗,比較了幾種已建立的量化算法(LLMC與原始論文/代碼)。

實驗設定與原始論文中的設定或其開源代碼的預設設定相同(如表3所示)。

這些實驗結果總結在表4-6中。表中的結果表明,LLMC工具在性能上幾乎與文獻中報道的原始量化算法一緻。通過這些實驗,證明了LLMC不僅有效,而且在重制現有量化方法的結果方面也是可靠的。這確定了該工具對LLM量化研究的貢獻是可信且有價值的。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了
單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

以超低成本進行量化。LLMC工具包旨在實作資源高效利用,并且能夠以最低的硬體要求運作大型模型。得益于單block級别的運作機制,僅需要一台80G A100即可完成Llama 3.1 405B的校準和評估,進而實作以超低成本進行量化。

多後端相容性。LLMC支援多種量化設定和模型格式,相容多個後端和硬體平台,例如LightLLM、TRT-LLM、PPL-LLM、vLLM、MLC-TVM和llama.cpp,具有高度的通用性。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

高擴充性。該工具包高度子產品化和可擴充,能夠輕松适配從整數量化到浮點量化,從密集模型到專家混合(MoE)模型,從LLM到視覺語言模型(VLM),從量化到稀疏化。這種子產品化設計確定使用者可以擴充和自定義工具包,以滿足他們的需求。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了
單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

多樣化評估。LLMC能夠對壓縮模型進行綜合評估,提供詳細的性能名額和分析,例如困惑度(PPL)、資料可視化分析、峰度值(Kurtosis)、誤差和異常值分布。這種全面的評估功能可確定使用者能夠就其模型的最佳壓縮政策做出明智的決策。

單卡搞定Llama 3.1 405B,讓大模型輕松瘦身!超強壓縮工具包來了

LLMC團隊釋出了多功能的大模型壓縮工具包LLMC,支援多種壓縮算法、模型和推理後端,具有強大的擴充性和全方位的評估能力。

該工具包允許使用者僅使用單個GPU即可對千億參數LLM進行壓縮,這極大地友善了LLM量化的應用。配備這款強大的工具包,未來的大模型研究人員以及普通使用者可以為他們的應用程式有效地內建合适的算法和對應後端平台所需要的格式,進而普及大模型的壓縮應用。

工具位址:https://github.com/ModelTC/llmc

論文位址:https://arxiv.org/abs/2405.06001

— 完 —

量子位 QbitAI · 頭條号

關注我們,第一時間獲知前沿科技動态

繼續閱讀