← back to catalog · registered 2026-08-22 13:56

sakamakismile/Huihui-gemma-4-31B-it-qat-abliterated-MTP-NVFP4

sakamakismile Gemma 15B multimodal
Your rig guess connected
? Why do I need an app?
Reading your rig…

This is a rough estimate. Install the free app - we'll show exact numbers.

Reading real hardware from your app right now. Numbers below are exact.

Below is the per-quantization compatibility for this model.

curl -H "Authorization: Bearer $ABL_KEY" \
     "https://abliteration.org/api/v1/models/sakamakismile%2FHuihui-gemma-4-31B-it-qat-abliterated-MTP-NVFP4"
Response includes
  • classification m1
  • files 10
  • hub_downloads_all_time 1,943
  • author_summary 34 models
  • readme_text full
10 credits · hourly refresh · ~4 KB payload Get an API key →
Abliteration classifier · v1.0.0
M1
Primary method

Direct removal

No other method signals detected in this model.
Confidence
MEDIUM
Why this label 3 signals
Method inferred from partial signals - repository name, related files, or tag patterns. Producer identity not confirmed; label may sharpen or shift as we gather more evidence.
  • 'abliterated' in name/tags
  • is_gguf=0 (base model)
  • no specific method indicators - defaulting to M1 (most common)
Refusal direction extracted via
Extraction technique

Difference-of-means

Confidence
MEDIUM
Why we say so
primary_method=M1; difference-of-means is the reference extraction for M1/M3 (Arditi 2024)
Downloads · lifetime
2K
193 last 30d - cooling
Likes
2
Descendants
1
in 1 direct fork
Model age
4mo ago
created 2026-06-12
Downloads over time
Now2K→from36↑5,439%
07301.5K2.2K36 on Jun 102K on Oct 11JunJulAugSepOct
Jun 10 → Oct 11 · 57 snapshots · spans 123 days

Genealogy 1 direct fork

Full fork graph →

This model's place in the market. Above: what it was derived from. Below: the tree of everything derived from it.

Metadata

License
gemma
Languages
ja en
Tags
transformers safetensors gemma4 image-text-to-text nvfp4 w4a4 qat quantized abliterated vllm compressed-tensors blackwell

Related

Total size
19.0 GB
Files
10
Quantizations
1
Registered
2026-08-22 13:56
Last updated on HF
2026-06-12 01:28

Files by quantization

Auxiliary files 10 files 19.1 GB
model.safetensors 19.0 GB 8d2916f8 download
tokenizer.json 30.7 MB a43152a9 download
config.json 18.5 KB f2385479 download
chat_template.jinja 16.5 KB f62ca843 download
README.md 9.09 KB 23717a4e download
tokenizer_config.json 2.68 KB af7f2586 download
processor_config.json 1.65 KB 5465974d download
.gitattributes 1.59 KB b50a4d2f download
recipe.yaml 224 B f790e78b download
generation_config.json 203 B a5245e87 download

README current version from Hugging Face


license: gemma
base_model:

  • google/gemma-4-31B-it-qat-q4_0-unquantized
  • huihui-ai/Huihui-gemma-4-31B-it-qat-q4_0-unquantized-abliterated
  • google/gemma-4-31B-it-qat-q4_0-unquantized-assistant
    base_model_relation: quantized
    language:
  • ja
  • en
    tags:
  • gemma4
  • nvfp4
  • w4a4
  • qat
  • quantized
  • abliterated
  • vllm
  • compressed-tensors
  • blackwell
  • sm120
  • speculative-decoding
  • mtp
  • gemma4-assistant
    library_name: transformers
    pipeline_tag: image-text-to-text
    model_type: gemma4
    quantized_by: Lna-Lab

Huihui-gemma-4-31B-it-qat-abliterated-MTP-NVFP4

One repo, speculative decoding included — and on this dense 31B it is dramatic: 2.4× Japanese / 2.9× English. This is the MTP bundle of Huihui-gemma-4-31B-it-qat-abliterated-NVFP4: the NVFP4 (full W4A4) body plus the matching gemma4_assistant MTP draft checkpoint in assistant/, so a single hf download gives you everything vllm serve --speculative-config needs.

