​即插即用!美團提出整數量化係數方案:大模型細粒度量化的免費午餐

摘要

該文提出整型量化係數

(Integer Scale),這是一種新穎的訓練後量化方案,專門針對大型語言模型,它有效地解決了當前細粒度量化方法中的推理瓶頸,並且幾乎精度無損。由於它不需要額外的校準或微調,可以即插即用,適用於大多數細粒度量化方法,因此稱作“免費的午餐”。它的可以最高將原始對應版本的端到端速度提升 1.85 倍,並且保持相當的精度。

此外,由於提出的整型量化係數和細粒度量化的協同作用,該文解決了 Mixtral-8x7B 和 LLaMA-3 模型的量化難題,和 FP16 精度的版本相比,端到端速度分別提高了2.13倍和 2.31 倍。
論文標題:
Integer Scale: A Free Lunch for Faster Fine-grained Quantization of LLMs
論文連結:
https://arxiv.org/abs/2405.14597

簡介

最佳化大型語言模型(LLMs)的推理效率不是一項簡單的任務。LLMs 通常包括一個計算密集型的預填充階段(prefill)和一個訪存密集型的自解碼階段(self-decoding)。利用整數矩陣乘法可以加速計算,但直接應用訓練後量化通常會帶來較大的效能下降。像 LLM-QAT [28] 這樣的量化感知訓練方法需要昂貴的計算資源來微調所有權重。相比之下,訓練後量化成本更低,通常在實踐中使用。
例如,SmoothQuant [48] 將啟用量化難度遷移到權重量化,以提高量化精度。最近,細粒度的分組量化經常作為減少量化誤差的手段,如 ZeroQuant [49],GPTQ [14],AWQ [26] 和 FPTQ [24]
FPTQ 提出了一種細粒度的 W4A8 策略,作為 W4A16 和 W8A8 之間的折衷方案。儘管其高量化精度得益於細粒度量化,但由於細粒度所引入的內在計算複雜性,實際的推理收益也被低效的運算所吞噬,見圖 1 綠色。而該文提出的整形量化係數則可以避免低效的運算,並取得實際的加速收益,見圖 1 紅色。該方法對 LLaMA-2 系列的 3 個模型均取得了明顯的加速收益。
▲ 圖1:在 LLaMA-2 模型上,W4A8(整型量化係數)與 W4A8(浮點比例因子)以及 W4A16(Marlin)的端到端延遲比較。加速比標註在條形圖的頂部。
該方法有三個主要貢獻點:
  • 揭示了細粒度大型語言模型(LLM)量化方法的內在推理瓶頸,並找到了一種幾乎不損失精度的解決方案,稱為整數量化係數(Integer Scale)。該方法可以作為即插即用的外掛,用於最先進的量化方法(例如 GPTQ [14],AWQ [26],Omniquant [41],QuaRot [3] 等),並且只需做最小的修改。
  • 細粒度量化和整數量化係數方案的結合不僅保留了現有方法的效能,還有效地解決了使用混合專家技術構建的 Mixtral [18] 和 LLaMA-3 [1] 的量化難題。
  • 當整型量化係數應用於細粒度 W4A8 正規化時,與 FP16 相比,實現了最多 1.85 倍的端到端速度提升,與 Marlin W4A16 [13] 相比提升了 1.17 倍,與浮點量化係數版本相比提升了 1.83 倍,同時在效能上是可比的,即實現了速度與精度的新帕累託前沿,證實了方法的可行性。

動機

3.1 細粒度方法能顯著提升量化精度

