๐ป 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. ๐
๐ 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. โ
๐บ๏ธ Roadmap โ v2 (if there's interest! ๐)
This is v1. If the likes / downloads add up, I'll ship a v2 that:
- Leans harder into the Fable 5 data as the primary signal,
- keeps a portion of Composer 2.5 real CoT for coverage,
- and pushes for the benchmarks ๐.
โญ Like & download if you'd like to see v2 โ that's the signal I'm watching!
๐ข Upload status โ sorry, and a heartfelt PSA ๐
I'm very sorry the upload has been so slow โ as of right now, not all files have finished uploading yet.
But please don't worry: I will get everything up. ๐ช
โ Update: all files are up โ every quant (Q2_K / Q4_K_M / Q6_K / Q8_0) is fully uploaded. Enjoy! ๐
And a sincere plea while I'm at it: please, do NOT use any Verizon WiFi. I happen to be on their WiFi, and my uploads keep stalling. I've tried to fix it many, many times and it's still broken. So let me say it once more, loud and clear: stay away from Verizon WiFi. ๐ต Thank you so much for your patience! ๐
๐ฆ Pick your size (GGUF quants)
| Quant | Size | Vibe |
|---|---|---|
| ๐ข Q2_K | 4.5 GB | tiniest โ runs almost anywhere |
| ๐ต Q4_K_M | 6.87 GB | the sweet spot ๐ (recommended) |
| ๐ฃ Q6_K | 9.11 GB | near-lossless |
| โช Q8_0 | 11.8 GB | basically full quality |
๐งฎ "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 131K. "โ" = won't fit, pick a smaller quant. โ๏ธ
| Your VRAM / unified mem | ๐ข Q2_K (4.5G) | ๐ต Q4_K_M (6.87G) | ๐ฃ Q6_K (9.11G) | โช Q8_0 (11.8G) |
|---|---|---|---|---|
| 8 GB | ~16K ctx | tight (~2โ4K) | โ | โ |
| 12 GB | ~48K | ~30K | ~12K | โ |
| 16 GB | ~80K | ~64K | ~44K | ~22K |
| 24 GB | 131K (max) ๐ | ~128K | ~110K | ~88K |
| 32 GB | 131K | 131K | 131K | 131K |
๐ก 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_0and 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_unifiedarchitecture โ 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
- Base model:
google/gemma-4-12B-it. Subject to the Gemma Terms of Use (derivatives must comply). - Personal/hobby project โ shared as-is, no warranty. Have fun, and happy hacking! ๐พโจ