AI Models

1-Bit LLMs Are Not Just Quantization: Why Ternary Models Matter

Why 1-bit and ternary LLMs may reshape local AI, and why tiny weights do not mean one-quarter the inference cost of a Q4 model.

Approximately 14 min read

For years, “1-bit LLM” sounded like one of those ideas that was technically fascinating but always a generation away from becoming useful for normal local-AI users.

Microsoft’s BitNet work changed that perception. BitNet b1.58 2B4T showed that a language model could be trained around ternary weights — effectively three states, {-1, 0, +1} — instead of conventional FP16 or BF16 weights. The open 2B model was trained on four trillion tokens and uses roughly 1.58-bit ternary weights with 8-bit activations.

But 2026 is starting to look different from the original BitNet story.

The local-AI ecosystem now has a growing group of sub-2-bit and ternary projects, including Maple-Preview 20B-A1B, Mach-1 Additive 35B-A3B, Neutrino-8B, Pestle-27B-Ternary, Bonsai variants, and active ternary-kernel work in the llama.cpp ecosystem.

That does not mean Q4 GGUF is about to disappear.

It does mean the interesting question has changed.

The question is no longer:

Can an LLM technically store weights below two bits?

We already know it can.

The better question is:

Can sub-2-bit models become a distinct hardware and inference class for local AI?

The answer is starting to look like maybe.

To understand why, it helps to separate several technologies that are often collapsed into one word: quantization.

Four very different roads to fewer bits

When someone says a model is “2-bit” or “1.58-bit,” the label does not tell you how the model got there.

A useful mental model is:

FP16 / BF16 model
        │
        ├── conventional post-training quantization
        │       ↓
        │   Q8 / Q6 / Q5 / Q4 GGUF
        │
        ├── aggressive sub-2-bit PTQ / additive compression
        │       ↓
        │   ~2-bit or ~1.7-bit representations
        │
        ├── quantization-aware training / recovery training
        │       ↓
        │   ternary or other low-bit derivatives
        │
        └── native low-bit training
                ↓
            BitNet-style model

These paths can produce similarly small model artifacts.

They are not the same thing.

That is why the headline “1-bit LLMs are not quantization” is too simplistic. Some of today’s 1-bit and ternary models are products of post-training compression or QAT. Others, such as BitNet, are designed around low-bit arithmetic from the beginning.

The more accurate statement is:

1-bit LLMs are not just conventional quantization.

Q4 GGUF: compress a model after it has already learned

Most local-LLM users already know conventional post-training quantization.

Start with a higher-precision model:

FP16 / BF16
    ↓
Q8
    ↓
Q6
    ↓
Q5
    ↓
Q4

The model was trained assuming relatively high-precision weights. Quantization happens later so that the trained network can be stored and executed with fewer bits.

A Q4 GGUF representation typically stores compact weight blocks along with scales and other metadata, and the runtime uses optimized kernels to operate on those representations efficiently.

This has been remarkably successful for local AI.

Q4 is popular because it often preserves useful model behavior while reducing weight memory enough to make models practical on consumer hardware.

For a broader explanation of how this trade-off works, see What Is LLM Quantization? and GGUF Quantization Levels Explained.

But as the bit rate falls below the familiar Q4 range, the problem becomes much harder.

Sub-2-bit PTQ: compression becomes a different problem

Going from 16 bits to 4 bits is difficult.

Going from 4 bits toward 2 bits or below is even less forgiving.

At these rates, independently rounding each weight into a tiny set of values can destroy too much information. More aggressive systems may use techniques such as:

Syzygy Research’s Mach-1 Additive 35B is one example of this direction. It is derived from a larger high-precision model and uses a specialized compressed representation rather than following the same path as a native BitNet model.

That distinction is important.

A model can be extremely low-bit without being born low-bit.

QAT: teach the model to survive the low-bit world

Quantization-aware training changes the problem again.

Instead of saying:

Here is a trained FP16 model. Now make it tiny.

QAT lets the optimization process experience the low-precision constraint during training or recovery training.

