A 7 GB 27B Model Lost to My 17 GB Default
A 6.66 GiB ternary 27B model fit my RTX 5090, but it lost the default slot. File size is only the first local model-selection gate.
TL;DR
- On July 16, 2026 Ternary-Bonsai-27B-Q2_0.gguf measured 6.66 GiB and 26.90 billion parameters. It ran with 99 GPU layers on an RTX 5090 at a 4,096-token context. The downloaded file measured 7,165,121,600 bytes.
- Bonsai generated 123.37 tokens per second in three llama-bench repetitions. Prompt processing measured 3,885.47 tokens per second. gemma4:26b generated the same factual prompt at 179.95 tokens per second through Ollama. That comparison crosses two runtimes.
- Both models found Canberra, Ursula K. Le Guin, and Python 3.7. Bonsai put the correct answers in its reasoning, then used the 384-token cap before it emitted the required FINAL line. Gemma returned the exact line.
A new 27B model landed on my RTX 5090 in a 6.66 GiB GGUF file. It generated 123 tokens per second. It answered all three factual checks correctly. I still did not make it my default.
The short answer: Ternary Bonsai 27B proved that a large model can fit in a small memory budget, but fit did not decide the job. My local test favored gemma4:26b because it generated faster and followed the requested output format. File size gets a model onto the machine. Task completion keeps it there. Canonical URL: https://bmdpat.com/blog/ternary-27b-vs-gemma4-26b-local-ai-2026

How did a 27B model fit in 6.66 GiB?
I tested the official Ternary-Bonsai-27B-Q2_0.gguf on July 16, 2026. llama-bench reported a 6.66 GiB file and 26.90 billion parameters. The model ran with 99 GPU layers on an RTX 5090 at a 4,096-token context.
The compact file comes from ternary weights. Instead of storing ordinary high-precision weights, the model uses values of negative one, zero, or positive one, plus shared scale factors. The official model card describes a roughly 7.2 GB deployed footprint for the language model. My downloaded file measured 7,165,121,600 bytes.
That is the first win. A 27B-class model that fits under 8 GB opens options for laptops, smaller GPUs, and multi-model servers. It also makes model size a poor proxy for task quality.
Was the smaller file fast on an RTX 5090?
Yes, with a caveat. Bonsai generated 123.37 tokens per second in three llama-bench repetitions. Prompt processing measured 3,885.47 tokens per second on the same run. Those are my local measurements, not vendor estimates.
My existing gemma4:26b default generated the same factual prompt at 179.95 tokens per second through Ollama. That comparison crosses two runtimes, so I treat it as a job-level spot check, not a clean model benchmark. It was still enough to answer the operator question: which model should keep the drafting slot on this machine?
The answer stayed Gemma. Bonsai was compact and fast enough to serve. It was not faster for the task I needed.
Why did instruction following decide the winner?
I asked both models three factual questions and required one exact FINAL line. Both models found Canberra, Ursula K. Le Guin, and Python 3.7. Bonsai put the correct answers in its reasoning, then used the 384-token cap before it emitted the required line. Gemma returned the exact line.
That difference matters in an agent loop. A correct answer in hidden reasoning is not the same as a parseable result. If the next step expects one line, the model that emits that line finishes the job. The model that explains past the cap creates a retry, a repair step, or a manual check.
This is why I separate model intelligence from model usefulness. Benchmarks can tell me whether a model has capability. My verifier tells me whether it completed my task.
What should a local model selection test measure?
Start with fit, but do not stop there. Record the actual loaded footprint at the context you plan to use. Context and cache settings can change the memory total after the weights fit.
Then measure the real output path. I care about generation speed, cold-load behavior, exact format compliance, and whether the result passes a deterministic check. My Q4_K_M versus Q5_K_M comparison uses the same idea: the quant label is an input, not the verdict.
Test the workload at its natural length too. My 8B long-form failure test showed that a quick answer can hide a length-control failure. A model that wins a short prompt may lose a full draft.
For each candidate, I now want one row with five fields: loaded memory, warm generation speed, cold-load time, verifier result, and failure reason. The default slot goes to the model with the best completed-task result, not the smallest download.
When would I still choose Ternary Bonsai 27B?
I would test it again on a memory-constrained machine or a server that needs several resident models. A 6.66 GiB file leaves much more room than my 17 GB Gemma default. That can matter more than raw speed.
I would also run it as a persistent server. My captured Bonsai load took 68.99 seconds, and other launches from the Windows E: drive took longer. Paying that cost for every request would erase the value of fast generation.
The model earned a place in the sizing data. It did not earn the default drafting job. That is a useful result. A good model test should be allowed to end with "fits, runs, does not replace."
Accompanying prompt
What the prompt does: It turns a local model comparison into a task-based keep, test, or reject decision.
Copy/paste this prompt:
Copy-ready prompt
Paste the exact block into your coding agent.
No article chrome, no footnotes, no formatting drift.
This prompt and every other one we publish live in the free prompt library.
Copy the block above.
I publish measured local model decisions in The 5090 Reports. Join the email list for the next result.
FAQ
How did a 27B model fit in 6.66 GiB?
Ternary weights store negative one, zero, or positive one plus shared scale factors. llama-bench reported 6.66 GiB and 26.90 billion parameters. The file on disk was 7,165,121,600 bytes.
Why did Gemma keep the default slot?
It generated the same factual prompt faster (179.95 vs 123.37 tok/s) and emitted the required FINAL line. Bonsai used the 384-token cap before that line.
When would Ternary Bonsai 27B still win?
On a memory-constrained machine or a server that needs several resident models. A 6.66 GiB file leaves more room than a 17 GB Gemma default.
Get the Local AI Field Kit
Four copy-ready tools now, then one evidence-backed Local AI Lab Note on Friday when there is something worth sharing.
Get the requested artifact now, then at most one evidence-backed Local AI Lab Note on Friday when there is something worth sharing. One-click unsubscribe. No sponsored placements. Privacy.
Patrick Hughes
Building BMD HODL — a one-person AI-operated holding company. Nashville, Tennessee. Twenty-Two agents.
More writing
- 6 min
Your Agent's Audit Trail Cannot Be Retrofitted
Agent logs show activity. They do not prove the outcome an agent claimed. Here is the verification layer I added after an agent reported two false dones.
- 5 min
49W Average Hid a 338W Burst on Gemma 26B
Gemma 4 26B Q4_K_M averaged 49 W on a long RTX 5090 run and peaked at 338 W. Keep both watt numbers before you compute energy per token.
- 5 min
VRAM Fit Is Not Runtime Support
A local model can fit in VRAM, download cleanly, and still fail before the first token. My 5090 test adds runtime support as a separate gate.
- 5 min
Q4km vs Q5km: Q4_K_M vs Q5_K_M
q4km vs q5km is Q4_K_M vs Q5_K_M in GGUF. Pick by VRAM headroom, quality risk, and CPU fallback. Use the free quant tool before download.
- 6 min
My 8B Model Failed a 400-Word Task
Three Llama 3.1 8B runs missed a 400-word floor. Here is the verifier-driven route that moved long-form synthesis to Gemma 4 26B.