Ternary weights
Storing each weight as one of three states (minus, zero, plus) with a scale factor supplying magnitude. The extreme end of the footprint axis: roughly one eighth the bytes of fp16, which is what puts an 8B-class model in a 2.56 GB download neutrino-1.
The page exists because ternary does not fit inside quantization as this wiki had it framed.
The third category
quantization splits low precision into PTQ (quantize a trained model afterwards) and QAT (train with fake-quantization ops so the model tolerates the target precision). Both begin from a higher-precision model and end lower. Native ternary training begins and ends in the same place:
“There is no full-precision product model that was rounded afterward: the ternary representation is the medium the weights learned in.” — neutrino-1
Fermion’s stated contrast is stark: rounding a trained model to the same depth “lands near chance.” If that holds, ternary at this quality is not a compression result at all — it is a training result, and the footprint is a property of the model rather than a treatment applied to it. This wiki cannot check the claim; the method is unpublished.
What the states look like in a shipped model
The one measured distribution the wiki holds, over all 6.95 billion ternary projection weights in neutrino-1‘s 8B:
- 62.6% exactly zero, 18.7% positive, 18.7% negative, with the two signs balanced to within 0.02 percentage points and nothing in training enforcing the symmetry.
- Zero is a stored state, not a rounding outcome. That is the difference between ternary and a 2-bit quantization that happens to land on zero sometimes.
- Density is not uniform with depth: attention holds a flat code density across all 36 layers within about a point, while the earliest feed-forward blocks silence hardest (down projection 72.5% zeros at layer 2, gate 70.5% at layer 3, roughly ten points above baseline).
Not everything goes ternary. In that model the embedding tables stay int8 with per-row scales (622 MB each, 1.24 GB total, about a third of the file) on the argument that a single embedding row carries a whole token’s identity, and normalization vectors stay full precision. So “a ternary model” in practice means a ternary projection lane plus higher-precision vocabulary.
Sparsity also pays twice: the ternary lane compresses losslessly to ~55% of raw bytes, and the layers that silence hardest code tightest (0.516 for layers 1–3 against ~0.550 typical).
The models
Ternary is a small field and the wiki now has three names for it, all from neutrino-1‘s own comparison:
- BitNet b1.58-2B4T — Microsoft’s public ternary weights, and the only externally-anchored
reference point in the corpus: Fermion’s engine runs those weights at 102.4 tok/s on an Apple M5
against 89.0 from the reference
bitnet.cppon the same machine. - Ternary-Bonsai-8B — 2.18 GB, also trained in ternary; scores below Neutrino-1 on MMLU (65.75 vs 72.1) and above it on IFEval (83.65 vs 77.2).
- Neutrino-1 8B — 2.56 GB, MMLU 72.1.
Neither BitNet nor Ternary-Bonsai has its own page here yet; both are known only through a competitor’s table, which is the weakest way to know anything.
Why it is a market lever, not a curiosity
Footprint decides where a model can run, and this wiki has tracked that as a competitive axis since gemma-4-qat put a sub-gigabyte model on a phone. Ternary pushes it further: an 8B in 3.88 GB fits a 16 GB laptop alongside its own KV cache, which the 16 GB fp16 alternatives in the same class do not. The trade in the one worked example is context: 40,960 tokens against 131,072 for the fp16 rivals, plus capability parity resting entirely on first-party benchmarks.
Boundary (cross-wiki)
Footprint as a deployability and market lever is this page. The execution side (packed-weight
kernels, dequantization, memory-bandwidth ceilings on decode) belongs to ../llm-inference-wiki
(llm-inference), the same split quantization already draws.
Related
neutrino-1 · quantization · fermion-research · open-weight-models · gemma-4-qat · llm-inference · synthesis