new model · 2026.09.20

Bonsai 2 27B: what to check before the 6 GB headline

Run Bonsai 2 27B with an engine matching its compressed format

Bonsai 2 27B is a compressed Qwen3.8-27B-based model that answers questions in text. It reduces file size by representing most weights with three values. Run it in a dedicated llama.cpp or MLX1 runtime2 and add vision components for image understanding.

First choose whether to test a coding question or image understanding, then send a short prompt3 through a runtime supported by the official demo. Even if the 5.95 GB PTQ1_0 language-weight file fits on disk, KV cache4 and runtime workspace are additional. Being able to store a file is not the same as being able to generate answers reliably.

Requirements and key details
  • PTQ1_0 language weights are 5.95 GB and PQ2_0 is 7.21 GB; the vision projector is separate.
  • Use patched llama.cpp or a Bonsai-specific MLX loader, not a generic Q2 loader.
  • Published PQ2_0 decode figures are 129.9 tok/s on RTX 5090, 81.2 on RTX 4090, and 28.1 on M5 Pro.

Distinguish file size from the complete runtime setup

Bonsai 2 27B is based on Qwen3.8-27B and represents most weights as −1, 0, or +1. It uses groups of 128 and Hadamard rotations to reduce bits while aiming to preserve accuracy. The complete model has 27.36B parameters: a 24.35B language backbone, 2.54B embeddings and output head, and a 0.46B vision tower.

The smallest PTQ1_0 language weights are 5.95 GB; the official demo defaults to PQ2_0 at 7.21 GB. The MLX bundle is 8.60 GB including a 0.92 GB vision tower, while the GGUF5 vision projector is a separate file of about 0.63 GB. These are disk sizes of files or bundles, not total runtime memory.

As prompts are processed, KV cache grows to hold context; Apple Silicon also uses unified memory6 for the model buffers and operating system. A model file fitting on the SSD7 of an 8 GB device does not establish that conversations will run reliably. Image tasks also need vision components and a runtime that connects them, beyond the language file.

A workbench arranging many memory modules into three small bins beside a bonsai
Compress the weights and budget separately for KV cache and runtime space.

Start with a short text prompt in the dedicated runtime

Bonsai 2 applies a Hadamard rotation to activations before linear layers. The runtime must handle this transform together with the compressed weights to produce valid output. A Q2 label does not mean the GGUF file can be opened by any Q2 loader.

The official demo installer prepares a patched llama.cpp build with the required support. Standard llama.cpp may reject the file or load it while producing corrupted text. MLX also requires a dedicated loader that understands the Bonsai conversion. Before downloading again or changing GPUs, verify that the checkpoint8 and runtime form a supported pair.

Begin with a short text question and verify that the answer is coherent; only then add a long document or image. Passing the text test first makes later failures easier to diagnose as memory issues, vision setup, or runtime incompatibility.

A dual-fan graphics card on a mat, a laptop, and an external SSD on a wooden workbench.
The runtime must handle compressed weights and the Hadamard transform together.

Separate prompt processing from generation in vendor timings

PrismML publishes separate PQ2_0, batch-1 figures for generating 128 tokens9 and processing a 512-token prompt. Generation tok/s is not time to first token10, so both measurements are needed to understand latency from submitting a prompt through response completion.

These vendor tests exclude the vision tower. Results on a personal setup vary with operating system, concurrent requests, actual prompts, and model configuration. Test a typical short question and long document separately, distinguishing time to first token from completion. For inputs of 4K tokens or more, the speed display shows a broader range.

PrismML vendor measurements for PQ2_0
Device128-token generation (tok/s)512-token prefill (tok/s)
RTX 5090129.93,893
RTX 409081.23,124
RTX PRO 6000 Blackwell124.84,020
Apple M5 Pro28.1387
Published Bonsai 2 27B hardware speeds — PrismML llama.cpp · PQ2_0 · batch 1 · pp512 / tg128
Vendor-published measurements. M5 Pro is one chip-level result, shown once.
A comparison of the same model's response length across a laptop and two GPU desktops
The same PQ2_0 generates at different speeds on M5 Pro, RTX 4090, and RTX 5090.

Validate compression and public averages on your own tasks

PTQ1_0 is 1.75 bits/weight and 5.95 GB; PQ2_0 is 2.13 bits/weight and 7.21 GB. The files differ by 1.26 GB, but a smaller file does not always decode11 faster.

On the published devices, PTQ1_0 generated at a similar or slightly higher rate, but PQ2_0 processed prompts faster on every device tested. Start with PQ2_0 when more than 8 GB of memory is available; compare PTQ1_0 on the same prompts when memory is tight or you need a smaller file.

PrismML reports averages across 14 reasoning evaluations of 84.78 for PQ2_0 Bonsai 2 and 86.32 for FP1612 Qwen3.8-27B, claiming 98.2% by the ratio of average scores. This is a vendor evaluation, not a guarantee of 98.2% quality on every prompt. Compare typical code reviews, bug fixes, or documents under the same conditions and record correctness, omissions, consistency, time to first token, and completion time.

If the official demo's PQ2_0 and patched runtime work on your computer and answer real prompts adequately, keep that setup. If memory is the actual bottleneck, test PTQ1_0 on the same ten questions and compare answer quality with the space saved. Image tasks need a separate check including the vision projector.

Terminology notes

  1. MLX — Apple’s machine-learning framework, which runs models using memory shared by the CPU and GPU on Apple Silicon.

    Back to the text
  2. Runtime — The software environment that provides facilities needed while a program runs. In local AI, it can also refer to a model execution engine.

    Back to the text
  3. Prompt — The input text sent to a model. For generative models it describes the desired result and strongly shapes the output.

    Back to the text
  4. KV cache — Memory that stores attention keys and values from earlier tokens for reuse during later token generation. Its size depends on context length and batch size.

    Back to the text
  5. GGUF — A file format for model data, widely used by llama.cpp-based tools.

    Back to the text
  6. Unified memory — An architecture where the CPU and GPU share one physical memory pool.

    Back to the text
  7. SSD — A data storage device that uses flash memory and retains data without power.

    Back to the text
  8. Checkpoint — A file containing saved model weights and related state. Versions or tasks in one model family may use different checkpoints.

    Back to the text
  9. Token — A unit into which a model divides input or output for processing.

    Back to the text
  10. Time to First Token — The time from sending a request until its first output token arrives.

    Back to the text
  11. Token decoding — The stage that generates successive output tokens using the input and the response produced so far.

    Back to the text
  12. FP16 — A 16-bit floating-point format. It uses the same bit width as BF16 but allocates bits differently between exponent and significand.

    Back to the text

Frequently asked questions

What should you check first in this article?
Bonsai 2 27B is a compressed Qwen3.8-27B-based model that answers questions in text. It reduces file size by representing most weights with three values. Run it in a dedicated llama.cpp or MLX runtime and add vision components for image understanding.
How much memory does it need?
The smallest PTQ1_0 language weights are 5.95 GB; the official demo defaults to PQ2_0 at 7.21 GB. The MLX bundle is 8.60 GB including a 0.92 GB vision tower, while the GGUF vision projector is a separate file of about 0.63 GB. These are disk sizes of files or bundles, not total runtime memory.
Change log

These entries record changes to the site's guidance. They do not automatically check your installed engine or model version.

  1. Added the dedicated Bonsai 2 runtime path and published performance

    The guide now separates Ternary PQ2_0 from ordinary Q2 GGUF and requires a Hadamard-aware runtime. Vendor-published prefill and decode measurements are connected only to matching speed experiences.