netarmy007/gemma-4-12B-coder-fable5-composer2.5-v1-GGUF
๐ป Gemma4-12B-Coder (GGUF) โ Composer 2.5 ร Fable 5 โจ
๐ฃ Tiny footprint, big brain โ a local coding model for everyone
No matter your GPU. No matter your RAM. If you've got ~4.5 GB of VRAM or unified memory free, you can run your own private, offline coding assistant right now. ๐ This is the v1 / code edition โ distilled from real chain-of-thought so it thinks through a problem before writing the solution. ๐ง ๐ป All local, all yours, no API, no cloud.
๐ฏ What it is
A focused fine-tune of Gemma 4 12B on verifiable Python coding data โ every training example's reasoning leads to code that actually passed its tests. The result reasons in the open (edge cases, complexity, approach) and then emits a clean, runnable solution. ๐
๐ Announcements
๐ safetensors (full-precision) upload coming. A lot of you want the safetensors master so you can roll your own quants / MLX builds โ it's on the way. My home Verizon connection keeps auto-dropping the upload partway through (it died on me again last night ๐ค), so I'm heading to a Starbucks / library to push it through on a faster line. Thanks for the patience! ๐
๐ Big news โ v2 is almost here! Initial training of v2 is done, and it's now in benchmarking + final QA. I had Claude help me dig through a huge stack of the latest papers, and I'll be applying the newest methods to see how much further I can push it. ๐ So many of you flagged the agentic issues โ so this time I significantly increased the dataset (especially the agentic data). v2 is focused on agentic + coding. Stay tuned โ releasing this Friday or Saturday (US Pacific time)! ๐
๐ฃ Context length fixed: now 256K (was 131K) โ thanks, community! ๐
A community member spotted that this model was reporting only a 131K context window. That turned out to be the well-known upstream Gemma 4 metadata bug โ Google's initial config.json shipped with max_position_embeddings: 131072 instead of the real 262144 (256K), and that value got baked into a lot of downstream finetunes and quants (including this one) before it was fixed upstream.
The weights were always fine โ it was purely a metadata field. All GGUF quants have been re-patched to the full 256K context (gemma4.context_length = 262144). Just re-download if you grabbed an earlier copy. ๐
๐ Training data (the interesting part ๐ณ)
This is a distillation of two complementary chain-of-thought sources, both over verifiable Python coding tasks (algorithmic / function-level problems that come with deterministic tests):
- *๐ฅ Main set โ Composer 2.5 real CoT. Genuine, model-authored reasoning traces. The teacher solved each problem, its code was run against the task's tests, and only the passing solutions were kept. So the reasoning you're learning from leads to code that actually works*.
- ๐ฅ Aux set โ Fable 5 (released today! ๐). A clever twist: we took the problems where Composer 2.5 got it wrong and handed them to Fable 5 to redo โ re-deriving a fresh, self-consistent chain-of-thought and a correct solution, again gated on passing the tests. This recovers the hard cases the main teacher missed. These traces are synthetic (rationalized CoT), and are tagged separately so the two sources stay distinguishable.
The recipe: real CoT for the bulk of solid coverage, plus synthetic "second-attempt" CoT to patch the failures โ both verified by execution before anything entered training. โ
๐ฆ Pick your size (GGUF quants)
๐งฎ "Will it fit?" โ context length cheat-sheet
Rough estimates ๐ค (assumes q8_0 KV cache + ~1.5 GB overhead; use `q4_0` KV cache for โ2ร more context!). Max context is 256K. "โ" = won't fit, pick a smaller quant. โ๏ธ
๐ก Apple Silicon / integrated GPUs with unified memory count too โ same numbers, just slower than a dGPU. ๐ก Low on room? Drop a quant or switch KV cache to q4_0 and your context roughly doubles.๐ How to run it (super easy)
Option A โ llama.cpp (recommended) ๐ฆ
- Grab a quant above (e.g.
โฆ-Q4_K_M.gguf) andllama-serverfrom llama.cpp.
โ ๏ธ Needs a recent llama.cpp (this is the gemma4_unified architecture โ older builds won't load it).- Run a server (Windows
.batshown โ tweak--port,--ctx-sizeto taste):
@echo off
cd /d C:\llama.cpp
llama-server.exe ^
-m C:\models\gemma4-coding-Q4_K_M.gguf ^
--ctx-size 16384 ^
--n-gpu-layers 99 ^
--no-mmap ^
-fa on ^
--cache-type-k q8_0 --cache-type-v q8_0 ^
--temp 1.0 --top-p 0.95 --top-k 64 ^
--host 0.0.0.0 --port 18080
pause- Open
http://localhost:18080and chat. ๐ (Tip: bump--ctx-sizeper the table; useq4_0KV for more.)
Option B โ one-click apps ๐ฑ๏ธ
Works in LM Studio, Jan, Ollama, etc. โ just import the GGUF, pick your quant, go. ๐พ
๐ง Thinking mode
This model thinks in Gemma's native thought channel before answering โ exactly how it was trained. Keep `enable_thinking=true` (the default chat template handles it). Recommended sampling: temp 1.0, top_p 0.95, top_k 64. For coding you can also go greedy (temp 0) for more deterministic solutions.
โ ๏ธ Good to know
- Reduced refusals: the training data is task-focused with no safety hedging, so this refuses less than the base model. It is not safety-aligned โ add your own guardrails for production. Use responsibly. ๐
- Specialized for Python / algorithmic coding. Reasoning quality is strongest in that domain; general-knowledge facts/numbers should still be double-checked.
- English-centric.
๐ Base & License
- License: Apache 2.0. Gemma 4 is released by Google under [Apache 2.0](https://ai.google.dev/gemma/apache_2) (unlike the older Gemma 1/2/3 terms), so this fine-tune is Apache 2.0 too โ free to use, modify, and redistribute. ๐
- Base model: `google/gemma-4-12B-it`.
- Personal/hobby project โ shared as-is, no warranty. Have fun, and happy hacking! ๐พโจ
