File size: 2,213 Bytes
28ca194
 
 
 
 
 
4c32036
d4cd508
 
 
 
32e0e37
d4cd508
 
 
9613d4d
 
 
 
 
 
 
d4cd508
28c1751
d4cd508
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
---
license: gemma
metrics:
- perplexity
base_model:
- bartowski/google_gemma-3-12b-it-GGUF
- google/gemma-3-12b-it-qat-q4_0-gguf
---

This is a "self" merge of https://huggingface.co/google/gemma-3-12b-it-qat-q4_0-gguf and https://huggingface.co/bartowski/google_gemma-3-12b-it-GGUF.

The official QAT weights released by google use fp16 (instead of Q6_K) for the embeddings table, which makes this model take a significant extra amount of memory (and storage) compared to what Q4_0 quants are supposed to take. Instead of quantizing the table myself, I extracted it from Bartowski's quantized models because I thought using imatrix quants would give better quality (it doesn't, imatrix isn't used for token embeddings).

Here are some perplexity measurements:

| Model | File size ↓ | PPL (wiki.text.raw) ↓ | Hellaswag, 4k tasks ↑ |
| --- | --- | --- | --- |
| [iQ3_xs (bartowski)](https://huggingface.co/bartowski/google_gemma-3-12b-it-GGUF/blob/main/google_gemma-3-12b-it-IQ3_XS.gguf) | 5.21 GB |10.0755 +/- 0.08024 | --- |
| [This model](https://huggingface.co/stduhpf/google-gemma-3-12b-it-qat-q4_0-gguf-small/blob/main/gemma-3-12b-it-q4_0_s.gguf) | 6.89 GB | 9.2637 +/- 0.07216 | 72.925% [71.5366M, 74.2794%] |
| [Q4_0 (bartowski)](https://huggingface.co/bartowski/google_gemma-3-12b-it-GGUF/blob/main/google_gemma-3-12b-it-Q4_0.gguf) | 6.91 GB | 9.5589 +/- 0.07527 |73.125% [71.7295%, 74.4761%] |
| [QAT Q4_0 (google)](https://huggingface.co/google/gemma-3-12b-it-qat-q4_0-gguf/blob/main/gemma-3-12b-it-q4_0.gguf) | 8.07 GB | 9.2565 +/- 0.07212 | 72.850% [71.4505%, 74.2056%] |
| [Q5_K_S (bartowski)](https://huggingface.co/bartowski/google_gemma-3-12b-it-GGUF/blob/main/google_gemma-3-12b-it-Q5_K_S.gguf) | 8.23 GB | 9.8540 +/- 0.08016 | --- |

Note that this model ends up smaller than the Q4_0 from Bartowski. This is because llama.cpp sets some tensors to Q4_1 when quantizing models to Q4_0 with imatrix, but this is a static quant.
I don't understand why Q5_K_S is performing worse on that test than the default Q4_0, I wasn't expecting this outcome.
This merge seems to be a good balance between model size and perplexity. I believe this is representative to the overall quality of the model.