Views
No views yet
llama.cppllama.cpp. Use our fork at PrismML-Eng/llama.cpp (prism branch, default) which adds Q2_0 support for CPU (NEON/generic) and Metal. Upstream PR coming soon.| Item | Specification |
|---|---|
| Base model | Qwen3-4B |
| Parameters | 4.0B (~3.6B non-embedding) |
| Architecture | GQA (32 query / 8 KV heads), SwiGLU MLP, RoPE, RMSNorm |
| Layers | 36 Transformer decoder blocks |
| Context length | 32,768 tokens |
| Vocab size | 151,936 |
| Weight format | GGUF Q2_0 g128: {-1, 0, +1} with FP16 group-wise scaling |
| Packed Q2_0 size | 1,020 MiB (1.07 GB) |
| Ternary coverage | Embeddings, attention projections, MLP projections, LM head |
| License | Apache 2.0 |
w_i = scale_g * t_i, t_i in {-1, 0, +1}q in {0, 1, 2, 3}, dequantized via w = (q - 1) * scale. One 128-element block is 34 bytes (2 bytes FP16 scale + 32 bytes of packed 2-bit codes) for an effective 2.125 bits/weight. The fourth code point (q = 3, reconstructing to +2 * scale) is reserved for future extensions; for ternary weights it is unused.| Format | Size | Reduction | Ratio |
|---|---|---|---|
| FP16 | 8.04 GB | -- | 1.0x |
| GGUF Q2_0 g128 | 1,020 MiB (1.07 GB) | 86.3% | 7.3x |
| File | Format | Size | Recommended |
|---|---|---|---|
Ternary-Bonsai-4B-F16.gguf | FP16 | 8.04 GB | baseline / re-quantization source |
Ternary-Bonsai-4B-Q2_0.gguf | Q2_0 (g128) | 1,020 MB | recommended (lossless for ternary) |
1git clone https://github.com/PrismML-Eng/llama.cpp
2cd llama.cpp
3cmake -B build -DGGML_METAL=ON # or -DGGML_CUDA=ON, -DGGML_VULKAN=ON
4cmake --build build -jllama.cpp CLI1./build/bin/llama-cli \
2 -m Ternary-Bonsai-4B-Q2_0.gguf \
3 -p "Explain quantum computing in simple terms." \
4 -n 256llama.cpp server./build/bin/llama-server -m Ternary-Bonsai-4B-Q2_0.gguf -c 4096| Backend | PP512 (tok/s) | TG128 (tok/s) |
|---|---|---|
| Metal (GPU) | 826 | 120 |
| NEON CPU (10 t) | 226 | 56 |
-ngl 99 -fa 1 for Metal; -ngl 0 -fa 1 -t 10 for CPU.| Model | Size | Avg | MMLU-R | MuSR | IFEval | GSM8K | HE+ | BFCLv3 |
|---|---|---|---|---|---|---|---|---|
| Ternary Bonsai 4B | 1.02 GB | 70.7 | 69.7 | 45.1 | 72.1 | 90.5 | 78.7 | 67.8 |
| 1-bit Bonsai 4B (prior) | 0.57 GB | 62.7 | 58.7 | 41.4 | 69.6 | 87.3 | 71.3 | 48.0 |
| Qwen 3 4B | 8.04 GB | 77.1 | 79.8 | 57.4 | 80.0 | 92.1 | 74.4 | 78.9 |
| Ministral3 3B | 6.86 GB | 73.2 | 77.5 | 56.5 | 73.1 | 91.4 | 69.5 | 71.3 |
| Gemma 3 4B | 7.76 GB | 67.9 | 66.0 | 46.3 | 73.0 | 89.8 | 67.1 | 65.1 |
| Llama 3.2 3B | 6.43 GB | 64.4 | 65.5 | 48.9 | 78.3 | 80.1 | 52.4 | 60.9 |
density = -ln(1 - score/100) / size_GB| Model | Size | Intelligence Density (1/GB) |
|---|---|---|
| Ternary Bonsai 4B | 1.02 GB | 1.202 |
| 1-bit Bonsai 4B (prior) | 0.57 GB | 1.744 |
| Ministral3 3B | 6.86 GB | 0.192 |
| Qwen 3 4B | 8.04 GB | 0.183 |
| Llama 3.2 3B | 6.43 GB | 0.161 |
| Gemma 3 4B | 7.76 GB | 0.146 |
1@techreport{ternarybonsai,
2 title = {Ternary Bonsai: 1.58-bit Language Models at 8B, 4B, and 1.7B Scale},
3 author = {Prism ML},
4 year = {2026},
5 month = {April},
6 url = {https://prismml.com}
7}