技術指南

模型量化

模型量化透過將數字儲存在更少的位元中來縮小神經網絡,因此相同的模型可以在更小的硬體上運行得更快。

概述

模型量化透過將數字儲存在更少的位元中來縮小神經網絡,因此相同的模型可以在更小的硬體上運行得更快。這是大型車型可以安裝在單一 GPU、筆記型電腦甚至手機上的主要原因。

模型量化是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。

深入探討

經過訓練的模型通常將每個權重儲存為 32 位元或 16 位元浮點數。量化取代了 8 位元整數 (INT8) 或 4 位元值 (INT4) 等低精度格式,從而將記憶體節省了大約 4 到 8 倍。一個 700 億參數的模型在 16 位元下需要約 140GB,在 4 位元下則需要約 35GB,適合一個消費級 GPU。問題在於準確性:將大範圍的值壓縮到 256 或 16 個桶中會丟失細節。 GPTQ、AWQ 和 QLoRA 中使用的 NF4 格式等現代方法選擇智慧縮放因子並保護最敏感的權重,因此品質損失通常很小。量化是為什麼像 llama.cpp 和 Ollama 這樣的工具可以在沒有資料中心的情況下在本地運行有能力的模型。

技術洞察

量化使用標度和零點將實數值對應到小整數網格:stored_int = round(value / scale) + Zero_point。選擇好尺度就是整個遊戲的關鍵。每個通道或每組縮放為權重矩陣的切片保留單獨的縮放,從而在重要的地方保持精度。訓練後量化只是轉換完成的模型,而量化感知訓練會在訓練期間模擬舍入,以便網路學會容忍它,通常會提供更好的低位精度。

掌握模型量化

模型量化透過將數字儲存在更少的位元中來縮小神經網絡,因此相同的模型可以在更小的硬體上運行得更快。這是大型車型可以安裝在單一 GPU、筆記型電腦甚至手機上的主要原因。模型量化是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了建立深入的理解,請將模型量化視為一種操作模型,而不是單一功能:定義期望的結果,澄清假設,並將系統可以可靠地完成的任務與仍需要專家判斷的任務分開。

在實踐中,使用模型量化的強大團隊可以根據可靠性和成本來優化架構、數據和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

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

多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

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

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

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

更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

模型量化的未來

預計越來越低的精度將成為常態。研究正在推動可靠的 4 位、2 位甚至二進位權重,以及保持敏感層更高的混合精度方案。硬體如下:GPU 和手機晶片現在包含原生 INT8、INT4 和 FP8 數學單元。 FP8 和 MXFP4 等格式旨在將浮點數的範圍與整數的大小結合。與 QLoRA 等技術相結合,量化將持續降低前沿模型在日常設備上運行和微調的成本。

現實世界的實施

使用 llama.cpp 或使用 4 位元 GGUF 檔案的 Ollama 在筆記型電腦上運行 7B 或 13B Llama 模型。

QLoRA 透過將基本權重凍結在 4 位元 NF4 中來微調單一 GPU 上的大型模型。

在具有設備運行時的手機上部署 INT8 模型,以便助手可以離線且私密地工作。

為更便宜的 API 端點提供服務,其中 INT8/FP8 量化使吞吐量大致翻倍並降低記憶體成本。

實施模式

模型量化實踐

使用 llama.cpp 或使用 4 位元 GGUF 檔案的 Ollama 在筆記型電腦上運行 7B 或 13B Llama 模型。

使用 llama.cpp 或使用 4 位 GGUF 檔案的 Ollama 在筆記型電腦上運行 7B 或 13B Llama 模型 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

模型量化實踐

QLoRA 透過將基本權重凍結在 4 位元 NF4 中來微調單一 GPU 上的大型模型。

QLoRA 透過將基本權重凍結在 4 位元 NF4 中來微調單一 GPU 上的大型模型。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

模型量化實踐

在具有設備運行時的手機上部署 INT8 模型,以便助手可以離線且私密地工作。

在具有裝置上運行時的手機上部署 INT8 模型,以便助手可以離線且私密地工作。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力提升和錯誤成本時,通常會獲得更好的結果。

模型量化實踐

為更便宜的 API 端點提供服務,其中 INT8/FP8 量化使吞吐量大致翻倍並降低記憶體成本。

為更便宜的 API 端點提供服務,其中 INT8/FP8 量化大致使吞吐量翻倍並降低記憶體成本。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力增益和錯誤成本時,通常會獲得更好的結果。

風險與防護欄

!

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

!

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

!

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

實施路線圖

1

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

在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

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

在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

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

儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

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

在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索