Hallucination & faithfulness Working model Intermediate 3D dissection 24 components 18 Oct 2026

Why 722 becomes 719

A real 0.5B language model opened up at the moment it copies a number from its context: the heads that carry the digit, the votes that choose it, the sampler that sometimes doesn't, and a guard that checks every digit as it is written.

Copying a figure from the context is the simplest grounded-generation task, and a wrong digit is the most checkable hallucination. This piece takes a real open model, Qwen2.5-0.5B-Instruct, served by Ollama in Docker on a laptop GPU and read with PyTorch on the same weights, and records its internals at the moment it writes a number it read in research notes: every head's attention on the source digit, every head's and MLP's direct vote for the next digit, the logit lens through all 24 layers, and the next-token distribution at every likely prefix of the number. The sampler, the probability of every number the article could contain and two grounding guards run live on those recordings, checked against real Ollama samples. A research desk tests the hypothesis that started it (after 7, the 2 and the 1 were nearly tied, and 71 was completed as the closest number, 719) with four pre-registered experiments across five models: where slip probability comes from, what the model writes after a forced slip, whether ablating a handful of copy heads breaks the copy, and what a per-token guard fixes and what it breaks.

The machine

A real network on a table. At the bottom, the notes the model read and the article it is writing, as token strips lit by where the copy heads look. In the middle, Qwen2.5-0.5B once per digit decision: a 24 × 14 block of every head's attention on the source digit, a block of every head's vote for the right digit over its rival with the 24 MLPs beside it, and the logit lens from the embedding to the output. At the top, the next-token distribution, the sampler (raw, temperature, top-k and top-p, guard), the digit tree of every likely prefix and the probability of every whole number. To the side, the grounding guard: the context's numbers as a trie.

What is real. Internals are recorded from the real model (Qwen/Qwen2.5-0.5B-Instruct at revision 7ae5576, float32 PyTorch on an RTX 5060) for eight study contexts; next-token distributions at every recorded prefix come from both PyTorch and Ollama 0.40.6 serving the fp16 weights, and test.mjs checks they agree (same top-1 token, digit log-probabilities within 0.15 nats). The sampler, guards and outcome probabilities are computed in the page and checked against 1,000 real Ollama samples per setting from the same prefix (every outcome above 1% within four standard errors, total variation under 0.05). Direct logit attribution is checked to sum to the model's own logit differences, the logit lens's last layer to equal the output, and the parameter count to match the config. Literature numbers are quoted from the arXiv LaTeX sources, the LessWrong post and the Ollama repository at a pinned commit. The research desk was pre-registered in research/README.md; every experiment is reproducible from research/ and probe/.

What to take away

  • In 1,106 mentions of 722 across five models, 722 never slipped to 719 digit by digit; when 719 was also in the notes, the article wrote it instead of 722 in up to 25 of 120 articles.
  • A model with single-digit tokens writes a three-digit number as three separate draws, so a slip begins at one identifiable token, here always the second or third digit.
  • Most slip probability sits at steps where a wrong digit is within a factor of e of the right one, but a third of it is the model's own favourite leaving the notes, which no sampler setting prevents.
  • After a forced slip the model copies the next source digit (71 becomes 712), as digit-wise number representations predict, not the closest number (719).
  • Eight of 336 attention heads carry most of the copy: ablating them takes the source digit from 99.9% to 30%; random heads mostly do not, though two random sets with first-layer heads did.
  • Checking every digit against the context numbers during decoding removed every slip but rewrote numbers the model had to derive (72.2% became 722%); the variant that only undoes unlucky draws broke nothing and fixed a fifth of slips.

Sources

More machines

Other working models

Anatomy of Dynamo: a still of the machine Simulation · 3D Architecture · Distributed systems

Anatomy of Dynamo

Amazon's Highly Available Key-value Store, dissected: a ring of seven nodes laid out in 3D, the paper's Figure 3 lived through by a seeded cluster, and a research desk that tests the model of how stale its reads are.

Dynamo's ring, preference lists, quorums, vector clocks, sloppy quorum, hinted handoff, Merkle trees and gossip as a seeded cluster in 3D, with a research desk that tests the PBS staleness model agai…

96 components · Intermediate 18 Oct 2026
Anatomy of Raft: a still of the machine Simulation · 3D Architecture · Distributed systems

Anatomy of Raft

In Search of an Understandable Consensus Algorithm, dissected: five servers laid out in 3D with their terms, votes, logs and state machines, Figures 7 and 8 rebuilt from real blocks, and a research desk that reruns the paper's leader-election measurements.

Raft's Figure 2 as five servers in 3D: timers, votes, logs and messages computed live from a seeded simulation, with the paper's Figures 7 and 8 as real blocks and a research desk that reproduces its…

52 components · Intermediate 17 Oct 2026
Anatomy of the ResNet: a still of the machine Working model · 3D AI & ML · Neural network foundations

Anatomy of the ResNet

Deep Residual Learning, dissected: the paper's own 20-layer CIFAR network in 3D, every feature map and kernel a real one from a model trained on handwritten digits and running in your browser, every number from the paper traced to its sentence.

He et al.'s 2016 ResNet, built in 3D from its own numbers: the paper's ResNet-20 at half width classifies a handwritten digit while the camera walks 27 steps from convolution to shortcut to softmax. …

75 components · Intermediate 17 Oct 2026

The whole gallery →