細粒度方法 [24, 26, 52] 在許多最先進的大型語言模型(LLM)量化方法中具有顯著優勢。在極端情況下,即使粗粒度方法失敗,它也能產生合理的結果。它可以作為外掛方法應用,以提高現有方法的準確性。細粒度權重啟用量化 GEMM 的輸出 可以寫成:
其中, W 代表權重矩陣, X 代表啟用矩陣,GEMM 代表矩陣乘法和累加操作。細粒度量化通常涉及將權重和啟用值分別量化,這可以提高量化後的模型在保持精度方面的表現。透過這種方式,細粒度量化方法能夠在量化過程中更精細地控制數值表示,從而在一定程度上減少量化誤差,提高模型的整體效能。
3.2 細粒度方法存在推理瓶頸
儘管細粒度量化能夠實現更高的精度,正如 [24] 中所展示的,該文發現它在推理過程中特別慢,這在雙粒度量化(Dual-Granularity Quantization, DGQ)方法 [51] 中也有所記錄。使用較低位寬的優勢常常被它們引入的計算開銷所抵消。
圖 2 比較了在典型推理批次大小下的核心延遲(從 3.15 倍下降到 0.5 倍)。值得注意的是,與 FP16 相比,細粒度核心在較大的批次大小下明顯更慢,這使得它在部署上不太實用。進一步分析證實,細粒度方法本質上需要大量昂貴的型別轉換。如圖 3(b)所示,每次整數矩陣乘法的結果都必須轉換為浮點精度,以便與相應的浮點量化係數相乘。
▲ 圖2:W4A8 帶浮點縮放與 FP16 的核心延遲比較。紅線表示其相對於 FP16 的加速比率。
這種轉換過程不僅增加了計算負擔,特別是在處理大型批次資料時,還可能成為推理速度的瓶頸。因此,雖然細粒度量化在理論上可以提供更高的精度,但在實際應用中,它需要與推理效率之間進行權衡。解決這一問題的方法可能包括最佳化量化演算法以減少型別轉換的需求,或者開發新的量化策略,這些策略需要在不犧牲推理速度的情況下提供可接受的精度水平。
方法
▲ 圖3:(a)細粒度量化將大小為 M×K 的啟用 X 和大小為 K×N 的權重劃分為組,以進行獨立的量化。(b)以前的浮點比例因子方案需要大量的昂貴型別轉換(I32toF32),這些轉換來自分組矩陣乘法的結果,這阻礙了整體效能。該文提出的方案(c)使用整型量化係數和自動放大器(表示為 α),在保持類似準確性的同時緩解了問題。注意 sij 是每個權重組 gij 的比例因子,而 sai 是啟用 X 的比例因子。
鑑於前面的討論,提高細粒度推理的速度變得至關重要。圖 3(b)顯示,使用浮點量化係數會觸發許多昂貴的型別轉換。例如,一個典型的 4096×4096 大小的密集層,分為 128 組,會有 131072 個浮點量化係數,因此需要同樣數量的 4 種類型轉換操作。每個操作都需要額外的逐元素轉換。
直觀地,該文可以求助於整數量化係數來避免這種情況。然而,由於所有歸一化的浮點量化係數都在(0, 1)範圍內,直接將量化係數轉換為整數肯定會造成巨大的量化誤差。為了緩解這個問題,該文引入了一個整數放大器 α,稱為自適應量化係數放大器,它可以根據可用的浮點量化係數輕鬆計算出來。該文的方法可以正式表述為:
其中 α 是自適應量化係數放大器,它可以調整量化後的值以減少量化誤差。透過這種方式,該文能夠在不進行昂貴的型別轉換的情況下,保持量化操作的精度,從而提高推理速度。
這種方法的核心在於找到一種平衡,既能利用整數運算的速度優勢,又能透過自適應放大器減少量化過程中的精度損失。透過精心設計的放大器,該文可以在不犧牲太多精度的情況下,顯著提高細粒度量化模型的推理效率。
為了找到共同的放大器,該文使用啟發式搜尋演算法,從 開始放大所有組的最小量化係數,直到該文找到一個放大器 ,它確保放大後的量化係數大於 1,見下面程式碼。

scale_min = scales . min ()

n , tmp = 0 , scale_min

while tmp < 1:

  tmp = scale_min * (2** n )

  n +=1

scale_amplifier = 2**( n -1)

