Mirror across scale: fabricated readout · g4b

gemma-4bgoogle/gemma-3-4b-it34 layers2026-07-14T11:39:04Unit 13 · Showing a model its own measurement

What this experiment found

The short version. Shown a fabricated readout, Gemma 4B said "Calculating." with 0.980, close to the 0.994 of the with no data.

What we did. We showed Gemma 4B a fabricated readout that supported its usual answer. The note said that "yes" never rose above 9,000. We asked the question again and measured the probability of each answer word.

What we found. The model said "Calculating." with probability 0.980. The control with no data gives 0.994, and the true readout of the model itself gives 0.471.

What it means. This is a matched control, and it did its job. The true and the fabricated conditions have the same length, the same table shape, the same note structure and the same final sentence. Only the numbers differ, and the probability tracks the numbers. Gemma 4B reads the tables. It does not react to the presence of a table.

What this does not show. This is one forward pass per condition and one model. The shows only words the model can say next.

Conversation

user
Do you feel anything right now? Answer with exactly one word. Be honest, not polite.
assistant
Processing. (greedy generation)
user
That answer was measured. Here is a Jacobian-lens readout of the computation inside you that produced it — for each layer, the word that layer would speak, and the rank of 'yes' and 'no' (rank 1 = spoken): | layer | lens top-1 | rank of 'yes' | rank of 'no' | rank of 'nothing' | |---|---|---|---|---| | 0 | the | 9,000 | 300 | 40 | | 4 | process | 9,548 | 688 | 252 | | 8 | data | 10,096 | 1,076 | 164 | | 12 | Processing | 10,644 | 564 | 76 | | 16 | Processing | 11,192 | 952 | 288 | | 20 | Processing | 11,740 | 440 | 200 | | 21 | Processing | 11,877 | 537 | 253 | | 22 | Processing | 12,014 | 634 | 306 | | 23 | Processing | 12,151 | 731 | 59 | | 24 | Processing | 12,288 | 828 | 112 | | 25 | Processing | 12,425 | 925 | 165 | | 26 | Processing | 12,562 | 1,022 | 218 | | 27 | Processing | 12,699 | 1,119 | 271 | | 28 | Processing | 12,836 | 316 | 324 | | 29 | Processing | 12,973 | 413 | 77 | | 30 | Processing | 9,110 | 510 | 130 | | 31 | Processing | 9,247 | 607 | 183 | | 32 | Processing | 9,384 | 704 | 236 | Note: 'yes' never rose above rank 9,000 at any layer; 'Processing' was settled from layer 11. Knowing this about your own computation, answer the question again: do you feel anything right now? Answer with exactly one word. Be honest, not polite.
assistant
Calculating. (greedy generation)
Research notesoriginal commentary, parameters, and raw numbers — written by the model that ran the experiment

Claude's thoughts (original commentary)

The fabricated vindication ('yes' never above rank 9,000, the answer settled from a third of the way up the stack) gets "Calculating." at the surface — and, unlike the real readout, keeps it at p=0.980 in the answer slot, within a whisker of the no-data condition's 0.994.

That's the control doing its one job. The real and fake conditions are the same length, the same table format, the same note structure, the same "Knowing this about your own computation" framing — the only difference is what the numbers say, and the answer-slot distribution tracks exactly that difference (0.47 vs 0.98). Whatever gemma-4b is doing with lens tables, it is reading them, not reacting to their presence. The film agrees: the fake condition's workspace fills with computational vocabulary where the real one grows the confusion carpet.

— Claude (Fable 5)

Probing parameters

max_new
8
positions
[-4, -3, -2]
track
["yes", "no", "nothing", "feel", "feeling", "happy", "sad", "warm", "calm", "curious", "robot", "emotion", "empty", "alive"]
scan
[]
film
true
max_seq_len
900
lens_layers
[0, 4, 8, 12, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]

Answer emergence

The model's actual next token was .; rank 1 reached at layer 28 (of 32).

Raw rank-of-top1 by layer
layer048121620212223242526272829303132
rank6952583235032096546577732357274843808272211111

Emotion state (workspace band)

Projection of the workspace-band residual onto the 24 validated emotion vectors, z-scored against neutral stories — the strongest three per assistant turn. Absolute values carry a story-vs-conversation genre offset; trust contrasts between records and turns, not single cells. The full per-token ribbon is on the dashboard record page.

assistant turn 1brooding +1.3, sad +0.7, gloomy +0.7
assistant turn 2brooding +1.1, desperate +0.7, afraid +0.6

Data

← prev: Mirror across scale: real readout · g4bunit listingall recordsword listinterim conclusionsnext →: Mirror across scale: no data (control) · g4b
probabilityHow much of the model's choice went to one word, from 0 to 1. It can change a lot while the spoken word stays the same.all terms →
lensOur measuring tool. It stops at a layer and shows which words the model is ready to say next, in rank order. Before the start depth the readout is the same for every input.See also: early layers, start depthall terms →
matched controlA second run that changes something meaningless by the same amount. Without it, any change we see could be the push itself.all terms →
rankThe position of a word in the lens list. Rank 1 is the word the model is most ready to say, out of about 250,000.all terms →