Q8-Chat:在 Intel Xeon CPU 上的高效生成式 AI

Hugging Face 與 Intel 示範,使用 SmoothQuant 將大型語言模型壓縮至 8 位元整數,可在單插槽 Intel Xeon CPU 上高效執行高品質聊天體驗。

使用 SmoothQuant 克服 LLM 量化挑戰

標準的量化技術常在 LLM 上失效,因為這些模型在所有層與 token 的特定激活通道中會出現大幅度的異常值。當激活以 token 為單位進行量化時,這些異常值通常會導致值被截斷或低幅度激活下溢,兩者皆會嚴重降低模型的準確度。

SmoothQuant 透過對權重與激活同時進行數學變換來解決此問題。此過程透過提升權重的比例,降低激活中異常值與非異常值的比例,使 Transformer 層變得「適合量化」。這使得 8 位元整數 (INT8) 量化成為可能,將複雜的 16 位元浮點 (FP16/BF16) 運算取代為更快速的整數算術。

效能與準確度基準測試

Intel 將 SmoothQuant-O3 套用於多個 LLM,包括 OPT(2.7B 與 6.7B)、LLaMA(7B)、Alpaca(7B)、Vicuna(7B)、BloomZ(7.1B)以及 MPT-7B-chat。結果顯示,8 位元量化能維持或提升模型效能:

  • OPT 模型: 這些模型被確認為 SmoothQuant 的極佳候選。模型大小減少約 2 倍,大多數基準測試顯示效能提升,其他則僅有輕微的懲罰。
  • LLaMA 7B 與 BloomZ 7.1B: 這些模型被壓縮約 2 倍,約有一半的任務指標有所提升。僅有一項任務的相對下降超過 3%。

硬體實作與 Q8-Chat

透過結合 8 位元量化與第 4 代 Intel Xeon(Sapphire Rapids)硬體,使得在 CPU 上高效部署 LLM 成為可能。

Q8-Chat 是在 Hugging Face Spaces 上的示範,提供類似 ChatGPT 的體驗,於單插槽 Intel Sapphire Rapids CPU(32 核心)且 batch size 為 1 的環境下執行。此配置證明高品質的聊天體驗可在 CPU 平台上實現,為組織提供更大的 IT 靈活性以及相較於僅依賴高階 GPU 或複雜 AI 加速器的更佳成本效能。

與 Hugging Face 生態系統的整合

為了簡化這些技術的採用,Hugging Face 正透過 Intel Neural Compressor 將這些量化方法整合至 Optimum Intel 函式庫。此整合旨在讓開發者以最少的程式碼即可複製這些效能提升。

Sources