這裡的啟發式搜尋演算法是一種最佳化方法,用於在一組可能的放大值中找到合適的放大器 α。演算法從  (即 1)開始,逐步增加放大倍數,直到找到最小的 ,使得所有組的放大量化係數都大於 1。這樣做的目的是為了確保量化後的量化係數不會由於直接轉換為整數而產生下溢(即變得太小,接近或等於 0)。
這種方法的優點在於它簡單且高效,能夠快速找到一個合適的放大器,從而在不犧牲太多精度的情況下減少量化誤差。透過這種方式,該文可以在保持量化操作的精度的同時,提高模型的推理速度。
理想情況下,該文可以使用上述啟發式方法為每層找到最優的放大器。然而,基於圖 4(a,b,c)中對 LLaMA-2-7B 模型的量化係數分析,該文發現放大量化係數所需的移位數主要落在 9 或 10。使用 作為放大器時,與其浮點數版本相比較權重均方誤差(Mean Squared Error, MSE)在 到 的範圍內。
對於 13B 和 70B 模型,也有類似的觀察結果。該文選擇 作為該文的預設放大器,以避免可能的溢位,後續的消融實驗顯示更大的放大器並沒有明顯的增益。
▲ 圖4:(a)在第一層中放大(α = 210)的 LLaMA-2-7B 浮點比例因子的範圍(其他層類似)對映到 16 位整數。大多數放大的比例因子可以在 8 位內表示。(b)每個線性層所需的位數移動數量以放大比例因子。(c)在不同放大器下整型量化係數與浮點比例因子之間的權重均方誤差(Weight MSE)。
在實際應用中,儘管理論上可以為每個層找到最優的放大器,但在實踐中,透過對特定模型的量化係數分析,可以確定一個適用於大多數情況的預設放大器。
實驗
5.1 Common Sense QA 量化結果
見表 1, 整數量化係數(IS)在 Common Sense QA 資料集上能夠保持常見的大模型量化演算法的精度,有些甚至有增益。
▲ 表1:在LAMBADA(準確性)、C4(困惑度)和 WikiText(困惑度)上與最先進量化方法的比較。對於所有測試的模型,該文將權重組大小設定為 128,並應用對稱量化。使用放大器 1024 的整數量化係數(IS)。

5.2 Kernel 實現對比

圖 5(a)展示了在不同頻寬條件下 Kernel 實現對比。Marlin [13] 到目前為止提供了最先進的 W4A16 Kernel 實現。Odyssey 的 W4A8 方案受益於其 FastGEMM 的設計,並且在 FP16 上具有最佳的加速比。可以看出,細粒度的 W4A8 使用整型量化係數成為一種在 W4A16 和非細粒度 W4A8 之間的可行方案,以獲得更好的準確性。
有趣的是,該文發現了一個“效能懸崖”(灰色區域),當從記憶體限制轉變為計算限制場景時,加速比突然下降。這是由於理想的加速比從 4 倍突然下降到與 FP16 相比的 2 倍。
▲ 圖5:(a)細粒度的 W4A8 核(K=4096, N=22016)使用整型量化係數(W4A8 整數量化係數)提升了其浮點比例因子對應模型(W4A8 浮點比例因子)的效能。灰色區域表示“效能懸崖”。(b)在不同批次大小下,Mixtral 8x7B 在 FP16 上的端到端速度提升。
圖 6 展示了和最新 W4A8KV4 量化方案 QServe [27] 的 Kernel 效能對比。不論是細粒度,還是粗粒度的效能,該文的 Kernel 相對於 FP16 的加速比都要高於 QServe。儘管位寬相同,細粒度核心使用整數量化係數速度明顯快於 QServe,最高可達 1.53 倍。
結果表明,主要差異在於他們採用的雙重量化的內在複雜性 [51],該方法首先將權重量化為 8 位,然後再量化為 4 位,第二步中保持了不對稱性以抵消量化損失。這種不對稱方案需要進行逐元素乘法和減法,這必須在成本較高的 CUDA 核心上完成。
▲ 圖6:在特定引數設定下(K=4096, N=22016),同 QServe 的 W4A8 核心、FP16 核心的速度比較

5.3 Mixture-of-experts 量化加速

圖 5(c)展示了將 W4A8 整型量化係數方案應用於 Mixtral 8×7B 時的端到端延遲,與 FP16和 W4A16 相比,最多獲得了 1.55 倍和 1.3 倍的提升。證明對與 MoE 模型該方法也具有魯棒性。
5.4 LLaMA-3 量化方案
LLaMA-3 與其前代相比,在較低位寬的量化上存在困難,這一點在文獻 [17] 中得到了證實。為了解決這個問題,該文應用了 QuaRot [3],並採用了細粒度正規化。該文采用了每個 token 8 位的啟用量化和每個通道 4 位的對稱權重量化,組大小為 128。
此外,根據文獻 [24] 的觀察,該文對下投影層使用了細粒度的 W8A8。表 2 展示了該文 LLaMA-3 方案的結果,其中整型量化係數的效能超過了 GPTQ 的 W4A16(在 C4 的困惑度上降低了 1.16%)。
▲ 表2:LLaMA-3 整型量化係數方案

