quantizationGGUFmobile AIQ4performancellama.cpp
Q4、Q5 和 Q8 比較:GGUF 行動裝置量化
Q4、Q5 和 Q8 的 GGUF 量化如何影響 iPhone 和 Android 上的模型大小、速度、品質和記憶體用量。全部基於真實裝置實測。
Edward Xi Yang
量化是讓 LLM 能在手機上運行的關鍵技術。一個 3B 參數模型在全精度(FP16)下佔 6GB。量化到 Q4 後只佔 1.7GB。模型大致相同,只是以更高效率儲存。
但「大致相同」隱藏了重要的細微差異。不同的量化級別在大小和速度與品質之間進行權衡。為你的行動應用程式選擇正確的級別,需要在真實硬體上理解這些權衡。
量化做了什麼
LLM 權重儲存為數字。全精度每個權重使用 16 位元(FP16)。量化減少每個權重的位元數,縮小模型:
| 格式 | 每權重位元 | 3B 模型大小 | 相對品質 |
|---|---|---|---|
| FP16 | 16 | ~6GB | 100%(基準) |
| Q8_0 | 8 | ~3.2GB | ~99.5% |
| Q6_K | 6 | ~2.5GB | ~99% |
| Q5_K_M | 5 | ~2.1GB | ~98.5% |
| Q4_K_M | 4 | ~1.7GB | ~97.5% |
| Q4_0 | 4 | ~1.6GB | ~96% |
| Q3_K_M | 3 | ~1.4GB | ~93% |
| Q2_K | 2 | ~1.1GB | ~85% |
「_K_M」後綴表示 k-quant 中等品質,這是 llama.cpp 中的一種量化方法,根據不同層的重要性對其應用不同的位寬。這比均勻量化更好地保留了品質。