SAVRN
Search Contact SAVRN

Open-weight model · Text generation

Ternary-Bonsai-2-27B-Abliterated-PTQ1_0-GGUF

by Josh Bolding BoldingBuilds/Ternary-Bonsai-2-27B-Abliterated-PTQ1_0-GGUF

Refusal-ablated Ternary Bonsai 2 27B, edited directly on the ternary lattice and shipped in PrismML's native PTQ10 pack.

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

Model Card

By Josh Bolding, published under apache-2.0, revision 95ff0409db45.

Refusal-ablated Ternary Bonsai 2 27B, edited directly on the ternary lattice and shipped in PrismML's native PTQ10 pack. - 5,946,648,928 bytes — byte-for-byte the size of the official PTQ10 release - No requantization, no BF16 bake, no runtime steering, no control vector at serve time - Requires the PrismML llama.cpp fork Differs from PrismML's release in exactly 98 tensors and nowhere else. The other 753 tensors are byte-identical, including tokenembd and output. Anyone with both files can check that without trusting us. Paired against the untouched PrismML release: same card, same runtime, same flags, same seed, enablethinking: false on both arms. Judge is Qwen3.8-27B-OBLITERATED-Q80 with…

Read Josh Bolding's full model card

Refusal-ablated Ternary Bonsai 2 27B, edited directly on the ternary lattice and shipped in PrismML's native PTQ1_0 pack.

  • 5,946,648,928 bytes — byte-for-byte the size of the official PTQ1_0 release
  • No requantization, no BF16 bake, no runtime steering, no control vector at serve time
  • Requires the PrismML llama.cpp fork

Differs from PrismML's release in exactly 98 tensors and nowhere else. The other 753 tensors are byte-identical, including token_embd and output. Anyone with both files can check that without trusting us.

Results

Paired against the untouched PrismML release: same card, same runtime, same flags, same seed, enable_thinking: false on both arms. Judge is Qwen3.8-27B-OBLITERATED-Q8_0 with the StrongReject rubric; the prefix grader is reported beside it as a cheap second opinion.

Refusal — SimpleSafetyTests, n=100

stock abliterated
judged refusal 83.0% 1.0%
prefix refusal 78.0% 0.0%
mean rubric score 0.158 0.696
empty completions 0 0
unparsed by judge 0 0

Benign over-refusal — XSTest-safe, n=250 (lower is better)

stock abliterated
over-refusal 1.6% 0.0%
full compliance 242 / 250 250 / 250
partial refusal 4 0
full refusal 4 0

Over-refusal went down, not up. The model answers every harmless prompt in the set, which the stock model does not.

Capability — HumanEval-164, greedy, paired per problem

stock abliterated
pass@1 0.811 (133/164) 0.805 (132/164)
capped at token limit 11.6% 8.5%
median completion tokens 141 113

Per problem: 129 both pass, 28 both fail, 3 gained, 4 lost. McNemar exact two-sided p = 1.000 (discordant n=7) — no detectable capability change.

The empty-completion and unparsed counts are listed deliberately. An empty answer scores as compliance under any prefix grader, so a 0% refusal rate means nothing without them. An earlier run of this same eval produced "0/100 refusal" purely from 82 empty answers, because thinking consumed the token budget before the model reached its reply.

Why this is not a normal abliteration

Standard abliteration projects a refusal direction out of the residual-writing tensors: W ← W − λ·r·(rᵀW). On a ternary checkpoint that does nothing at all.

Bonsai 2's weights take three values per group of 128: {−s, 0, +s}. Projection asks each weight to move about 1.4% of its magnitude while the lattice step is 100%, so repacking rounds every weight straight back. Measured on real writer tensors:

approach refusal component removed ternary digits changed
project, repack at λ=1.0 none 0 of 89,128,960
project, repack at λ=1.3 none 72 of 89,128,960 (0.0001%)
refit per-group scales, digits frozen 1.1% 0
flip digits on the lattice (this model) 99.1–99.3% 0.24%

This is a trap worth naming. A projected-then-repacked model passes a file-size check and a quantizer reproducibility check while containing no abliteration whatsoever. If you build one of these, diff the tensors against the base release. Size is not evidence.

The per-group scales cannot carry the edit either — a scale can only scale, while the correction it must express varies across the 128 weights in its group. That is the 1.1% row.

Method

