cafkafk commited on
Commit
5350027
·
verified ·
1 Parent(s): 3aaecbe

Add files using upload-large-folder tool

Browse files
.gitattributes CHANGED
@@ -33,3 +33,15 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ gemma-4-31B-it-assistant-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
37
+ gemma-4-31B-it-assistant-bf16.gguf filter=lfs diff=lfs merge=lfs -text
38
+ gemma-4-31B-it-assistant-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
39
+ gemma-4-31B-it-assistant-Q3_K_L.gguf filter=lfs diff=lfs merge=lfs -text
40
+ gemma-4-31B-it-assistant-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
41
+ gemma-4-31B-it-assistant-Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
42
+ gemma-4-31B-it-assistant-f16.gguf filter=lfs diff=lfs merge=lfs -text
43
+ gemma-4-31B-it-assistant-MXFP4.gguf filter=lfs diff=lfs merge=lfs -text
44
+ gemma-4-31B-it-assistant-IQ4_NL.gguf filter=lfs diff=lfs merge=lfs -text
45
+ gemma-4-31B-it-assistant-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
46
+ gemma-4-31B-it-assistant-Q4_K_S.gguf filter=lfs diff=lfs merge=lfs -text
47
+ gemma-4-31B-it-assistant-Q5_K_S.gguf filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,345 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ license_link: https://ai.google.dev/gemma/terms
4
+ base_model: google/gemma-4-31B-it-assistant
5
+ language:
6
+ - en
7
+ tags:
8
+ - gemma4
9
+ - gemma4-mtp
10
+ - mtp
11
+ - speculative-decoding
12
+ - drafter
13
+ - assistant
14
+ - gguf
15
+ - ik_llama.cpp
16
+ - calibration:noimatrix
17
+ quantized_by: cafkafk
18
+ ---
19
+
20
+ # gemma-4-31B-it-assistant — GGUF — `noimatrix` (ik_llama.cpp only)
21
+
22
+ GGUF quantizations of [google/gemma-4-31B-it-assistant](https://huggingface.co/google/gemma-4-31B-it-assistant),
23
+ the Multi-Token-Prediction (MTP) drafter for `gemma-4-31B-it`. Intended
24
+ for use as the **draft model** in speculative decoding paired with a
25
+ quantized `gemma-4-31B-it` verifier. Realised speedup depends on
26
+ hardware and verifier choice — see §Performance for measured
27
+ numbers and the PR's reference benchmarks.
28
+
29
+ > [!WARNING]
30
+ > **ik_llama.cpp only — will NOT load in mainline llama.cpp**
31
+ >
32
+ > These quants use the `gemma4_mtp` architecture, which is currently
33
+ > only supported in [`ikawrakow/ik_llama.cpp`](https://github.com/ikawrakow/ik_llama.cpp)
34
+ > on (or after) the [`feat/gemma-4-mtp` branch / PR #1744](https://github.com/ikawrakow/ik_llama.cpp/pull/1744).
35
+ > Mainline `ggml-org/llama.cpp` does **not** know about
36
+ > `gemma4_assistant` / `gemma4_mtp` and will refuse to load these
37
+ > files. Downstream tools that wrap mainline (ollama, LM Studio,
38
+ > jan.ai, llama-cpp-python, …) will not work either until they
39
+ > follow ik_llama.cpp.
40
+ >
41
+ > Tested with ik_llama.cpp commit `a703033607ed3edbeab0205d8c9ad75cc1b5759f`.
42
+
43
+ > [!NOTE]
44
+ > **Benchmarks in progress**
45
+ >
46
+ > Real measured throughput + acceptance-rate numbers for these
47
+ > drafters are being collected on a consumer laptop GPU (NVIDIA
48
+ > 4060 Laptop, 8 GiB VRAM) — full `--draft-max` × `--draft-p-min`
49
+ > matrix across multiple prompts, driven against `llama-server`
50
+ > with acceptance read from its per-request `statistics mtp:`
51
+ > stderr lines.
52
+ >
53
+ > Results land in the smaller drafters' model cards first
54
+ > (E2B → E4B → 26B-A4B → 31B), since smaller models cycle through
55
+ > the bench faster. **Check the
56
+ > [E2B card](https://huggingface.co/cafkafk/gemma-4-E2B-it-assistant-GGUF-noimatrix)
57
+ > first if you're shopping for performance numbers** — even if you
58
+ > plan to deploy a different size, the relative draft-max curves
59
+ > and acceptance trends carry across sizes within the family.
60
+ >
61
+ > Until then, §Performance below cites the upstream PR's reference
62
+ > benchmarks (data-center GPU + 31B verifier) — treat them as a
63
+ > ceiling, not a target.
64
+
65
+ > [!IMPORTANT]
66
+ > **Honest limitations of this build**
67
+ >
68
+ > Things that should be on the model card and aren't faked:
69
+ >
70
+ > - **No imatrix calibration.** PR #1744 builds the gemma4_mtp
71
+ > drafter graph with a hardcoded `GGML_ASSERT(has_target_ctx)`,
72
+ > meaning standalone-drafter `llama-imatrix` runs abort in
73
+ > `llama_decode` before producing anything. Same as every other
74
+ > community-published Gemma 4 drafter quant today
75
+ > (Radamanthys11's, etc.), this build quantizes from f16
76
+ > directly. At ≥4 bits this is fine; the precision benefit of
77
+ > imatrix-guided quantization at Q5+ is single-digit %. At Q3 and
78
+ > below it matters more — see the per-quant warnings in the table
79
+ > below.
80
+ > - **No acceptance-rate validation in this build.** The benchmark
81
+ > numbers in §"Performance" come from the upstream PR thread on a
82
+ > 31B verifier, not from runs against *this* drafter quant.
83
+ > Smoke-testing on the build host (CPU-only) was disabled because
84
+ > per-token MTP cost is many seconds on CPU, making proper
85
+ > benchmark-quality runs impractical mid-pipeline. Treat the
86
+ > numbers as expectations, not measurements of these specific
87
+ > files.
88
+ > - **No IK-only IQK quants** (IQ4_KS / IQ5_KS / IQ4_KSS). These
89
+ > are normally what "ik_llama.cpp build" gets you over mainline,
90
+ > but their precision-per-bit advantage comes from
91
+ > imatrix-guided scale selection — without imatrix they collapse
92
+ > to roughly K-quant quality at the same bit budget, so shipping
93
+ > them would just be misleading row-count padding. They'll come
94
+ > back in a sibling experiment when upstream supports
95
+ > standalone-drafter imatrix.
96
+ > - **MXFP4 has narrower runtime support.** Loadable in current
97
+ > ik_llama.cpp and mainline llama.cpp; older ggml-based runtimes
98
+ > may not support it yet. Use a K-quant if you need to load these
99
+ > in something older.
100
+
101
+ ## Pairing — required
102
+
103
+ A drafter is **not** a standalone language model. To use these quants
104
+ you also need a base-model GGUF, with matching vocab (262144 tokens,
105
+ which is the whole Gemma 4 family default). Recommended pairings:
106
+
107
+ | Drafter quant (this repo) | Verifier quant (suggested) | Source |
108
+ |---|---|---|
109
+ | Q8_0 | `gemma-4-31B-it-Q8_0.gguf` | [unsloth/gemma-4-31B-it-GGUF](https://huggingface.co/unsloth/gemma-4-31B-it-GGUF) |
110
+ | Q6_K | `gemma-4-31B-it-Q8_0.gguf` or `Q6_K` | [unsloth/gemma-4-31B-it-GGUF](https://huggingface.co/unsloth/gemma-4-31B-it-GGUF) |
111
+ | Q5_K_M / Q5_K_S | `gemma-4-31B-it-Q5_K_M.gguf` or higher | [unsloth/gemma-4-31B-it-GGUF](https://huggingface.co/unsloth/gemma-4-31B-it-GGUF) |
112
+ | Q4_K_M / Q4_K_S | `gemma-4-31B-it-Q4_K_M.gguf` or higher | [unsloth/gemma-4-31B-it-GGUF](https://huggingface.co/unsloth/gemma-4-31B-it-GGUF) |
113
+
114
+ Verifier: [unsloth/gemma-4-31B-it-GGUF](https://huggingface.co/unsloth/gemma-4-31B-it-GGUF) — ~30.7B (dense)
115
+ parameters. Heads-up on Google's naming: the "E" in E2B/E4B means
116
+ *effective* (active inference) parameters via Per-Layer Embeddings,
117
+ not total weight count — full weights still have to fit in VRAM.
118
+ The "A" in 26B A4B is the same trick for the MoE variant: 3.8B
119
+ active out of 25.2B total. The 31B is plain dense, no naming games.
120
+
121
+ Pairing precision: matching is generally optimal, but mismatched
122
+ pairings work too with some acceptance-rate penalty. Both `bf16`
123
+ and `f16` drafters in this repo are valid pairing targets for a
124
+ `bf16`/`f16`/`Q8_0` verifier — `bf16` is preferred when your runtime
125
+ supports it (matches the source-tensor format exactly; see the bf16
126
+ row in §Quants). Going *above* the verifier's precision on the
127
+ drafter has no benefit.
128
+
129
+ > **Empirical note (single-data-point, no warranty):** on a 4060
130
+ > Laptop GPU paired against unsloth's `Gemma-4-E4B-it-Q4_K_M.gguf`
131
+ > verifier, the **Q4_K_M drafter** outperformed the Q8_0 drafter by
132
+ > ~13% in throughput at `--draft-max 3`. The smaller drafter's
133
+ > faster draft step appears to outweigh the acceptance-rate cost
134
+ > from more aggressive quantization. Contradicts the common
135
+ > "always pick the highest-bit drafter" heuristic. Bench your own
136
+ > hardware before assuming.
137
+
138
+ ### Preserves structured-output tokens
139
+
140
+ The drafter's vocabulary is identical to the verifier's (262144
141
+ tokens, the Gemma 4 family default). Notably, that includes Gemma
142
+ 4's reserved tokens for **structured output formats** which the
143
+ drafter speculates correctly:
144
+
145
+ | Token pair | Used for |
146
+ |---|---|
147
+ | `<\|tool_call>` / `<tool_call\|>` | Tool / function calling — agent invokes a tool |
148
+ | `<\|tool_response>` / `<tool_response\|>` | Tool / function calling — tool result back to model |
149
+ | `<\|channel>` / `<channel\|>` | Multi-channel output (e.g. `<\|channel>thought` for chain-of-thought reasoning vs user-facing channel) |
150
+ | `<\|"\|>` | Structured-string delimiter |
151
+
152
+ If you're running tool-calling agents, multi-step reasoning, or
153
+ any structured-generation workflow on top of Gemma 4, this drafter
154
+ will speculate those tokens just like any other — meaning the MTP
155
+ speedup applies to the *whole* response, not just the natural-language
156
+ parts. Most published drafter quants don't talk about this because
157
+ it Just Works mechanically (vocabulary is a separate GGUF section
158
+ that's never quantized), but it's worth saying out loud: pairing
159
+ this drafter with a tool-calling-finetuned verifier preserves the
160
+ tool-call grammar end-to-end.
161
+
162
+ ## Quants
163
+
164
+ `470M` parameter MTP head, `5376`-dim
165
+ backbone projection (must match the verifier's `hidden_size`).
166
+
167
+ 12 files spanning bf16 → Q3, in approximate order of decreasing
168
+ precision.
169
+
170
+ | Quantization | Approx. bpw | Size | Notes |
171
+ |---|---:|---:|---|
172
+ | `gemma-4-31B-it-assistant-bf16.gguf` | 16 | 911 MB | Faithful to source. Gemma 4's safetensors are bfloat16 (8-bit exponent, 7-bit mantissa); this preserves them exactly. Prefer this over f16 if your runtime speaks bf16 (recent mainline llama.cpp, ik_llama.cpp, ollama). |
173
+ | `gemma-4-31B-it-assistant-f16.gguf` | 16 | 911 MB | Conventional reference. f16 has more mantissa precision than bf16 (10 vs 7 bits) but a smaller exponent range (5 vs 8 bits), so it can over/underflow on activations bf16 handles fine. For weights converted from a bf16 source, going to f16 effectively quantizes the dynamic range to fit f16's narrower exponent — small but real loss vs bf16. Use bf16 when your runtime supports it. |
174
+ | `gemma-4-31B-it-assistant-Q8_0.gguf` | 8.5 | 491 MB | Near-lossless quantization. Recommended pairing target — drafters' acceptance rate suffers most from quantization, so the highest-bit quant is the best choice if your verifier is also Q8_0+. |
175
+ | `gemma-4-31B-it-assistant-Q6_K.gguf` | 6.5 | 383 MB | K-quant, very high quality. Good balance for Q6_K verifiers. |
176
+ | `gemma-4-31B-it-assistant-Q5_K_M.gguf` | 5.7 | 360 MB | High-precision K-quant. |
177
+ | `gemma-4-31B-it-assistant-Q5_K_S.gguf` | 5.5 | 357 MB | Smaller Q5 variant. |
178
+ | `gemma-4-31B-it-assistant-Q4_K_M.gguf` | 4.85 | 338 MB | Community sweet-spot for verifier pairings. |
179
+ | `gemma-4-31B-it-assistant-Q4_K_S.gguf` | 4.6 | 333 MB | Smaller Q4 K-quant. |
180
+ | `gemma-4-31B-it-assistant-IQ4_NL.gguf` | 4.5 | 333 MB | Non-linear i-quant. Mainline-loadable (unlike the IK-only IQ4_KS). Doesn't require imatrix to be useful. |
181
+ | `gemma-4-31B-it-assistant-IQ4_XS.gguf` | 4.25 | 293 MB | Smaller non-K i-quant. Mainline-loadable. |
182
+ | `gemma-4-31B-it-assistant-MXFP4.gguf` | 4.25 | 327 MB | OCP microscaling 4-bit float format. Loadable in current ik_llama.cpp and mainline llama.cpp; older ggml-based runtimes may not support it yet. |
183
+ | `gemma-4-31B-it-assistant-Q3_K_L.gguf` | 3.4 | 327 MB | **Untested for drafter use; pair with caution.** Without imatrix, Q3 loses more accuracy than higher quants — and drafters are particularly acceptance-sensitive (a misprediction is wasted work). Included for users who absolutely need the smallest footprint, but be aware MTP speedup could degrade or invert vs. running the verifier alone. Benchmark before deploying. |
184
+
185
+ **Deliberately omitted quants** (and why, briefly):
186
+
187
+ - `F32` — zero-padded bf16, no information gain, double the disk.
188
+ - `Q4_0 / Q5_0 / Q4_1 / Q5_1` — legacy non-K quants. K-quants
189
+ strictly dominate them at the same bit budget.
190
+ - `Q3_K_M / Q3_K_S / Q2_K` — without imatrix, drafter acceptance
191
+ drops sharply below Q3_K_L. Re-add when imatrix is available.
192
+ - `IQ2_* / IQ1_*` — too noisy at any bit budget for drafter use,
193
+ even with imatrix. Verifier rejects most drafted tokens, paired
194
+ generation goes net negative vs. baseline.
195
+ - `IQ4_KS / IQ4_KSS / IQ5_KS / IQ3_KT / IQ4_KT` — IK-fork-only
196
+ quants whose precision advantage requires imatrix. Coming in a
197
+ future imatrix-capable sibling experiment.
198
+
199
+ ## Usage
200
+
201
+ `ik_llama.cpp`'s `llama-server` (or `llama-cli` for one-shot
202
+ generation):
203
+
204
+ ```sh
205
+ # Build / install ik_llama.cpp first; see
206
+ # https://github.com/ikawrakow/ik_llama.cpp
207
+
208
+ llama-server \
209
+ --model gemma-4-31B-it-Q8_0.gguf \
210
+ --model-draft gemma-4-31B-it-assistant-Q8_0.gguf \
211
+ --spec-type mtp \
212
+ --draft-max 3 \
213
+ --draft-p-min 0.0 \
214
+ -ngld 99 \
215
+ --n-gpu-layers 99 \
216
+ --ctx-size 32768 \
217
+ -ctk q8_0 -ctv q8_0 \
218
+ -b 1024 -ub 1024 \
219
+ --jinja \
220
+ --host 127.0.0.1 --port 18080
221
+ ```
222
+
223
+ Flag reference:
224
+
225
+ | Flag | What it does |
226
+ |---|---|
227
+ | `--spec-type mtp` | Enables MTP-style speculative decoding (this is the path PR #1744 plumbs). |
228
+ | `--model-draft` (`-md`) | The drafter GGUF. |
229
+ | `--draft-max N` | Maximum draft length per step. 3 is a good default; 1–4 are all reasonable; tune per workload with `--spec-autotune`. |
230
+ | `--draft-p-min` | Minimum draft-token probability to bother drafting. `0.0` accepts all drafts; raising it shortens speculative chains. |
231
+ | `-ngld 99` | Push the drafter onto GPU layers (no-op on CPU-only hosts). The drafter is small enough to fully fit on any consumer GPU. |
232
+ | `-ctk q8_0` / `-ctv q8_0` | Quantize KV cache. Reduces VRAM pressure for long contexts. |
233
+ | `--jinja` | Use the model's Jinja chat template (Gemma 4's tool-call format etc.). |
234
+
235
+ `--spec-autotune` (per the PR #1744 description) will probe several
236
+ `--draft-max` values during inference and pick the best-fitting one
237
+ for your workload — useful if you don't want to tune by hand.
238
+
239
+ ## Performance
240
+
241
+ <!-- TODO: bench numbers pending; see cafkafk/gemma-4-E2B-it-assistant-GGUF-noimatrix for reference shape -->
242
+
243
+ Reproducing the upstream benchmark on a 31B verifier + this drafter
244
+ at Q8_0 on Q8_0 (per the PR #1744 description):
245
+
246
+ | Run | Throughput | Acceptance |
247
+ |---|---:|---:|
248
+ | Baseline (no MTP) | ~21 t/s | — |
249
+ | MTP `--draft-max 1` | ~35 t/s | ~89% |
250
+ | MTP `--draft-max 2` | ~44 t/s | ~83% |
251
+ | MTP `--draft-max 3` | ~49 t/s | ~74% |
252
+ | MTP `--draft-max 4` | ~49 t/s | ~64% |
253
+
254
+ Smaller verifiers (E2B/E4B) get less absolute t/s benefit because the
255
+ verifier itself is faster, so there's less time-budget for the drafter
256
+ to fill in. The percentage uplift is similar.
257
+
258
+ ## Compatibility notes
259
+
260
+ A few cosmetic / non-blocking quirks you may see in normal use:
261
+
262
+ - **`transformers` warning during conversion** (only relevant if you
263
+ re-convert from source rather than using these prebuilts):
264
+
265
+ ```
266
+ You are using a model of type `gemma4_assistant` to instantiate a
267
+ model of type ``. This may be expected if you are loading a
268
+ checkpoint that shares a subset of the architecture …
269
+ ```
270
+
271
+ The IK fork's `convert_hf_to_gguf.py` patches in `gemma4_assistant`
272
+ arch support on the GGUF side but does **not** patch the Hugging
273
+ Face `transformers` library itself. So `transformers` (which the
274
+ converter uses to read the source safetensors) sees the unfamiliar
275
+ `model_type` and falls back to generic loading. Generic loading
276
+ reads the raw weights correctly, so the conversion still produces
277
+ a valid GGUF — the warning is cosmetic.
278
+
279
+ - **`Oops: tensor with strange name per_layer_*` at runtime**
280
+ (visible if you pair against certain non-google-flavored Gemma 4
281
+ base GGUFs, e.g. unsloth's). These warnings come from the
282
+ *verifier* loader, not the drafter — they're the verifier model's
283
+ per-layer projection tensors which ik_llama.cpp's gemma4 base
284
+ implementation may not fully recognize on third-party-quantized
285
+ GGUFs. Inference still works but may fall back to slower code
286
+ paths for those tensors. If absolute throughput seems too low
287
+ vs. the PR's reference benchmarks, try a different verifier
288
+ (google's own f16, bartowski's quants, or any other community
289
+ source) and compare.
290
+
291
+ - **`mtp_pre_proj.weight` / `mtp_post_proj.weight` "strange name"
292
+ warnings at drafter load** — see [PR #1744 review thread](https://github.com/ikawrakow/ik_llama.cpp/pull/1744#issuecomment-4388596615);
293
+ these are the drafter's MTP projection tensors which the size-
294
+ accounting iteration in `src/llama.cpp` doesn't special-case.
295
+ Cosmetic; the MTP runtime loads them correctly via
296
+ `create_gemma4_mtp_tensors`.
297
+
298
+ ## Provenance
299
+
300
+ - Source: [google/gemma-4-31B-it-assistant](https://huggingface.co/google/gemma-4-31B-it-assistant),
301
+ Apache 2.0 + Gemma terms of use.
302
+ - Architecture: `gemma4_mtp` (the GGUF-side name for
303
+ `Gemma4AssistantForCausalLM`).
304
+ - Converter / runtime: ik_llama.cpp `feat/gemma-4-mtp` branch,
305
+ i.e. [PR #1744](https://github.com/ikawrakow/ik_llama.cpp/pull/1744)
306
+ by [@SamuelOliveirads](https://github.com/SamuelOliveirads).
307
+ - Calibration corpus for imatrix: **none used in this build** (see
308
+ "Honest limitations" above for why).
309
+ - Build host: a CPU-only Linux box.
310
+
311
+ Comparable existing community quants:
312
+ [`Radamanthys11/Gemma-4-31B-it-assistant-GGUF`](https://huggingface.co/Radamanthys11/Gemma-4-31B-it-assistant-GGUF)
313
+ and the rest of [@Radamanthys11](https://huggingface.co/Radamanthys11)'s
314
+ collection (the same person who wrote PR #1744). Those repos ship
315
+ F16 + Q8_0 only.
316
+
317
+ This repo ships every quant variant of this drafter that made
318
+ sense to produce: 12 files spanning bf16 reference down to Q3_K_L,
319
+ including K-quants, non-K i-quants (IQ4_NL, IQ4_XS), and OCP
320
+ MXFP4. The omitted quants (F32, legacy Q4_0/Q5_0 etc., Q2_K,
321
+ IQ2_*, IQ1_*, the imatrix-dependent IQ4_KS family) are documented
322
+ above the table with the reason each was left out.
323
+
324
+ ## License
325
+
326
+ Apache 2.0, with the [Gemma terms of use](https://ai.google.dev/gemma/terms)
327
+ inherited from the source model.
328
+
329
+ ## Issues / questions
330
+
331
+ Open a discussion on this repo
332
+ ([cafkafk/gemma-4-31B-it-assistant-GGUF-noimatrix](https://huggingface.co/cafkafk/gemma-4-31B-it-assistant-GGUF-noimatrix/discussions))
333
+ for anything quant-specific (a particular file refusing to load, a
334
+ quant variant behaving worse than expected, sizes-table corrections,
335
+ etc.).
336
+
337
+ For ik_llama.cpp runtime bugs (`gemma4_mtp` arch issues, MTP
338
+ acceptance-rate quirks, `--spec-type mtp` plumbing) the canonical
339
+ place is the upstream
340
+ [PR #1744 thread](https://github.com/ikawrakow/ik_llama.cpp/pull/1744)
341
+ or the [`ikawrakow/ik_llama.cpp` issue tracker](https://github.com/ikawrakow/ik_llama.cpp/issues).
342
+ For upstream weights / chat-template / tokenizer questions, file
343
+ against [google/gemma-4-31B-it-assistant](https://huggingface.co/google/gemma-4-31B-it-assistant/discussions) — but please
344
+ filter quant-format problems out before going there; Google does not
345
+ maintain the GGUF tooling.
gemma-4-31B-it-assistant-IQ4_NL.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d315e6f36ee78bf875dfba327163db7b01539c01c0395c8680b108d1d8c6cc5
3
+ size 349141888
gemma-4-31B-it-assistant-IQ4_XS.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:674caeb887497ddca39a699f4c87fb46ca499abceed0421f835111fdb9023525
3
+ size 307207040
gemma-4-31B-it-assistant-MXFP4.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4447088803d9a3264fa2abef7d4c6e0502508949f48ccb21fbbb78307d8c76f7
3
+ size 342858624
gemma-4-31B-it-assistant-Q3_K_L.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:30d155dfaf7ae0c9ce660ff3a50e18d985935cab1847966f00a8cb83ef4ca235
3
+ size 341902208
gemma-4-31B-it-assistant-Q4_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f258fcce73f8e90cf31f22df5d56be2ad0c91d1c3b29dd5489124e4c6423c978
3
+ size 353467264
gemma-4-31B-it-assistant-Q4_K_S.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:76ab39476614e913c7c97607f89a0fecac2e18ab9f22f9385d960701d1c56929
3
+ size 349141888
gemma-4-31B-it-assistant-Q5_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1b7ee2e9254556b97c8fc10a02e46449b02fa8baefba0a504c2b1a6c147d297e
3
+ size 376503168
gemma-4-31B-it-assistant-Q5_K_S.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7073b0a5774bb3f7f075bc628aa37b3833fd979c9cf1c66f9f04f94172b90d81
3
+ size 374274944
gemma-4-31B-it-assistant-Q6_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f0a5a01ee20852e51a79ce2a87874db9b489fb98b6ece6c69adb77009eb08e01
3
+ size 400978816
gemma-4-31B-it-assistant-Q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46eb446dc22ef584aae1d1ead6f5888a3f1fa71c5b8f5a8edce9c49846592228
3
+ size 514685824
gemma-4-31B-it-assistant-bf16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a75cf1b62bf5bc87a6303ab00f3810e71dcd53310373b8f5fd58200bdbf3cb48
3
+ size 954841952
gemma-4-31B-it-assistant-f16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bfb62b95f0b193404e6a0f18742cde3431d9ea307d13419e877ca2d29c687e03
3
+ size 954841952