Back to blog
    行動裝置量化指南:Q4、Q5 和 Q8 在真實裝置上的表現
    quantizationGGUFmobile AIQ4performancellama.cppsegment:mobile-builder

    行動裝置量化指南:Q4、Q5 和 Q8 在真實裝置上的表現

    行動部署 GGUF 量化級別的實用指南。Q4、Q5 和 Q8 如何影響 iPhone 和 Android 裝置上的模型大小、速度、品質和記憶體使用量。

    EErtas Team·

    量化是讓 LLM 能在手機上運行的關鍵技術。一個 3B 參數模型在全精度(FP16)下佔 6GB。量化到 Q4 後只佔 1.7GB。模型大致相同,只是以更高效率儲存。

    但「大致相同」隱藏了重要的細微差異。不同的量化級別在大小和速度與品質之間進行權衡。為你的行動應用程式選擇正確的級別,需要在真實硬體上理解這些權衡。

    量化做了什麼

    LLM 權重儲存為數字。全精度每個權重使用 16 位元(FP16)。量化減少每個權重的位元數,縮小模型:

    格式每權重位元3B 模型大小相對品質
    FP1616~6GB100%(基準)
    Q8_08~3.2GB~99.5%
    Q6_K6~2.5GB~99%
    Q5_K_M5~2.1GB~98.5%
    Q4_K_M4~1.7GB~97.5%
    Q4_04~1.6GB~96%
    Q3_K_M3~1.4GB~93%
    Q2_K2~1.1GB~85%

    「_K_M」後綴表示 k-quant 中等品質,這是 llama.cpp 中的一種量化方法,根據不同層的重要性對其應用不同的位寬。這比均勻量化更好地保留了品質。

    甜蜜點:Q4_K_M

    對於行動部署,Q4_K_M 是標準選擇。原因如下:

    大小: 大約是 FP16 的 4 分之 1。3B 模型只佔 1.7GB,完全在行動應用程式的儲存預算內。

    品質: 在 FP16 品質的約 97.5%,退化在大多數任務上幾乎不可測量。對於模型已微調的領域特定任務,微調資料會補償任何量化損失。

    速度: 更小的權重意味著推理時使用更少的記憶體頻寬。Q4 模型通常比更高精度的版本運行更快,因為記憶體瓶頸被降低了。

    相容性: 適合 4GB+ RAM 裝置(1B)或 6GB+ RAM 裝置(3B)。涵蓋了絕大多數在用的智慧型手機。

    量化級別在真實裝置上的比較

    3B 模型,iPhone 15 Pro(A17 Pro,8GB RAM)

    量化大小Token/秒記憶體使用量品質(困惑度)
    Q8_03.2GB14-184.0GB8.12
    Q6_K2.5GB16-203.2GB8.18
    Q5_K_M2.1GB17-222.7GB8.25
    Q4_K_M1.7GB18-252.2GB8.38
    Q4_01.6GB19-262.1GB8.52
    Q3_K_M1.4GB20-271.9GB9.05
    Q2_K1.1GB22-291.5GB11.4

    困惑度越低越好。Q4_K_M 到 Q8_0 之間的品質範圍很窄(8.12-8.38)。低於 Q4,品質明顯下降。低於 Q3,則顯著退化。

    3B 模型,Galaxy S24(Snapdragon 8 Gen 3,8GB RAM)

    量化大小Token/秒(Vulkan)記憶體使用量
    Q8_03.2GB16-204.0GB
    Q5_K_M2.1GB20-252.7GB
    Q4_K_M1.7GB22-282.2GB
    Q3_K_M1.4GB24-301.9GB

    1B 模型,iPhone 14(A15,6GB RAM)

    量化大小Token/秒記憶體使用量
    Q8_01.1GB20-261.4GB
    Q5_K_M750MB23-301.0GB
    Q4_K_M600MB25-32800MB
    Q3_K_M500MB27-34700MB

    何時使用哪個級別

    Q4_K_M(預設選擇)

    除非有特殊理由,否則使用這個。大小、速度和品質的最佳整體平衡。行動部署的標準。

    • 適合:所有發布 GGUF 模型的行動應用程式
    • 裝置需求:4GB+(1B)或 6GB+(3B)

    Q5_K_M(品質優先)

    當品質至關重要且你的目標裝置有空間容納較大檔案時使用。相比 Q4_K_M 的品質提升很小但可測量,尤其在需要精確用詞的任務上。

    • 適合:醫療、法律或金融應用程式,字詞級準確性很重要
    • 裝置需求:6GB+(1B)或 8GB+(3B)
    • 大小增加:比 Q4_K_M 大約 25%

    Q8_0(最高品質)

    僅在有充足 RAM 的旗艦裝置上使用。品質幾乎與 FP16 相同。速度較慢,記憶體使用量較高。

    • 適合:測試和效能基準,不適合典型的生產部署
    • 裝置需求:8GB+(1B)或 12GB+(3B)
    • 大小增加:比 Q4_K_M 大約 90%

    Q3_K_M(大小優先)

    當你需要在受限裝置上塞入模型時使用。品質明顯下降,但對於簡單任務(分類、是/否、短答案)可能可以接受。

    • 適合:入門裝置,或在通常只能放 1B Q4 的空間中放入 3B 模型
    • 品質風險:在細緻任務上明顯退化
    • 大小節省:比 Q4_K_M 小約 18%

    Q2_K(不建議)

    嚴重的品質退化。模型頻繁生成不連貫或不正確的輸出。不適合生產環境。

    微調與量化

    微調在全精度(FP16 或 BF16)下進行。量化作為匯出步驟在訓練後應用。工作流程:

    1. 使用 LoRA 在你的訓練資料上微調模型(全精度)
    2. 將 LoRA 適配器合併到基礎模型中
    3. 以你的目標級別量化為 GGUF(大多數情況下為 Q4_K_M)
    4. 在你的評估集上測試量化後的模型

    像 Ertas 這樣的平台端到端處理這個流程。你上傳訓練資料、選擇基礎模型、訓練,然後直接以你選擇的量化級別匯出到 GGUF。

    量化會更傷害微調模型嗎?

    略有影響。微調模型的權重中包含更多資訊(領域特定知識)。積極量化(Q3 及以下)可能會失去一些這種特定知識。

    在實踐中,Q4_K_M 很好地保留了微調的準確性。Q4_K_M 和 FP16 在領域特定基準上的品質差異通常不到 2 個百分點。Q3_K_M 可能顯示 3-5 個百分點的退化。

    實用建議

    1. 預設使用 Q4_K_M。 它成為標準是有原因的。先用這個測試。
    2. 先微調再最佳化量化。 微調的 Q4 模型在領域任務上優於未調校的 Q8 模型。
    3. 在你的任務上測試,不要只看通用基準。 困惑度只是代理指標。重要的是你的模型在你選擇的量化級別下,在你特定評估集上的準確率。
    4. 每種模型大小只提供一個量化級別。 不要讓使用者在 Q4 和 Q5 之間選擇。發布 Q4_K_M 以獲得廣泛相容性。如果你同時支援 1B 和 3B,那就是足夠的選項了。
    5. 衡量真實世界的效能。 在量化後的模型上運行你的評估套件。如果準確率在 FP16 的 2% 以內,就可以發布。

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Keep reading