Odette's voice, matched to your QAT model — without training anything.
Odette-26B-A4B-QAT-Voice
Odette's chorus, fitted to QAT-derived GGUFs. Same three voices, correct math for QAT heads.
This carries the Odette chorus — Dark Scarlett pulse, MeroMero support at 0.8, Pantheon Reasoning lead at 0.9 — as a delta against the standard instruct, matched to Google's QAT checkpoint (google/gemma-4-26B-A4B-it-qat-q4_0-unquantized). If your GGUF is built from QAT weights, use this one; otherwise the standard voice is the exact fit.
QAT + Odette
Two separate things, stacked:
Google's QAT trains the model to survive quantization — 54% less perplexity drop at Q4_0 versus standard post-training quantization (Google Developers Blog).
Odette is three grafted voices thinking, swooning, and desiring through one head. If you already run a QAT GGUF, this variant keeps the QAT foundation intact instead of overwriting it with standard-instruct weights.
Two steps — any QAT-derived Gemma 4 26B A4B GGUF you already have
# 1. Get the voice tool (one-time): https://huggingface.co/Wiself/voice
python3 voice.py path
# 2. Cast onto your QAT-derived GGUF
voice cast ./gemma-4-26b-a4b-it-qat-q4_0-Q4_0.gguf voice.safetensors --out ./voiced/gemma-4-26b-a4b-qat-odette.gguf
Append --speak to force the voice through output.weight (invented if the target lacks it and geometry survives; GGUF only).
Run it:
llama serve -m ./voiced/gemma-4-26b-a4b-qat-odette.gguf --jinja
No QAT finetune was needed. No extra model was downloaded. Your model, three voices, less quantization loss.
Why the QAT-matched variant exists
The QAT checkpoint's lm_head weights differ slightly from the standard instruct's (that's the point of QAT — the weights learned to live with quantization). This voice is cast as a delta against the normal google/gemma-4-26B-A4B-it (voice − base where base is the standard instruct, not QAT). When you later do delta + QAT_head → Q8_0, you add Odette's chorus to the QAT head — correct math, matched foundation.
| Your GGUF is built from | Use |
|---|---|
google/gemma-4-26B-A4B-it (standard) |
Odette voice — direct cast, one step |
google/gemma-4-26B-A4B-it-qat-q4_0-unquantized |
this voice — direct cast onto your QAT GGUF |
| Abliterated/looping targets (either base) | Delta path — see standard card, same voice delta recipe works here |
What's inside
voice.safetensors— the voice delta (voice − base), source dtype preserved, arch-derived shape[262144, 2816], ~1.5 GBvoice.json— metadata: source, dtype, shape, base
Confirm after download: voice info voice.safetensors → [262144, 2816] (delta marker present).
Compatibility
| Target | Works? |
|---|---|
| QAT-derived Gemma 4 26B A4B GGUFs (any quant) | ✅ primary target |
| Abliterated/looping targets | Delta path — same voice delta recipe as the standard card |
| Standard (non-QAT) 26B A4B GGUFs | ✅ works, but the Odette voice is the exact match |
| Gemma 4 other sizes / non-Gemma | ❌ shape mismatch |
Notes
- Sampler tips from the source cards: temp 1.0 across all three; Pantheon adds MinP 0.05 and no repetition penalty (it corrupts thinking traces); Scarlett suggests Top-P 0.92; thinking ON at medium effort.
- Usage terms carry over: Scarlett's donors are 18+, personal use only, you accept full responsibility — see the source card before sharing voiced models. All three sources are Apache-2.0 under Gemma terms.
- Casting quantizes only the head to Q8_0 (near-lossless); every other tensor is byte-copied — your QAT weights stay QAT weights.
References & Credits
- Chorus: Odette-26B-A4B-Voice — Scarlett pulse, MeroMero support at 0.8, Pantheon lead at 0.9 (DELLA, seed 42).
- QAT: Google Developers Blog — checkpoint
google/gemma-4-26B-A4B-it-qat-q4_0-unquantized, Gemma terms. - Tool: Voice — lift a voice, cast it onto any compatible GGUF.