Article URL: https://eliebak.com/viz/jspace-open-v2 Comments URL: https://news.ycombinator.com/item?id=48922803 Points: 17 # Comments: 3

Anthropic's Verbalizable-Workspace paper showed, on one closed model family, that a model's middle layers carry a dictionary of directions that causally steer its output. It left the natural next questions open: how far forward in time the steering reaches, when the structure forms during training, whether it transfers between models, and how it scales. We measured all four on open models, then two follow-ups the results forced on us. Every number below was re-derived from the committed result files, and every chart is interactive. from Elie: ok so everything except this message is "vibe coded". when reading the anthropic paper, i had a few ideas about behaviors of this "jspace" i was curious about. i asked fable to brainstorm with me and also let it suggest more experiments that would be interesting. then i let it run experiments autonomously (almost) on our cluster. i'm not an expert in this domain and the experiment design as well as my ideas probably don't make total sense for someone who is. i would never have had the time to run those experiments, or even thought of doing them, if i had to do everything myself btw. i did spend some time understanding the results tho and going back and forth with the agent on some experiment design and visualizations. why this format: my goal is to share the results without spending days on it. i read most papers and blogs (except very well written ones) through an agent nowadays, asking questions and looking at figures. i'm not a great writer and not fully knowledgeable on this subject so a clean blog would have taken me a while + i'm not sure the output would have been much better. llm.txt is a version that should be better for agents, with data for each figure Everything on this page comes from a single measurement. Take a model reading text, nudge its residual stream at layer ℓ, and record how the final layer — the one that decides the next token — moves in response. Averaged over many positions and prompts, that response is a matrix Jℓ: the layer's typical influence on the output. Multiplying by the unembedding makes the influence concrete. Each of 4,096 common tokens gets a vector: the direction at layer ℓ that pushes that token's probability up. These are steering vectors in the literal sense — inject one and the model says the token, which is what E3 exploits. Together, the 4,096 vectors are the layer's dictionary. Two numbers summarize a dictionary. The first is CKA — centered kernel alignment — which asks whether two dictionaries have the same shape when you are not allowed to compare coordinates. The recipe: center a dictionary's vectors, then build its table of relations K = VVT — a 4,096 × 4,096 grid whose cell (i, j) records how strongly entry i points along entry j. The table is coordinate-free: rotate the whole dictionary and not a single cell changes. CKA is then just the cosine between two such tables, — 1.0 when the geometry is identical, near zero for unrelated random tables. For calibration: two independent fits of the same model score about 0.997, and two different trained models compared at matched depth land around 0.5–0.7.