SAVRN
Search Contact SAVRN

Open-weight model · Text generation

Bonsai-2-27B-q27

by Gabe Ortiz signalnine/Bonsai-2-27B-q27

Bonsai-2-27B-q27 is an open-weight model for text generation from Gabe Ortiz, released under Apache License 2.0. Its published files total 31.9 GB.

repacked for the q27 engine. It is Qwen3.8-27B with every projection ternary (one fp16 scale per 128 weights) in a Hadamard-rotated basis, and no MTP block.

Parameters
Context
Weights31.9 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads

Model Card

By Gabe Ortiz, published under apache-2.0, revision 17ee2963f50e.

repacked for the q27 engine. It is Qwen3.8-27B with every projection ternary (one fp16 scale per 128 weights) in a Hadamard-rotated basis, and no MTP block. This pack is an exact re-encoding of the PTQ10 GGUF, not a requantization: every trit is stored as-is in q27's 2-bit T2G128 container, the embedding and the head as int8 (also exact), and the rotation metadata is carried verbatim so the engine rotates activations itself. Needs q27 v0.12.0 or later (the MTP pack: v0.13.0) (docs/plans/2026-09-18-bonsai2-ternary.md in the repo has the design). The pack has no MTP head, so DFlash2 is the only speculative path. The Qwen3.8 drafter packs in work against this target as-is (3.47 tokens per…

Read Gabe Ortiz's full model card

Ternary Bonsai 2 27B -- q27 pack

PrismML's Ternary Bonsai 2 27B repacked for the q27 engine. It is Qwen3.8-27B with every projection ternary (one fp16 scale per 128 weights) in a Hadamard-rotated basis, and no MTP block. This pack is an exact re-encoding of the PTQ1_0 GGUF, not a requantization: every trit is stored as-is in q27's 2-bit T2_G128 container, the embedding and the head as int8 (also exact), and the rotation metadata is carried verbatim so the engine rotates activations itself.

file GB what
bonsai2-27b-t2.q27 9.44 the model (T2 body, Q8 embed/head, Hadamard signs) -- single-slot serving
bonsai2-27b-t2-mtp.q27 9.87 the same plus an MTP head as blk.64 (below) -- multi-slot serving, needs q27 v0.13.0
qwen38-27b-mtp.tok 0.0002 the Qwen3.8 tokenizer, byte-identical to the one in the Qwen3.8 repo

Needs q27 v0.12.0 or later (the MTP pack: v0.13.0) (docs/plans/2026-09-18-bonsai2-ternary.md in the repo has the design). The pack has no MTP head, so DFlash2 is the only speculative path. The Qwen3.8 drafter packs in signalnine/Qwen3.8-27B-MTP-q27 work against this target as-is (3.47 tokens per round on Claude Code traffic); a drafter trained on the ternary target does better -- ProCreations' Ternary-Bonsai-2-27B-DFlash2 (independent, Apache-2.0) packs unchanged with python3 tools/dflash2_pack.py <its dir> bonsai2-dflash2-q8-serve.d2w --q8 and gives 3.80 tokens per round, 227.7 t/s aggregate on the same run.

The MTP pack (multi-slot)

bonsai2-27b-t2-mtp.q27 is the pure pack plus ProCreations' Ternary-Bonsai-2-27B-MTP head (independent work, Apache-2.0, not a PrismML release): the Qwen3.8 MTP block distilled onto Bonsai's hidden states, stored here as the pack's blk.64 (Q8 matmuls, F32 norms, kept unrotated -- the engine rotates nothing on that layer). Every other tensor is byte-identical to the pure pack. With it the engine runs its ordinary speculative ladder against the ternary target, which is what makes fused multi-slot rounds pay: on a 5090 at 8 slots / 16K, C = 1 / 2 / 4 / 8 concurrent streams decode at 173 / 231 / 384 / 512 t/s aggregate (the draftless pure pack: 105 / 150 / 200 / 329; the Qwen3.8 q4s tier: 141 / 230 / 352 / 531). Serve it with --slots 8 --ctx 16384 and Q27_BATCH=1, no DFlash2 pack. For one slot the DFlash2 route below is faster (227.7 vs 178.8 t/s on Claude Code traffic), so this pack is the multi-slot choice, not the default. The ladder reproduces plain decode byte for byte over 1500 CLI tokens; load digest wsum: 0f85b21f8721e39c. Rebuild from the two upstream checkpoints: python3 tools/repack.py Ternary-Bonsai-2-27B-PTQ1_0.gguf out.q27 --mtp-safetensors model_mtp.safetensors.

How faithful the port is

Bit-exact containers make this checkable against the reference fork on the same GGUF:

  • teacher-forced logits vs the fork over 383 positions: top-1 agreement 0.9974, NLL 2.0792 vs 2.0796
  • wikitext-2 perplexity at 2048: q27 8.2767 vs llama-perplexity 8.2643 (q27 runs fp8 KV and int8 activations, which is the 0.15%)
  • the 2-bit prefill GEMM is bitwise the int8 tensor-core GEMM on an exact Q4 image of the same matrices, and the full-corpus NLL is identical to six digits through both paths

What the checkpoint measures like

Same instruments as the Qwen3.8 tier table, so read these side by side:

