Big models store facts smeared across billions of weights, so changing one thing risks changing others, and a wrong guess looks identical to a right one. Yaz is a small experiment in the opposite direction: put each fact in its own addressable slot, make edits surgical and reversible, and let the model decline when it isn’t sure what you’re asking about.
One fact, one atom
Yaz is a sub-1M-parameter, byte-level model. Each fact lives in a single column of an additive decoder — an atom. A frozen sentence embedding routes a prompt to the right atom by meaning, so paraphrases of the same question land in the same place. Because facts are disjoint columns, the four editing verbs are almost trivial: update swaps a column, delete zeroes it, create allocates a fresh one, and read is just routing. No retraining, no gradient steps.
The part we care about: provable locality
Because an edit only ever touches one column, a query routed to a different fact reads none of the changed weights — so its output is byte-identical before and after. That isn’t a hope, it’s arithmetic. We measured it too: across 40 stacked edits, zero side-effects on the held-out facts and a language-modelling score that didn’t move (bpc +0.000%). Editing fact A cannot break fact B.
Knowing when it doesn’t know
Most editable models, when their lookup misses, quietly fall back to the base model and answer anyway. Yaz instead reads its routing confidence margin — how far the top fact beats the runner-up — and refuses when that margin is low. On a held-out mix of easy and deliberately hard, name-free clues, that margin ranks right-from-wrong routes almost perfectly (risk-coverage AURC 0.004, against an oracle bound of 0.003). In plain terms: ask it the capital of a country and it answers; ask it about pizza toppings and it declines.
What we won’t pretend
This is a research prototype, and we’d rather be the ones to say so. It’s a first-byte editor — edits reliably set the first character of an answer, but full words don’t come out faithfully yet. An earlier “edit-generalization” headline we were tempted by turned out to sit at chance once we ran the right control, so we retracted it; what actually survives is the routing reach, not an edit-magnitude win. Routing also gets shakier on oblique clues, and the locality guarantee assumes two facts never collide on one atom. The scope is tiny and synthetic — fifty country→capital facts, on a CPU.
And none of the ingredients are ours alone: Yaz sits squarely in the model-editing lineage (ROME/MEMIT, GRACE, SERAC, PENME, EasyEdit), and both embedding-keyed editing and selective prediction already exist in the literature. The one part we haven’t seen wired up before is reading the router’s own confidence as an explicit refuse signal inside the editor. Yaz is a clean, reproducible step — a nice substrate for studying CRUD-style knowledge editing — not a moat-shaped breakthrough. We think the honest version is more useful than the hyped one.
Try it
The model ships with a one-command demo and deterministic reproduction scripts. Point it at a prompt and watch it route, answer, edit, or abstain. See the Yaz project page for the full capability table and caveats.