That gives the model an opportunity to adapt its parameters to the representation it will actually use at inference time.

Fermion Research’s Neutrino-8B is a useful example. It is based on Qwen3-8B and uses ternary QAT plus staged post-training. Its transformer linears are stored in a sub-2-bit packed representation instead of simply being distributed as a conventional Q2 GGUF.

Pestle-27B-Ternary is another hybrid example. It is derived from Qwen3.6-27B and combines low-bit representation with additional training aimed at medical workloads.

These models sit somewhere between ordinary PTQ and a fully native low-bit architecture.

Native ternary: the model was designed around the constraint

BitNet is conceptually cleaner.

Microsoft’s BitNet b1.58 2B4T was trained from scratch around a low-bit architecture.

Its ternary weights are constrained to:

-1
 0
+1

while activations use 8-bit quantization. Microsoft describes the model as W1.58A8.

The “1.58” number comes from the information required to encode three states:

log2(3) ≈ 1.585 bits

The important point is not the decimal.

The important point is that low precision is no longer merely a deployment optimization applied after training. It becomes part of the model’s numerical design.

That potentially changes everything from training recipes to memory layouts, kernels, and eventually hardware instructions.

Why 2026 suddenly feels different

One BitNet model is a research result.

Multiple independent model families plus runtime work starts to look like an ecosystem.

The recent LocalLLaMA tracking discussion highlights exactly that shift. It collects ongoing work around Bonsai, Maple-Preview, Mach-1 Additive, Neutrino, Pestle, BitNet-derived efforts, and llama.cpp support.

The models are also getting larger and more varied.

DeepGrove’s Maple-Preview is a 20B-total, roughly 1B-active MoE reasoning model built around ternary weights and on-device efficiency.

Mach-1 Additive is a 35B-A3B model that combines sparse MoE execution with an aggressively compressed weight representation.

Neutrino brings ternary-QAT ideas to an 8B Qwen-derived model.

Pestle applies a ternary/hybrid approach to a 27B medical model.

Those projects use different methods, different runtimes, and different trade-offs. That fragmentation is a weakness today, but it is also evidence that low-bit inference is becoming a design space rather than a single paper.

A 1-bit model is not one quarter the cost of Q4

This is probably the most important misconception to clear up.

Suppose we compare:

4-bit weights
vs.
1-bit weights

It is tempting to conclude:

1-bit model = 1/4 the memory
             = 4× faster
             = 1/4 the hardware

That does not follow.

Weights are only one part of inference.

A more useful model is:

Inference cost
=
weights
+ KV cache
+ activations
+ embeddings
+ output head
+ scales and metadata
+ temporary buffers
+ runtime overhead
+ memory alignment
+ kernel efficiency

Reducing the first term does not reduce every other term by the same factor.

This is the same reason model file size is not the same thing as total VRAM requirement. Our VRAM sizing guide goes deeper into that distinction.

Neutrino shows the problem clearly

Neutrino-8B publishes a detailed description of its packed representation.

The important lesson is not one exact byte count. It is the shape of the memory budget.

Its packed low-bit transformer linears occupy only part of the total container. Embedding lanes and other tensors still consume substantial storage, and the runtime still needs memory for inference state.

Then the KV cache enters the picture.

At long context, KV-cache memory can grow large enough to rival or exceed the compressed weight lane.

That gives us a concise rule:

1.58-bit weights do not imply 1.58-bit inference.

Context length does not become nearly free

Extreme weight compression helps static model memory enormously.

But autoregressive attention still needs state for previous tokens.

For many transformer architectures, KV-cache memory grows with factors such as:

If the cache remains FP16, BF16, FP8, or another moderately compressed format, long context can consume gigabytes independently of how tiny the weight representation becomes.

This matters because a small model file can create a misleading expectation.

A model might fit comfortably at 4K context while becoming cache-limited at 32K or 128K.

For the mechanics behind this, see What Is KV Cache? and What Does Context Length Mean?.

Weight compression and context compression are separate problems.

Activations are another reason “1-bit” is misleading

Even native BitNet does not mean every number moving through the network is one bit.

BitNet b1.58 2B4T is described as:

W1.58A8

That means approximately 1.58-bit ternary weights and 8-bit activations.

Other systems may keep embeddings, routers, normalization parameters, output heads, or selected blocks at higher precision.

So the advertised weight precision is not the precision of the entire inference graph.

That distinction matters for both memory and compute.

Packing matters because computers do not have 1.585-bit registers

Three states are mathematically elegant and computationally awkward.

The information density of a ternary value is:

log2(3) ≈ 1.585 bits

But CPUs and GPUs work with practical storage units and vector instructions, not 1.585-bit registers.

The values therefore need to be packed.

llama.cpp’s ternary formats show the trade-off clearly.

TQ1_0 uses base-3 packing and reaches roughly 1.69 bits per weight.

TQ2_0 uses simpler 2-bit packing and lands around 2.06 bits per weight.

The second format wastes one of the four possible 2-bit codes because ternary weights need only three states.

Why tolerate that waste?

Because simpler packing can make extraction and dot-product kernels easier to implement efficiently.

This creates a recurring low-bit trade-off:

densest possible storage
        vs.
fastest practical execution

The smallest model file is not automatically the fastest model.

Kernels may matter more than the advertised bit count

This is where the llama.cpp work becomes especially interesting.

The project has support and discussion around ternary formats such as TQ1_0 and TQ2_0, while newer experiments explore more structured ternary layouts and architecture-specific kernels.

That matters because a packed ternary representation is only useful if the runtime can operate on it efficiently.

If an inference engine has to expand the weights into a much wider representation before every matrix multiplication, much of the theoretical advantage disappears.

Low-bit performance therefore becomes a software-and-hardware co-design problem.

The model format alone cannot deliver the win.

Why ternary arithmetic is attractive

For an ordinary floating-point weight, a matrix operation conceptually contains terms like:

output += activation × weight

If a weight can only be:

-1
 0
+1

then the conceptual operation becomes:

-1 → subtract activation
 0 → do nothing
+1 → add activation

That sounds dramatically simpler.

But the word conceptual is doing important work here.

Real hardware still needs to unpack values, load scales, move data through caches, schedule vector instructions, process activations, and combine results.

The potential is real, but the runtime has to expose it.

Zero weights could become useful too

Ternary models have something purely binary models do not:

0

If training produces useful structured sparsity, zero-valued blocks can potentially reduce both storage and work.

The interesting future may therefore combine two effects:

fewer bits per weight
+
fewer useful non-zero operations

That starts to look less like ordinary model compression and more like a different computational substrate.

Why today’s GPUs do not automatically dominate this workload

Modern GPUs are extraordinarily optimized for standard matrix multiplication.

FP16, BF16, FP8, INT8 and other common formats map onto mature tensor-core and vector paths.

Ternary arithmetic is different.

A theoretical ternary network does not automatically hit peak GPU throughput simply because its weights are tiny.

The software needs a representation and kernel that the hardware can execute efficiently.

That is why current low-bit projects often rely on:

custom llama.cpp forks
custom CUDA kernels
custom MLX runtimes
custom packed formats

instead of simply loading into every mainstream inference engine.

Maple-Preview is a good example of both promise and immaturity. Its model card reports a 20B-A1B design with a very small active parameter set and strong on-device speed claims, but the broader ecosystem is still catching up with the architecture and optimized local runtimes.

Why MoE plus ternary may be more important than ternary alone

Maple-Preview and Mach-1 point toward a more interesting direction than simply shrinking a dense model.

Ternary weights attack storage and memory bandwidth.

Mixture-of-Experts attacks active compute per token.

Combined, the model can look like:

large stored parameter set
+
small active expert subset
+
low-bit weight representation

That is potentially much more powerful than saying:

We made a dense 27B model smaller.

The important local-AI question could eventually shift from:

How many parameters fit in my GPU?

into:

How much capability can I store locally, and how little of it needs to be active for each token?

That is a deeper hardware question.

Do current ternary models retain quality?

This is the largest unresolved issue.

Developers of current low-bit models publish strong retention numbers and benchmark results.

Those results are useful, but they are not the same thing as independent validation.

Community testing on LocalLLaMA has been mixed. Some users report surprisingly strong results, useful reasoning, and dramatically improved memory footprints. Others report weaker coding, hallucination, loops, or lower reliability compared with conventional higher-bit models.

That disagreement is valuable.

It suggests the field has moved beyond the trivial milestone of “does it generate coherent text?”

The harder question is now:

Does extreme compression preserve the capabilities people actually care about?

For local AI, those increasingly include:

tool use
coding
long-horizon agents
structured output
retrieval
long context
instruction following

A model can retain a high average benchmark score while becoming noticeably worse at one of those workflows.

“Fits in 8 GB” is impressive but not enough

The headline advantage of some current ternary models is extraordinary.

A model with tens of billions of parameters can have a weight footprint that would have sounded unrealistic for consumer hardware only a year or two ago.

That matters.

But local users should avoid replacing one misleading metric with another.

Parameter count alone was never a perfect measure of capability.

Compressed parameter count is even less informative.

A 27B ternary model that fits in 8 GB is interesting because it changes what can physically run on the machine.

Whether it is better than a strong 9B, 14B, or 20B conventional quant is an empirical question.

The answer can depend on the task.

What would prove that ternary LLMs have really arrived?

Five things would make the case much stronger.

1. Independent real-world evaluation

We need strong results outside vendor-selected benchmarks, especially on coding, tool use, agentic tasks, long-context retrieval, and structured generation.

2. Mainline runtime support

Users should not need a different inference fork for every low-bit model family.

A mature ecosystem needs stable support in runtimes people already use.

3. Mature CPU and GPU kernels

CUDA, Metal, Vulkan, ARM and x86 all need optimized implementations that operate directly on the compact representation.

4. Long-context efficiency

Weight compression becomes less transformational if KV-cache memory dominates real workloads.

5. Reproducible quality at scale

One 2B BitNet model proves feasibility. A broader generation of 20B–70B low-bit models with independently reproducible capability would prove that the approach scales.

So are 1-bit LLMs finally here?

In one sense, yes.

The ecosystem now contains multiple independent model families, multiple routes to low precision, larger models, MoE designs, domain-specific ternary models, and active kernel work.

That is more than a single research demonstration.

But in another sense, no.

There is not yet a universal ternary equivalent of downloading a Q4_K_M GGUF and expecting it to work well across mainstream local runtimes.

Quality varies.

Runtime support is fragmented.

Long-context memory still matters.

Activations are not one bit.

KV cache is not free.

Current GPUs were not designed around ternary matrix multiplication.

The safest conclusion is therefore neither hype nor dismissal.

Ternary LLMs are becoming technically real before they have become operationally boring.

That is usually the stage where a technology becomes worth watching closely.

The real opportunity is bigger than smaller model files

The easiest way to misunderstand this trend is to see it as:

Q4
but smaller

The bigger possibility is a complete stack built around low-bit computation:

training
↓
weight representation
↓
sparsity
↓
memory layout
↓
kernels
↓
CPU / GPU instructions
↓
local inference hardware

BitNet demonstrates what happens when the numerical constraint begins during training.

QAT systems show how existing architectures can adapt to severe low-bit constraints.

Aggressive additive compression shows how far post-training representations can be pushed.

Maple and Mach-1 suggest that low-bit weights can be combined with sparse MoE architectures.

And llama.cpp’s ternary formats show that inference software is beginning to treat these representations as something more than an awkward edge case.

That is why 1-bit and ternary LLMs matter.

The breakthrough may not be that a 27B model can fit on a phone.

The breakthrough would be if future CPUs, GPUs, and inference engines stop treating {-1, 0, +1} as an inconvenient compressed representation — and start treating it as a first-class way to compute.

At that point, “1-bit LLM” would stop being merely a quantization story.

It would become a hardware architecture story.

Sources and further reading

Continue reading