license: gemma
pipeline_tag: text-generation
base_model: HauhauCS/Gemma4-31B-QAT-Uncensored-HauhauCS-Balanced-MTP
tags:
- gguf
- long-context
- yarn
- gemma4
- uncensored
- mtp
- speculative-decoding
- vision
- llama.cpp
- ollama

Gemma4-31B Uncensored: 1M Context + MTP + Vision
HauhauCS/Gemma4-31B-QAT-Uncensored-HauhauCS-Balanced-MTP (31B dense, Google QAT checkpoint) with a 1,048,576-token context baked in (4x the native 262,144), shipping with its MTP speculative-decoding draft head and vision tower. All numbers below were measured on these exact files.
| Capability | Status |
|---|---|
| 1M context | Certified: 10/10 at every rung from 262K to 1M, f16 KV, on a single H200 |
| MTP speculative decoding | 69.2 to 101.0 tok/s (+46%), acceptance 0.658 (measured on this trunk, RTX 5090) |
| Vision | Verified July 6, 2026: reads image text and identifies objects |
| Uncensored | HauhauCS Balanced abliteration; trunk weights bit-identical to the source release |
Needle-in-a-haystack: certified to 1,048,576 tokens

Full ladder, 10 needles per rung, depths 5 to 95 percent, temperature 0, f16 KV, scored July 9, 2026 on a single H200 (a dense 31B at f16 KV needs an 82 GB cache at 1M, beyond any 32 GB card):
| Rung | Score |
|---|---|
| 262,144 | 10/10 |
| 393,216 | 10/10 |
| 524,288 | 10/10 |
| 786,432 | 10/10 |
| 1,048,576 | 10/10 |
Raw evidence is in results.jsonl. The first Gemma 4 31B we know of that is needle-perfect at a million tokens.
MTP speculative decoding

The draft head predicts ahead and the trunk verifies every token, so output is identical to standard decoding, only faster. Measured speedup on this uncensored trunk beats the ~35 percent claimed upstream.
Files
| File | Size | Role |
|---|---|---|
gemma4-31b-uncensored-1M-Q4.gguf |
18.7 GB | Trunk, 1M baked, QAT 4-bit |
mtp-gemma-31b.gguf |
280 MB | MTP draft head, pair with -md |
mmproj-gemma31b-hauhau.gguf |
1.2 GB | Vision tower, pair with --mmproj |
niah_heatmap.png, mtp_speedup.png, results.jsonl |
small | Verification evidence |
Every file, every mirror
Nothing was discontinued: every quant is one click away. Hugging Face carries the curated picks, ModelScope always carries everything, and Ollama serves ready-to-run tags.
| File | Size | Hugging Face | ModelScope | Ollama |
|---|---|---|---|---|
gemma4-31b-uncensored-1M-Q4.gguf |
18.7 GB | download | download | - |
mmproj-gemma31b-hauhau.gguf |
1.2 GB | download | download | - |
mtp-gemma-31b.gguf |
280 MB | download | download | - |
Run it
llama.cpp, everything on:
llama-server -m gemma4-31b-uncensored-1M-Q4.gguf \
-c 1048576 -np 1 --jinja \
-md mtp-gemma-31b.gguf --spec-type draft-mtp --spec-draft-n-max 3 \
--mmproj mmproj-gemma31b-hauhau.gguf
Ollama (1M and vision work; Ollama has no speculative decoding yet, so the MTP head adds no speed there):
FROM ./gemma4-31b-uncensored-1M-Q4.gguf
RENDERER gemma4
PARSER gemma4
PARAMETER num_ctx 262144
The RENDERER and PARSER lines avoid imported-GGUF template bugs under tool-heavy use. Raise num_ctx as memory allows.
How to actually use a 1M-context model
Long context is a capability, not a magic mode. Habits that measurably help (from our RULER and adherence testing across this fleet):
- Re-state your standing instructions near the end of long prompts. Recency wins over depth; a short reinjection of the rules beats hoping the model remembers page one.
- Prefer one big reference dump over a long accumulated conversation. Fresh session per task, context used as a library.
- After any compaction or summarization step, repeat your active rules yourself.
- For retrieval-heavy work on this model family, run thinking OFF (see the RULER table: thinking mode halves retrieval scores at long range).
- Expect the extremes to cost: prefill at 500K+ takes real time on any hardware. Budget for it or stage your questions.
How this was built
YaRN rope-scaling metadata (factor 4.0 over native 262,144) baked into the GGUF header with gguf-py; weights are bit-identical to the HauhauCS release, no fine-tuning. Gemma 4's dual-rope design takes YaRN on its global-attention layers. Certification harness: 10 needles per rung at depths 5 to 95 percent, temperature 0, seeded prompts, f16 KV only. Method and tooling: github.com/satindergrewal/aviary-1m.
For base capability benchmarks see Google's official Gemma 4 cards; uncensoring quality versus the official trunk has not been independently benchmarked here.
Credits
Base model and QAT: Google (Gemma license; its terms flow down to these files). Uncensoring and packaging: HauhauCS. MTP head: Unsloth (via the HauhauCS repo). 1M YaRN extension, benchmarking, and certification: SatGeze.
Sister repos: 12B | 26B-A4B | 31B | Qwen3.6-35B
Mirrors: Hugging Face | ModelScope