這篇解什麼問題
Route A 的贏家 gemma3-4b 挑出來之後,下一個問題是:同一個模型換不同量化等級,品質和延遲會怎麼變?多花磁碟空間買更高位元的量化,是不是穩賺不賠?
量化文獻的兩大主流方向——GPTQ(Frantar et al., arXiv:2210.17323, 2022-10)和 AWQ(Lin et al., arXiv:2306.00978, 2023-06)——都在談如何在低位元下盡量不損失精度,但沒有一篇保證「位元越高分數越高」。llama.cpp 的 K-quants 方案(社群維護,只有 GitHub README,沒有正式論文)用 importance-weighted bit allocation,對 attention/output projection 保留較高精度,這暗示了「哪裡量化」比「量化到幾位元」更關鍵。
我怎麼做
拿 Route A 贏家 gemma3-4b,跑三個版本的同一組 5 題基準(同 prompt、同 temperature=0.0):
- Q4_K_M(
unsloth/gemma-3-4b-it-GGUF,約 2.5GB)——預設量化 - QAT-Q4_0(
vinimuchulski/gemma-3-4b-it-qat-q4_0-gguf,約 2.4GB)——Google 官方訓練時量化(Quantization-Aware Training) - Q8_0(
unsloth/gemma-3-4b-it-GGUF,約 4.5GB)——8-bit,比 Q4_K_M 多吃 80% 磁碟
結果與數據
| quant | size | total | 延遲 |
|---|---|---|---|
| Q4_K_M | ~2.5GB | 4.60 | 14.4s |
| QAT-Q4_0 | ~2.4GB | 4.60 | 13.7s |
| Q8_0 | ~4.5GB | 4.40 | 16.3s |
Q4_K_M 和 QAT 同分(4.60),T5 座位推理都拿 0.6;Q8_0 分數掉到 4.40,差異全部來自 T5(0.6 → 0.4)——多花將近一倍磁碟空間,換來的是延遲更慢、分數更低。QAT 是三者中最快的(13.7s),也是唯一比 Q4_K_M 更好的選項:同分但更快、體積還小一點。
一句話結論
Q4_K_M(或有官方 QAT 版本時優先選 QAT)就是甜蜜點;Q8_0 這種「位元數更高看起來更安全」的選擇,在 gemma3-4b 上是多花磁碟又拿不到更好結果的虧本生意——量化等級的選擇不能只看位元數,要實測。