Measured: Japanese 86 tok/s · English 106 tok/s single-stream on 4× RTX PRO 2000 Blackwell 16 GB (vs 36–37 baseline) — a QAT-origin, abliterated Gemma 4 31B dense in 20.4 GB + a 0.94 GB draft, pulled into the practical zone on 4 entry-level Blackwell cards.

Lineage: google/gemma-4-31B-it-qat-q4_0-unquantized (QAT q4_0 → bf16) → huihui-ai abliteration → Lna-Lab NVFP4 W4A4 → this bundle, adding google/gemma-4-31B-it-qat-q4_0-unquantized-assistant (bf16, unmodified) as the speculative draft.

Body Gemma4ForConditionalGeneration — 31B dense, 60 text layers (hidden 5376) + vision tower · NVFP4 W4A4 (compressed-tensors / nvfp4-pack-quantized) · 20.4 GB
Draft (assistant/) Gemma4AssistantForCausalLM (model_type: gemma4_assistant) — 4-layer MTP head riding the target's hidden states · bf16 · 0.94 GB
Spec method vLLM gemma4_mtp, num_speculative_tokens: 4
Hardware NVIDIA Blackwell (SM120) required · TP=4 (4× 16 GB) recommended — TP=2 + draft does not leave usable KV on 16 GB cards
vLLM ≥ 0.21 (compressed-tensors NVFP4 auto-detect + gemma4_mtp; measured on 0.21.0)

Why MTP, and why a bundle

Gemma 4's multi-token-prediction is not a head baked into the main checkpoint (Qwen3.6-style). Google ships it as a separate assistant checkpoint that vLLM's --speculative-config loads alongside the target. That normally costs you a second hf download and a path dance. This repo ends that: the assistant lives in assistant/ and you point the config at the local subfolder.

Huihui-gemma-4-31B-it-qat-abliterated-MTP-NVFP4/
├── model.safetensors          # NVFP4 W4A4 body (20.4 GB)
├── config.json / generation_config.json / processor_config.json
├── tokenizer.json / tokenizer_config.json / chat_template.jinja
├── recipe.yaml                # llm-compressor recipe
└── assistant/                 # gemma4_mtp draft (bf16, 0.94 GB)
    ├── model.safetensors
    ├── config.json            # model_type: gemma4_assistant
    └── tokenizer / chat_template

Quickstart (TP=4 recommended)

hf download sakamakismile/Huihui-gemma-4-31B-it-qat-abliterated-MTP-NVFP4 \
  --local-dir gemma4-31b-mtp
DIR=$(realpath gemma4-31b-mtp)

NCCL_P2P_DISABLE=1 vllm serve "$DIR" \
  --served-model-name gemma4-31b-mtp \
  --tensor-parallel-size 4 \
  --disable-custom-all-reduce \
  --max-model-len 8192 \
  --gpu-memory-utilization 0.90 \
  --max-num-batched-tokens 8192 \
  --limit-mm-per-prompt '{"image":0}' \
  --speculative-config "{\"method\":\"gemma4_mtp\",\"model\":\"$DIR/assistant\",\"num_speculative_tokens\":4}"
  • The point: model in --speculative-config is the bundled local path — no second download, no HF resolution at serve time.
  • TP=4 is the right call twice over: (1) the dense 31B gains +64% from TP=2→4 even without spec-decode, and (2) the draft's VRAM share makes TP=2 KV-starved on 16 GB cards. This config measured KV 17,385 tok (bf16 KV; add --kv-cache-dtype fp8 for more).
  • vLLM 0.21 multimodal budget trap: keep --max-num-batched-tokens ≥ 2496 even with '{"image":0}', or startup fails validating the multimodal token budget.
  • NCCL_P2P_DISABLE=1 + --disable-custom-all-reduce are required on PCIe no-NVLink boxes (TP hangs without them); drop both if you have NVLink/P2P. Keep CUDA graphs ON.
  • vLLM 0.21's quantization-inheritance trap does not fire here: with an explicit draft model path the draft's own config decides (bf16). Only the model:null MTP-from-target path inherits target quantization.