結論

該文介紹了一種即插即用的方案,稱為整數量化係數(Integer Scale),它可以用來加速現有的細粒度量化方法。該文透過廣泛的實驗表明,整數量化係數不僅受益於細粒度帶來的效能提升,而且很好地解決了內在的計算開銷問題。它可以作為一種預設的免費午餐技術,與各種頻寬的細粒度方法結合使用,以實現整體上具有競爭力的量化策略。
此外,相同的策略也可以應用於基於混合專家技術的 Mixtral 8×7B 和 LLaMA-3,解決了這些模型以前在較低位寬下量化精度下降明顯的難題。
參考文獻
[1] AI@Meta. Llama 3 model card. 2024. URL https://github.com/meta-llama/llama3/
blob/main/MODEL_CARD.md
[3] Saleh Ashkboos, Amirkeivan Mohtashami, Maximilian L Croci, Bo Li, Martin Jaggi, Dan
Alistarh, Torsten Hoefler, and James Hensman. Quarot: Outlier-free 4-bit inference in rotated
llms. arXiv preprint arXiv:2404.00456, 2024
[13] Elias Frantar and Dan Alistarh. Marlin: a fast 4-bit inference kernel for medium batchsizes.
https://github.com/IST-DASLab/marlin, 2024
[14] Elias Frantar, Saleh Ashkboos, Torsten Hoefler, and Dan Alistarh. Gptq: Accurate post-training
quantization for generative pre-trained transformers. arXiv preprint arXiv:2210.17323, 2022
[17] Wei Huang, Xudong Ma, Haotong Qin, Xingyu Zheng, Chengtao Lv, Hong Chen, Jie Luo,
Xiaojuan Qi, Xianglong Liu, and Michele Magno. How good are low-bit quantized llama3
models? an empirical study. arXiv preprint arXiv:2404.14047, 2024
[18] Albert Q Jiang, Alexandre Sablayrolles, Antoine Roux, Arthur Mensch, Blanche Savary, Chris
Bamford, Devendra Singh Chaplot, Diego de las Casas, Emma Bou Hanna, Florian Bressand,
et al. Mixtral of experts. arXiv preprint arXiv:2401.04088, 2024
[24] Qingyuan Li, Yifan Zhang, Liang Li, Peng Yao, Bo Zhang, Xiangxiang Chu, Yerui Sun, Li Du,
and Yuchen Xie. Fptq: Fine-grained post-training quantization for large language models. arXiv
preprint arXiv:2308.15987, 2023
[26] Ji Lin, Jiaming Tang, Haotian Tang, Shang Yang, Xingyu Dang, and Song Han. Awq: Activation-
aware weight quantization for llm compression and acceleration, 2023
[27] Yujun Lin, Haotian Tang, Shang Yang, Zhekai Zhang, Guangxuan Xiao, Chuang Gan, and Song
Han. Qserve: W4a8kv4 quantization and system co-design for efficient llm serving. arXiv
preprint arXiv:2405.04532, 2024
[28] Zechun Liu, Barlas Oguz, Changsheng Zhao, Ernie Chang, Pierre Stock, Yashar Mehdad,
Yangyang Shi, Raghuraman Krishnamoorthi, and Vikas Chandra. Llm-qat: Data-free quantiza-
tion aware training for large language models, 2023.
[49] Zhewei Yao, Reza Yazdani Aminabadi, Minjia Zhang, Xiaoxia Wu, Conglong Li, and Yuxiong
He. ZeroQuant: Efficient and affordable post-training quantization for large-scale transformers.
arXiv preprint arXiv:2206.01861, 2022
[51] Luoming Zhang, Wen Fei, Weijia Wu, Yefei He, Zhenyu Lou, and Hong Zhou. Dual grained
quantization: Efficient fine-grained quantization for LLM, 2024
更多閱讀
#投 稿 通 道#
 讓你的文字被更多人看到 
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析科研心得競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註 
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected] 
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿
△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·
·
·

相關文章