Bonsai 2 (this pack) Qwen3.8-27B q27 default tier
GB 9.44 17.00
wikitext PPL (chunk 512, fp8 KV) 9.2508 7.3121
HumanEval+ (30, no-think) 25/30 30/30
needle 6/6 at ~90K 6/6 at ~120K
RTX 5090 decode, DFlash2 K=7 233 t/s (700-token prompt), 346 (short) ~220
free VRAM after weights, 32 GB card 23.2 GB (auto ctx 262K) ~15 GB

On a 12-instance Claude Code SWE-bench run it lands the same patches as the Qwen3.8 tiers (gold 11/12, identical miss) at 205 vs 222 t/s aggregate, but it reasons about twice as long per instance -- 37 vs 22 API turns, 75K vs 35K thinking characters -- so wall time is 2.3x. It is a different checkpoint, not a smaller tier of the model above; pick it for the 9 GB footprint and the context that buys, not for quality.

Serving

hf download signalnine/Bonsai-2-27B-q27 --local-dir models/bonsai2
hf download signalnine/Qwen3.8-27B-MTP-q27 qwen38-dflash2-q8-serve.d2w --local-dir models/qwen38
(cd models/bonsai2 && md5sum -c CHECKSUMS.md5)

Q27_KV=fp8 Q27_BATCH=0 Q27_DFLASH2=models/qwen38/qwen38-dflash2-q8-serve.d2w Q27_DFLASH2_RESERVE_GB=3 \
  ./build/q27-server models/bonsai2/bonsai2-27b-t2.q27 models/bonsai2/qwen38-27b-mtp.tok \
  --think --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.05 --think-budget 0

That is the Qwen3.8 agentic recipe; the engine detects the pack, turns the activation rotation on and the MTP ladder off, and selects the 3.8 XML tool dialect from the name. Weight digest on load (Q27_PRINT_WSUM=1): wsum: 9161ec16da4b66a1. To rebuild the pack from the upstream GGUF: python3 tools/repack.py Ternary-Bonsai-2-27B-PTQ1_0.gguf bonsai2-27b-t2.q27 (about three minutes, numpy only; the converter verifies every ternary slot).

Upstream checkpoint and license: Apache-2.0, PrismML (prism-ml/Ternary-Bonsai-2-27B-gguf, Ternary-Bonsai-2-27B-PTQ1_0.gguf). The MTP head in bonsai2-27b-t2-mtp.q27 is ProCreations' work (ProCreations/Ternary-Bonsai-2-27B-MTP, model_mtp.safetensors, Apache-2.0).

Identity and Version

Repository
signalnine/Bonsai-2-27B-q27
Publisher
Gabe Ortiz
Task
Text generation
Modality
Text
Library
Not stated by the source
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
17ee2963f50e85903326adcbe7feba4f72c6ff23
First published
2026-09-18
Last updated
2026-09-21

Files and Weights

8 files, 31.9 GB in total.

Documentation1 file · 6.0 KB
Other6 files · 31.9 GB
Repository1 file · 1.8 KB
Every file
FileTypeSizeSHA-256
README.mdDocumentation6.0 KB
CHECKSUMS.md5Other283 B
bonsai2-27b-t2-mtp.q27Other9.9 GB fdc7deeda1cf
bonsai2-27b-t2.q27Other9.4 GB 9b6d1ca3f976
bonsai2-27b-t3-mtp-slim.q27Other6.5 GB 628e6eae0e7f
bonsai2-27b-t3-slim.q27Other6.1 GB e548b5208c69
qwen38-27b-mtp.tokOther7.2 MB f8adac200166
.gitattributesRepository1.8 KB

License and Download

License
apache-2.0
Access
Open weights, no gate
Download from Gabe Ortiz

Released by Gabe Ortiz through its official repository on Hugging Face. Read the license.

Built From

Questions About Bonsai-2-27B-q27

Can I use Bonsai-2-27B-q27 commercially?

Yes. Bonsai-2-27B-q27 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Fine-tune Qwen3 (14B) for free using our Google Colab notebook! - Read our Blog about Qwen3 support: unsloth.ai/blog/qwen3 - View the rest of our notebooks in our docs here. Qwen3-Coder is available in multiple sizes. Today, we're excited to introduce Qwen3-Coder-30B-A3B-Instruct. This streamlined model maintains impressive performance and efficiency, featuring the following key enhancements: - Significant Performance among open models on Agentic Coding, Agentic Browser-Use, and other foundational coding tasks. - Long-context Capabilities with native support for 256K tokens, extendable up to 1M tokens using Yarn, optimized for repository-scale understanding. - Agentic Coding supporting for…

Open weights apache-2.0 transformers

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers

Model · Text generation

Ternary-Bonsai-2-27B-gguf

Prism ML

Full 27B-class reasoning in ternary transformer weights, for llama.cpp (CUDA, Metal, CPU) - \~5.9 GB language model (down from \~54 GB FP16) — full 27B-class reasoning on a standard laptop or a single GPU - 98.2% of FP16 intelligence retained: 84.78 average across 14 thinking-mode benchmarks — far above the conventional IQ2XXS build (72.59) at less than two-thirds of its footprint, and within 0.4 points of UD-Q4KXL at three times the footprint - Retains thinking, reasoning, and agentic behavior deep in the sub-4-bit regime, where conventional low-bit representations collapse: math within half a point of full precision (96.57), coding level with the baseline (89.42), agentic tool calling at…

Open weights apache-2.0 llama.cpp