概述
GPTQ 和 AWQ 是將已訓練的語言模型縮小到 4 位元精確度的兩種領先方法,以便它們在更便宜、更小的硬體上運行。這就是為什麼您可以在單一消費級 GPU 而不是資料中心機架上運行功能強大的模型。
GPTQ 和 AWQ 訓練後量化是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。
深入探討
訓練後量化 (PTQ) 無需重新訓練即可壓縮完成的模型,將高精度權重映射至 4 位,大約佔用四分之一的記憶體。挑戰在於在不破壞準確性的情況下做到這一點。 GPTQ(OBQ 的改進)逐層量化權重,使用來自小型校準資料集的二階資訊來調整剩餘權重並補償每個舍入誤差。 AWQ(激活感知權重量化)採取不同的角度:它觀察到一小部分權重通道異常重要,透過查看激活幅度來識別,並透過縮放而不是積極量化它們來保護這些顯著通道。兩者都允許像 Llama 這樣的模型以 4 位元運行,而 vLLM、llama.cpp 和 AutoGPTQ 等工具使它們成為本地且經濟高效的推理的主流。
技術洞察
GPTQ 使用 Hessian 矩陣(損失曲率)的近似值來決定如何捨入一個權重來推動其他權重,從而最大限度地減少引入的誤差。 AWQ 完全跳過 Hessians:它計算每個通道的縮放因子,以便重要的權重通道保持其有效精度,然後統一量化。兩者都使激活保持更高的精度,並且只壓縮權重,因為權重主導內存,而激活量化往往會更大程度地損害準確性。
掌握 GPTQ 和 AWQ 訓練後量化
GPTQ 和 AWQ 是將已訓練的語言模型縮小到 4 位元精確度的兩種領先方法,以便它們在更便宜、更小的硬體上運行。這就是為什麼您可以在單一消費級 GPU 而不是資料中心機架上運行功能強大的模型。 GPTQ 和 AWQ 訓練後量化是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了建立深入的理解,請將 GPTQ 和 AWQ 訓練後量化視為一種操作模型,而不是單一功能:定義所需的結果,澄清假設,並將系統可以可靠地完成的任務與仍需要專家判斷的任務分開。
在實踐中,使用 GPTQ 和 AWQ 訓練後量化的強大團隊可以根據可靠性和成本來優化架構、資料和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。
多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。
戰略影響
多年來,架構決策決定著效能和營運成本。
多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。
技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
更好的工程選擇可以減少生產中的可靠性事故。
更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
現實世界的實施
使用 4 位元 GPTQ 權重在單一 24 GB 消費級 GPU 上運行 700 億參數的 Llama 模型。
AWQ 量化模型在 vLLM 中以高吞吐量提供服務,以實現經濟高效的生產 API。
llama.cpp 使用量化的 GGUF 權重在筆記型電腦 CPU 上本地運行語言模型。
Hugging Face 的 AutoGPTQ 和 AutoAWQ 函式庫讓開發人員可以用幾行程式碼量化下載的模型。
實施模式
GPTQ 和 AWQ 訓練後量化實踐
使用 4 位元 GPTQ 權重在單一 24 GB 消費級 GPU 上運行 700 億參數的 Llama 模型。
使用 4 位元 GPTQ 權重在單一 24 GB 消費級 GPU 上運行 700 億參數的 Llama 模型 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。
GPTQ 和 AWQ 訓練後量化實踐
AWQ 量化模型在 vLLM 中以高吞吐量提供服務,以實現經濟高效的生產 API。
AWQ 量化模型在 vLLM 中以高吞吐量提供服務,以實現經濟高效的生產 API。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。
GPTQ 和 AWQ 訓練後量化實踐
llama.cpp 使用量化的 GGUF 權重在筆記型電腦 CPU 上本地運行語言模型。
llama.cpp 使用量化的 GGUF 權重在筆記型電腦 CPU 上本地運行語言模型 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。
GPTQ 和 AWQ 訓練後量化實踐
Hugging Face 的 AutoGPTQ 和 AutoAWQ 函式庫讓開發人員可以用幾行程式碼量化下載的模型。
Hugging Face 的 AutoGPTQ 和 AutoAWQ 函式庫讓開發人員可以用幾行程式碼量化下載的模型。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會得到更好的結果。
風險與防護欄
優化一項基準測試可以隱藏更廣泛的系統弱點。
基礎設施和維護成本常常被低估。
隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。
實施路線圖
在實施之前定義延遲、品質和成本目標。
在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
在實際負載和資料條件下進行基準測試。
在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
儀器監控錯誤、漂移和使用者影響。
儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
在擴展之前準備回滾和事件回應路徑。
在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。