技術指南

SmoothQuant 和激活量化

SmoothQuant 是一種技術,可將大型語言模型的權重和活化壓縮為 8 位元整數,而無需重新訓練。

閱讀時間約2分鐘最後更新

概述

It matters because activations in big models contain extreme outliers that normally wreck low-precision math, and SmoothQuant tames them.

深入探討

當您將模型從 16 位元浮點數縮小到 8 位元整數時,權重很容易壓縮,但啟動卻很麻煩:某些通道攜帶的值比其他通道大 10 到 100 倍,並且強制它們進入粗略的整數網格會破壞準確性。 SmoothQuant,由Xiao等人介紹。在 2022 年,觀察到權重是平滑且易於量化的,而活化是尖峰的。因此,它在數學上轉移了難度:它將激活通道除以每個通道的比例,並將相應的權重乘以相同的比例。這兩個操作取消,使模型輸出保持不變,但現在兩個張量都處於友好的範圍內。結果是 W8A8(8 位元權重和激活)推理,精度損失接近零,加速速度提高了大約 2 倍,並節省了記憶體。

技術洞察

核心技巧是每通道平滑因子 s,計算公式為 s = max(|X|)^alpha / max(|W|)^(1-alpha)。啟動以 1/s 縮放,權重按 s 縮放,因此矩陣乘積 XW 被保留。由於縮放被離線吸收到前一層的權重或融合操作中,因此它增加了零運行時間成本。 alpha 超參數(通常為 0.5)控制有多少異常值負擔從活化轉移到權重。

戰略影響

成本與預算

多年來,架構決策決定著效能和營運成本。

更明確的決策

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

品質管控

更好的工程選擇可以減少生產中的可靠性事故。

SmoothQuant 與活化量化的未來

SmoothQuant 確定激活異常值是可遷移的而不是不可避免的,想法現在支援生產 INT8 和 FP8 服務。期望平滑與更細粒度的方案相結合,例如每組量化、學習縮放和 4 位激活研究(例如異常值感知方法)。隨著 FP8 硬體(Hopper、Blackwell)的成熟,平滑式平衡將繼續融入編譯器和推理引擎管道中,因此量化幾乎保持免費。

現實世界的實施

透過將記憶體和矩陣乘法成本減半,在 W8A8 上使用更少的 GPU 提供 70B 參數 LLM

在 NVIDIA Hopper/Blackwell 張量核心上啟用 INT8 推理,原生加速 8 位元整數數學

在成本受限的雲端點上部署聊天模型,其中吞吐量加倍可直接削減每個代幣的費用

壓縮 Transformer 編碼器以實現設備上語音或翻譯,其中 8 位元核心運行得更快、更涼爽

風險與防護欄

優化一項基準測試可以隱藏更廣泛的系統弱點。

基礎設施和維護成本常常被低估。

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

2

在實際負載和資料條件下進行基準測試。

3

儀器監控錯誤、漂移和使用者影響。

4

在擴展之前準備回滾和事件回應路徑。

不斷探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the SmoothQuant and Activation Quantization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

開始測驗

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一步指南

啟動指導和表示工程

常見問題

What is SmoothQuant and Activation Quantization?

SmoothQuant 是一種技術,可將大型語言模型的權重和活化壓縮為 8 位元整數,而無需重新訓練。這很重要,因為大模型中的活化包含通常會破壞低精度數學的極端異常值,而 SmoothQuant 可以馴服它們。

SmoothQuant在低精度推理中具體解決什麼問題?

SmoothQuant 的目標是某些活化通道中出現的大異常值,否則當啟動量化為 8 位元時,這些值會破壞準確性。

SmoothQuant 如何讓活化更容易量化?

它將激活通道除以每個通道的尺度,並將匹配權重乘以該尺度,因此乘積不變,但兩個張量都變得更容易量化。

W8A8 符號是什麼意思?

W8A8 表示權重 (W) 和激活 (A) 的 8 位元量化,SmoothQuant 能夠以最小的精度損失實現該機制。

為什麼 SmoothQuant 的縮放基本上不會增加運行時開銷?

平滑尺度提前折疊到前一層的權重或融合運算中,因此推理時不會發生額外的計算。

alpha 超參數在 SmoothQuant 中扮演什麼角色?

Alpha(通常為 0.5)平衡平滑因子,決定將多少量化難度從活化轉移到權重。