| --- |
| license: apache-2.0 |
| language: |
| - en |
| base_model: |
| - Gryphe/Gemma-4-12B-StyleTune |
| tags: |
| - gemma4 |
| - styletune |
| - voice |
| - gguf |
| - roleplay |
| - creative-writing |
| - style-transfer |
| - qwen |
| - llama |
| library_name: voice |
| pipeline_tag: text-generation |
| --- |
| |
| <p align="center"><strong>The StyleTune voice for Gemma 4 12B β as a download.</strong></p> |
|
|
| # Gemma-4-12B-StyleTune-Voice |
|
|
| **56% fewer clichΓ©s. 16.8% shared vocabulary. One tensor. ~2.0 GB.** |
|
|
| This is not a model. It is the *voice* of [Gryphe/Gemma-4-12B-StyleTune](https://huggingface.co/Gryphe/Gemma-4-12B-StyleTune), extracted into a single portable tensor. Pair it with the [Voice tool](https://huggingface.co/Wiself/voice) and any **Gemma 4 12B** GGUF you already have becomes StyleTune-voiced β reasoning, knowledge, and instruction following untouched. |
|
|
| --- |
|
|
| ## Why this exists |
|
|
| A full StyleTune finetune is 24 GB. The voice is **2.0 GB** β and it carries the entire style. The style lives in one tensor: the `lm_head` output projection, the last stop before text appears. Gryphe trained only that tensor; we lift only that tensor. |
|
|
| Download the voice, not the model. |
|
|
| --- |
|
|
| ## Two steps |
|
|
| ```bash |
| # 1. Get the voice tool (one-time): https://huggingface.co/Wiself/voice |
| python3 voice.py path # optional, puts `voice` on your PATH |
| |
| # 2. Cast it onto any Gemma 4 12B GGUF you already have |
| voice cast ./gemma-4-12b-it-Q4_K_M.gguf voice.safetensors --out ./voiced/gemma-4-12b-styletune.gguf |
| ``` |
| Append `--speak` to force the voice through `output.weight` (invented if the target lacks it and geometry survives; GGUF only). |
|
|
| Run it: |
|
|
| ```bash |
| llama serve -m ./voiced/gemma-4-12b-styletune.gguf --jinja |
| ``` |
|
|
| That's it. One file out, nothing extra at runtime. No adapter, no LoRA, no second model. |
|
|
| --- |
|
|
| ## The numbers |
|
|
| From Gryphe's own benchmarks ([source card](https://huggingface.co/Gryphe/Gemma-4-12B-StyleTune)) β 200 diverse roleplay prompts, greedy 0.0, versus the base instruct: |
|
|
| | Metric | Base | StyleTune | |
| |---|---|---| |
| | ClichΓ©s per 100 words | 1.050 | **0.463 (β56%)** | |
| | Shared trigram vocabulary | β | **16.8%** (an almost entirely different phrasing) | |
|
|
| Everything that makes StyleTune StyleTune is in this file. What does *not* change: reasoning, world knowledge, instruction following, multilingual capability β none of it lives in `lm_head`. |
|
|
| --- |
|
|
| ## What's inside |
|
|
| - `voice.safetensors` β the `lm_head.weight` tensor, **BF16**, shape `[262144, 3840]`, ~2.0 GB |
| - `voice.json` β metadata: source, dtype, shape, architecture |
|
|
| Bit-for-bit identical to the tensor that makes [Gryphe/Gemma-4-12B-StyleTune](https://huggingface.co/Gryphe/Gemma-4-12B-StyleTune) sound the way it does. If you have the original model, you don't need this file. If you have any *other* Gemma 4 12B β a quant, an abliterated variant, a different finetune β this voice drops in. |
|
|
| --- |
|
|
| ## Compatibility |
|
|
| | Target | Works? | |
| |---|---| |
| | Any Gemma 4 **12B** GGUF (any quant: Q4_K_M, Q5_K_M, Q8_0β¦) | β
| |
| | Abliterated / uncensored Gemma 4 12B GGUFs | β
(use the [delta variant](#loops--abliterated-targets) if it loops) | |
| | Gemma 4 **other sizes** (9B, 26B, 31B) | β vocab/hidden mismatch β use the matching voice | |
| | Non-Gemma architectures | β | |
| |
| The cast checks shape before touching anything and tells you plainly if it won't fit. |
| |
| <details> |
| <summary><strong>Loops on abliterated targets?</strong></summary> |
| |
| On some abliterated targets a direct cast can loop. The fix is the delta variant β it carries only the *difference* from the base instruct, so MoE routing stays calm: |
| |
| ```bash |
| voice delta voice.safetensors # needs the base: --base google/gemma-4-12b-it |
| voice cast ./model.gguf delta-voice.safetensors --out ./voiced/model.gguf |
| ``` |
| |
| This is the exact path that fixed looping on the 26B QAT abliterated model β see the [Voice tool card](https://huggingface.co/Wiself/voice) for that story. |
| |
| </details> |
| |
| --- |
| |
| ## Notes |
| |
| - **Quality:** the voice is stored at the original BF16 precision. Casting to GGUF quantizes only the head to Q8_0 (βΒΌ size, near-lossless); every other tensor is byte-copied from your model. |
| - **Casting to safetensors targets** works too β the head is replaced at the target's own dtype, no quantization. |
| - **Sampler tips from Gryphe:** temp 1.0, MinP 0.10, DRY sampler on. Gemma 4's native chat template applies automatically. |
| - Verify after download: `voice info voice.safetensors` β should read `lm_head.weight Β· [262144, 3840] Β· BF16`. |
|
|
| --- |
|
|
| ## Credits |
|
|
| [Gryphe](https://huggingface.co/Gryphe) trained the StyleTune and proved one tensor changes everything. The [Voice tool](https://huggingface.co/Wiself/voice) lifts and casts it. Gemma 4 is Google's model, under its own terms β this voice carries the source model's license lineage; check the [source card](https://huggingface.co/Gryphe/Gemma-4-12B-StyleTune) before sharing voiced models. |
|
|