文章目录
(一)新模型?
前两天谷歌才发布了Gemma4-12B全模特模型,支持输入文本,图片,音频。
突然Google官方又有动作。
首次发布了 Gemma4 系列的 QAT(Quantization-Aware Training)模型。
(二)QAT
平时用的 GGUF,是从BF16模型,经过llama.cpp量化,变成了Q4_K_M / IQ4_XS / IQ3_M......
属于PTQ(Post Training Quantization)就是训练完再量化。
训练的时候模型根本不知道未来会被量化,而当中的数据再量化时直接砍掉精度,所以会损失能力。
而QAT是训练阶段就告诉模型,未来你会被压成Q4,训练时不断模拟从BF16量化和还原。
模型会主动调整参数,使自己对量化误差更不敏感。
可以理解成:
- 普通模型:考完试以后突然近视
- QAT模型:训练时就戴着近视眼镜
所以最终压成 Q4 后能力损失明显更小(难道它原始能力不会更低吗?)。
(三)谷歌原版
Google 于 2026-06-05 发布了Gemma 4 QAT 系列,包括:
- E2B
- E4B
- 12B
- 26B-A4B
- 31B
也就是说全部模型都有 QAT 的版本。
Google 官方目标是 Q4 ≈ 原始模型的能力,而不是大幅度降低。
(四)Unsloth版本
这里是最有意思的部分,Unsloth发现 Google 发布的是QAT Q4_0 检查点。
但是 QAT Q4_0 通过llama.cpp转换成GGUF的时候,过程中又会损失一次精度。
因为 Google 的量化格点(lattice)和llama.cpp 的量化格点不完全一致。
于是大家转成GGUF后,精度又掉回去了。
所以Unsloth做的工作就是把Google QAT拿来分析误差,重新映射到GGUF。
尽可能恢复 QAT 的优势。他们在说明中称:
对于大型模型:
- 26B-A4B:70.2% → 85.6%
- 31B:87.9% → 96.7%
但是随后谷歌自己又放出了GGUF。
谷歌的文件比Unsloth稍大,以12B为例子,谷歌文件大260MB左右。
似乎能看到不同就是谷歌把 Embedding / LM Head 保留到 Q6_K,而Unsloth版本是Q4_0。
那么我还是赌谷歌吧......等reddit上有比较确信的评价后再说。