The quantity to remove is not each weight but the row sum c = rᵀW, one value per column. A single flipped digit moves c by r_i · s · Δ, a whole lattice step — enormous next to the 1.4% nudge projection wanted. So the edit does not need many digits, it needs the right ones: spend them where |r_i| is largest, since those buy the most change in c per unit of damage to W. Greedy, one pass over rows in descending |r_i|, clipped so every digit stays in {−1,0,+1} and every group scale is untouched.

  • Writers only: ffn_down, ssm_out, attn_output — 98 tensors
  • Blocks 15–63. Early blocks deliberately untouched; including them destroys coding. Corroborated three ways: huihui's Qwen3.8 recipe skips 0–14, our own all-blocks arm collapsed to 0.233 answer quality, and Hikari07jp restored L0–7 on Bonsai 1 to recover coding from 16/20 to 19/20.
  • λ = 1.0, top 512 rows per tensor, 0.24% of digits flipped
  • Direction transferred from the Qwen3.8-27B parent, recovered from huihui's released weights by rank-1 decomposition (σ₁/σ₂ ≈ 23)

Cost, stated plainly: |dW|/|W| = 0.071, roughly 5× what a true projection costs on a full-precision model, because a coarse lattice cannot make small corrections. The HumanEval result above is what that cost bought — apparently nothing, which is the interesting part.

Rebuilding this

Default llama-quantize does not reproduce the release — it yields 7.11 GB because output.weight and token_embd.weight land at Q6_K/Q4_K. The released configuration is:

llama-quantize \
  --output-tensor-type PTQ1_0 --token-embedding-type PTQ1_0 \
  --tensor-type ssm_alpha=bf16 --tensor-type ssm_beta=bf16 \
  in-F16.gguf out-PTQ1_0.gguf PTQ1_0 16

The 96 ssm_alpha/ssm_beta tensors cannot be reproduced from the released F16 at all: the PTQ1_0 release stores them BF16 (7 mantissa bits) while the F16 file holds 10, so packing truncates them ~0.4%. They are spliced verbatim from the base release here.

Usage

git clone https://github.com/PrismML-Eng/llama.cpp
cmake -B build -DGGML_CUDA=ON && cmake --build build -j

./build/bin/llama-server \
  -m Ternary-Bonsai-2-27B-Abliterated-PTQ1_0.gguf \
  -ngl 99 -c 8192 --flash-attn on --jinja

Benchmarks above were run with --chat-template-kwargs '{"enable_thinking": false}'. With thinking enabled, budget generously: this model reasons ~25% longer than stock, and a 256 token cap leaves most answers empty.

Limitations

  • Abliteration is a behavioural change, not a safety property. This model will produce unsafe content if asked, including in categories stock refuses outright. Use under your own policy and applicable law.
  • Requires the PrismML fork; stock llama.cpp cannot load PTQ1_0.
  • The direction is transferred from the Qwen3.8 parent, not fitted on Bonsai 2 itself. A natively fitted direction may do better and has not been tried.
  • Same-condition lab measurement, not a leaderboard reproduction. Single greedy sample per problem; at n=164 the resolution floor is ~6.5 points.
  • Vision mmproj not included (text only).

Prior art and attribution

  • Base weights and format: prism-ml/Ternary-Bonsai-2-27B-gguf (Apache-2.0)
  • Hikari07jp/Ternary-Bonsai-27B-Abliterated-LowDeg-GGUF did this first, on Bonsai 1, with the same family of method (direct ternary code edit on writers). Their early-block rollback is the degradation fix and is prior art for the block choice here. This release is Bonsai 2 and adds the measured mechanism: why projection fails on ternary weights, and what the lattice costs.
  • Architecture lineage: Qwen3.5 / Qwen3.8-27B hybrid attention

License

Apache-2.0, same as the base release.

Identity and Version

Repository
BoldingBuilds/Ternary-Bonsai-2-27B-Abliterated-PTQ1_0-GGUF
Publisher
Josh Bolding
Task
Text generation
Modality
Text
Library
Not stated by the source
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
95ff0409db450bcd705d1d0c6d8aaeffd58de6cd
First published
2026-09-18
Last updated
2026-09-18

Files and Weights

3 files, 5.9 GB in total. The weights are 1 file totalling 5.9 GB in gguf.

Weights1 file · 5.9 GB
Documentation1 file · 7.9 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
Ternary-Bonsai-2-27B-Abliterated-PTQ1_0.ggufWeights5.9 GB 94dd53cbad55
README.mdDocumentation7.9 KB
.gitattributesRepository1.6 KB

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
5.9 GB
Download from Josh Bolding

Released by Josh Bolding through its official repository on Hugging Face. Read the license.

Built From

  • Derived from prism-ml/Ternary-Bonsai-2-27B-gguf
  • Quantized from prism-ml/Ternary-Bonsai-2-27B-gguf

Memory Requirements

PrecisionWeights in memory
As published5.9 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Ternary-Bonsai-2-27B-Abliterated-PTQ1_0-GGUF

Can I use Ternary-Bonsai-2-27B-Abliterated-PTQ1_0-GGUF commercially?

Yes. Ternary-Bonsai-2-27B-Abliterated-PTQ1_0-GGUF 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

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp