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

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

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

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

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

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

目前,研究團隊已將使用方法放在GitHub主頁上,戳文末鏈接即可獲取。

Llama3.1 更大也更難壓縮

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

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

該研究團隊發現,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值的平均值和標準差。

由圖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:一站式大模型瘦身工具包

△LLMC框架圖

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

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

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

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

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

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

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

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

多樣化評估。LLMC能夠對壓縮模型進行綜合評估,提供詳細的性能指標和分析,例如困惑度(PPL)、數據可視化分析、峰度值(Kurtosis)、誤差和異常值分佈。這種全面的評估功能可確保用戶能夠就其模型的最佳壓縮策略做出明智的決策。

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

該工具包允許用戶僅使用單個GPU即可對千億參數LLM進行壓縮,這極大地方便了LLM量化的應用。配備這款強大的工具包,未來的大模型研究人員以及普通用戶可以爲他們的應用程序有效地集成合適的算法和對應後端平臺所需要的格式,從而普及大模型的壓縮應用。

工具地址:https://github.com/ModelTC/llmc論文地址:https://arxiv.org/abs/2405.06001