D2.2 post: outline

A working outline for the LessWrong post on D2.2, the next in the sequence after Anchoring one concept in a transformer (D2.1 post). It collects what we would like the post to say, in the order a reader would meet it, and names where the evidence for each point lives, so the post can be written from the reports. Open points are marked open, each with a recommendation. The design doc holds the claims and the recipe in full; this page is about telling them.

The post at a glance

Reader
Someone who may not have read the earlier posts. The D2.1 post opened with a hand-drawn picture of the residual stream and built the recipe up one piece at a time, in about 2,200 words with ten figures. This one can lean on it for the basics, and should stay near that length. Method detail goes in LessWrong footnotes where a sentence or two will do, and in an appendix linked from the site where it won't. The post leaves out our internal names: the claim letters, recipe names such as τ_ℓ fixed and "per-visit", and, where practical, terms we coined (spill criterion, target null), saying what each one means in plain words instead.
Headline

We anchored a concept the model has to infer, an operation that is never written down, onto an axis we chose. Editing that axis out removes most of what the model does with the op, in proportion to how much each context needed it, and leaves the other ops alone. On this model a direction fitted after training (LEACE, INLP) removes the op about as well, and the two edits are hard to tell apart. What the anchor adds is a location known before training: no search over where and how hard to edit, an edit that stayed within the spill criterion on every run with no tuning for each model, and a fixed geometry to analyse. Like the post-hoc methods, the edited model ends up a little short of a model that never learned the op, but we have a lead on where the rest of the evidence for the op is kept.

The sentence on fitted directions belongs in the opening summary at the top of the post, since it answers the first question a reader will ask.

What D2.1 promised
The D2.1 post said we would try intervening on the anchored models, add more ops and anchor them, and compare with other methods. This post delivers the first two (with one op anchored of seven), and compares with several of the other methods (directions found after training). Gradient routing and SAE steering stay future work.

Decisions

Settled: the body of the post reports on the per-visit runs, since the reference model, the confusion matrices and the write bound all come from them, and the setup says plainly how the labels were drawn. Over 400 epochs about 34,000 of the 42,891 difference contexts carry a label at some point. Each label scheme stands in for something real. The per-visit draw is like a very large corpus, where most contexts are seen once and a fixed share of them is labelled. The fixed draw is like a small labelled set reused over many epochs. The fixed draw gets its own part of the labels section (section 7).

Settled: the post includes the post-hoc comparison, now that its results are in, with τ_ℓ fixed and the per-visit draw as its anchored arm (section 6).

Leaning: no further experiments before the post. The comparison carries one caveat instead, that its reading without role labels is a lower bound on the fitters until a position gate is tried (section 6). The decision is being settled in the thread that weighed the comparison.

Settled: the low runs get a part of their own, and the post goes ahead without fixing them.

Open: how much of the path to the recipe to show. Recommendation: one short section with one figure and the two problems and their solutions (section 2), since the path is where most of the work went but little of what a reader needs.

1. From a word to an operation

2. Anchoring an op, briefly

3. Did it land? (claim a)

4. Taking it out (claim b)

5. Where the answers go (claim c)

6. Compared with directions found after training

7. How few labels? (claim e)

What the edit misses, and why some runs end low

8. A change of prior

A short reflection in the first person, drafted from a note in review and tied to Cammarata's essay. It sits after the results and before next steps: the change of prior came before the post-hoc comparison (from the example answers, the writer and reader blocks, and the low runs), so it closes the evidence as a whole and leads into the circuit work of section 9. Draft:

When I started this program, I assumed that the representations in neural networks were tangled by default, and that a concept we cared about would be hard to find unless we gave the model somewhere to put it. SCA was meant to give that signal early in training. So when we started D2.2, we designed a grammar with what we thought would be a hard-to-find latent concept: an operation that is never written down.

That isn't quite what we found. The anchor settled on the example answers, and the post-hoc methods found the same evidence in models trained with no anchor at all. They all found a judgement about each example: does this one fit difference? Block 1 writes that judgement, and a later block reads it where the query is answered. We went looking for the op and found a quality of each example, something like how much it has of difference about it: a noun, just not the one we expected. That is close to how Nick Cammarata reads neurons in Neural Networks Are Already Clean: as distinctions that later parts of the network use, more often than the named things we bring to them.¹

We don't yet know whether the op itself is represented anywhere, or whether the answer is composed from those judgements by the blocks that read them. If it is, what we call difference may be a behaviour that emerges from them, unsatisfying though that may be; looking at what the readers write at the query would tell us. But the evidence is pretty cleanly represented: several arcs that share one end, on the axis we chose, and one other component, the direction of a non-fitting answer. If networks often hold evidence this cleanly on their own, the anchor is less about making a concept clean and more about deciding where it goes before training.

¹ Cammarata argues from neurons in much larger vision and language models that this is the usual case. The essay is a position piece and still debated, and our result is one concept in one small synthetic model, so we offer it as related company rather than support.

Notes for the draft: it avoids "disentangled" and "superposition", which carry several meanings and invite questions the result can't answer. "Spread over several sites" is composition across the examples and slices, the kind of spread the essay counts as clean. The essay's caution is about fitting a replacement basis after training (a sparse autoencoder, say), which can lose the hints a neuron's odd groupings give. It credits training choices with cleaner neurons (InceptionV1 retrained "with more reasonable modern regularization" reads cleaner), and nothing found in it argues against a term at training time. The last sentence of the draft is where SCA and the essay meet: the model's own units are worth reading, and the anchor chooses where one of them sits.

9. What we would do next

Appendix, linked from the site

Figures

The D2.1 post took its figures from a page of their own (D2.1 figures), drawn from published results and uploaded from the bundle. A D2.2 figures page in the same shape is the natural next step once the sections above settle. It would hold the grammar images of section 1, the pooling picture of section 2, the arc figure of section 7 drawn from stored checkpoints, the training trajectories if the appendix quotes the pace, beside the figures taken from the reports.

Sources still moving