Resonance Lab · W02 Lab Note

量化甜蜜點:Q8_0 多吃 52% 磁碟,分數卻反而更低

「量化位元越高,模型應該越準」是最直覺的假設。Route B 的實測直接打臉了這個假設。

這篇解什麼問題

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_Munsloth/gemma-3-4b-it-GGUF,約 2.5GB)——預設量化
  • QAT-Q4_0vinimuchulski/gemma-3-4b-it-qat-q4_0-gguf,約 2.4GB)——Google 官方訓練時量化(Quantization-Aware Training)
  • Q8_0unsloth/gemma-3-4b-it-GGUF,約 4.5GB)——8-bit,比 Q4_K_M 多吃 80% 磁碟

結果與數據

quantsizetotal延遲
Q4_K_M~2.5GB4.6014.4s
QAT-Q4_0~2.4GB4.6013.7s
Q8_0~4.5GB4.4016.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 上是多花磁碟又拿不到更好結果的虧本生意——量化等級的選擇不能只看位元數,要實測。