Live proof · real weights · nothing canned

μLattice: the growing memory, running

A one-million-parameter lattice mixer that stores associations while it reads, overwrites them on sight, and answers from memory — at constant cost per token. This page drives the actual trained checkpoint on the GPU.

model: capacity8k.pt · loading…
01

Stream your own document

Paste any text. Define your own facts as name → value pairs. Mark any of them to be overwritten mid-stream with a new value. Then ask. The model reads your words as the stream, stores your pairs as it passes them, and must return the latest value — last write wins.

02

The store at scale

The same mechanism under load: up to 8,192 pairs in one 133,120-token stream, half of them overwritten, answered after a single causal pass. The map shows the model’s own learned addresses — distinct keys spread, exactly as the design intends.

2048
14
50%
Left: learned addresses of 400 stored keys from this run (grid scale shown). Right: 64 sampled queries; gold rows marked overwritten were re-written later in the stream — the store must answer with the new value.
03

Constant cost while memory grows

Each token touches exactly nine memory cells, so per-token work cannot grow with context. Measure it: the curve below runs the model at increasing stream lengths, live.

Blue: measured μs per token — flat is the guarantee. Green: lattice cells, growing with stored content. Dashed red: attention’s O(T²) work, analytic reference.
04

Inside one cell

Where does a value physically live, and where does the new value go on overwrite? Pick one fact from section 01 (or any name/value). The model’s learned address for that key, the 3×3 cells it touches, and the before/after answers — same cells, value replaced in place by the delta rule.