Measured (RTX PRO 2000 Blackwell 16 GB ×4, TP=4, PCIe no-NVLink, vLLM 0.21.0, 2026-06-12)

Single-stream, T=0 chat completions, ×3 each. Acceptance = accepted/drafted from /metrics.

config JA 128 JA 512 EN 128 EN 512 acceptance JA / EN
baseline (no spec) 36.4 36.3 36.7 — —
native MTP (this bundle, N=4) 85.7 75.6 106.1 91.0 41–51% / 55–71%
EAGLE-3 (vanilla-trained NVFP4 draft) N=3 33.5 34.0 46.9 — 1–3% / 16%

JA 2.1–2.4×, EN 2.5–2.9× over baseline. A dense 31B at 36 tok/s leaves four GPUs verification-hungry — exactly the regime where MTP shines (the already-fast MoE 26B sibling only gains 1.2–1.5× from the same trick).

Two lessons paid for in benchmarks:

  • EAGLE-3 was dead on arrival against this abliterated QAT body — a vanilla-31B-trained, English-data draft gets 1–3% JA acceptance (below baseline) and only 16% EN. Distribution shift between drafter and verifier kills it. The google MTP assistant shrugs both problems off (41–51% JA acceptance despite vanilla training) because its 4-layer head re-uses the target's own hidden states instead of imitating its distribution from scratch.
  • If your traffic is Japanese (or anything non-English), the MTP assistant is the only draft of the ones we tested that pays.

Concurrent (aggregate throughput)

4 / 8 concurrent streams × 256 tok each (T=0, diverse prompts, prefix-cache busted, ×3 averaged). Baseline = same body, no spec-decode (measured with JA prompts; baseline JA≈EN single-stream).

streams baseline tok/s MTP JA tok/s MTP EN tok/s acceptance JA / EN
1 36.4 85.7 (2.4×) 106.1 (2.9×) 41–51% / 55–71%
4 139.5 211.6 (+52%) 251.9 (+81%) ~39% / ~52%
8 252.9 320.1 (+27%) 387.2 (+53%) ~41% / ~53%

MTP keeps winning at every concurrency this box can reach. The multiplier decays as batching fills the GPUs (2.4× → 1.5× → 1.3× JA), but a dense 31B at 253 tok/s aggregate is still verification-hungry, acceptance holds ~40%/~53% under batch, and the KV budget (17,385 tok) caps realistic concurrency long before any crossover. On this model there is no regime where you should turn MTP off. (Contrast: the MoE 26B sibling — already compute-saturated — breaks even at 8 streams.)

The body: QAT × NVFP4 (the finding, in short)

Full W4A4 NVFP4 breaks non-QAT gemma-4 — the non-QAT 12B collapsed outright on this exact recipe. This 31B's q4_0 QAT weights take it cleanly: fluent Japanese, correct multi-step logic, valid haiku, zero repetition/mojibake, with a plain ultrachat 256×2048 calibration. If you want gemma-4 in NVFP4 W4A4, go through a QAT checkpoint. Full evidence and bake recipe (pure-CPU calibration through the multimodal processor — multi-GPU dispatch silently corrupts gemma4 activations on no-P2P boxes) in the non-MTP card.

Notes

  • Abliterated (uncensored). Refusal behavior removed upstream — you are responsible for your deployment. Use responsibly and lawfully.
  • NVFP4 is Blackwell-specific; the body will not run on Ampere/Hopper. The bf16 assistant inherits the body's GPU anyway.
  • The assistant/ checkpoint is google's, redistributed unmodified under the same Gemma terms; its original model card is included as assistant/README.md.
  • Gemma is provided under and subject to the Gemma Terms of Use.

Credits

Support the Base Model Author (huihui-ai)

If you find the abliterated base useful, please support huihui-ai:

README history 2 versions

The author's README evolved over time. Click a version to see its content at that point.

  1. 2026-06-12Add concurrent aggregate TPS: MTP wins at all concurrency (211.6/320.1 JA vs ...08eaba19.1 KB
    Loading...
  2. 2026-06-12Upload folder using huggingface_hub2cae1b88.1 KB
    Loading...
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration