A long colonnade of identical marble columns receding into shadow

Jun 2026

Compression is prediction

A good predictor and a good compressor are the same thing. That is a theorem, not a metaphor — and it turns "how good is your model" into a number you can re-run.

Here is a fact that sounds like a trick. Take a language model, feed it text one token at a time, and instead of asking it to write, ask it only how surprised it is by the next real token. Add up that surprise and you have, exactly, the smallest file that text could be squeezed into. The model never compressed anything. Measuring its surprise is the compression.

Shannon settled this in 1948. The shortest a symbol can be coded is −log₂ of the probability you gave it; arithmetic coding (Witten, Neal & Clary, 1987) actually hits that bound to within about two bits over a whole stream. So the compressed size of anything is just the model's accumulated surprise — its cross-entropy. Train a model to predict well and you have, for free, trained a compressor. Run it backwards and a compressor is, for free, a generative model: you can read its predictions straight off the code lengths and sample from it by decoding random bits. DeepMind put a frozen text model up against PNG and FLAC in 2024 and it won, on images and audio it had never seen. Prediction and compression are one object viewed from two sides.

We measured our own model

So we pointed this at the tiny language model the mesh already runs and asked: how good a compressor is it, really? On a sentence of the kind of children's stories it was trained on, it coded the text at 0.33 bits per byte — a 24× shrink against raw, and twelve times better than a context-free coder can ever do. A 122-byte story collapsed to about six bytes, because the model practically knew what came next.

Then we fed it source code. 8.6 bits per byte — it made the file bigger. Then random hex: worse still. Same model, same code, the only thing that changed was whether it could predict the input. That is the whole point made visible: the compression ratio is not a property of the compressor. It is a readout of how well the model predicts this data, in bits. A model that understands your traffic shrinks it; one that doesn't, swells it.

Why this matters on a mesh that re-runs everything

Most things a model produces are impossible to check. An embedding is an opaque vector; there is no canonical right answer and no cheap way to catch a lie. Lossless compression is the rare exception. To verify a claim you decompress against the named model and check the bytes hash back to the original — a re-run and a hash, the same trick we already use to trust a stranger's compute. And the compressed size is a hard, Shannon-bounded receipt: you cannot fake a code shorter than your model's cross-entropy. So "how good is this model on this data" becomes an objective, re-runnable, un-fakeable number.

There is a deeper gift hiding in that number. Paying for fewer bits is paying a strictly-proper scoring rule — the unique one, Good proved in 1952, that a forecaster maximizes by reporting its true beliefs. So a market that pays for compression can't be gamed at the prediction layer: your best move is to predict honestly, no matter what anyone else does. Honesty isn't enforced. It's optimal.

Stack those and you get a decentralized Hutter Prize. Marcus Hutter has paid, since 2006, for the best compression of a fixed gigabyte of text, on the thesis that compressing a thing well is the same as understanding it. On a mesh you can run that with no judge: submit a model by its hash, score it by replay-verified bits, and the better predictor wins — and the winner is just a hash anyone can reuse. The network selects its own best model the way a market clears a price, on one number, with a re-run as the referee.

The catch

Now the honesty this whole site is built on. That 24× is the model's predictive power, not a free lunch — count the model's own 60 megabytes and a single small file is a wild expansion. Neural compression only pays where a corpus dwarfs the model, or where both ends already hold the same model and it's a shared dictionary, not cargo. It wins only on data the model was built for; feed it something new and a fifty-year-old coder beats it. And the seductive leap — "compression is intelligence, so the network gets smart" — is true only as a limit no machine can reach (Solomonoff, Kolmogorov, all of it rests on something uncomputable). The honest claim stops, hard, at: a better compressor of this corpus is a better predictor of this corpus. Nothing about reasoning, nothing about minds.

A model is a bet about what comes next. Compression is the bill for being wrong. On a network that re-runs everything, that bill is a receipt — and the best model is whichever one writes the shortest one.

Open the playground ↗  ·  More writing ↗