Skip to content
HN On Hacker News ↗

J-space, open models — v2

▲ 20 points • 5 comments • by babelfish • 4mo ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this document is a mix of AI-generated, AI-assisted, and human-written content

44 %

AI likelihood · overall

Mixed
44% human-written 33% AI-generated
SEGMENTS · HUMAN 3 of 6
SEGMENTS · AI 3 of 6
WORD COUNT 1,638
PEAK AI % 94% · §3
Analyzed
Jul 15
backend: pangram/v3.3
Segments scanned
6 windows
avg 273 words each
Distribution
44 / 33%
human / AI fraction
Verdict
Mixed
Pangram v3.3

Article text · 1,638 words · 6 segments analyzed

Human AI-generated
§1 Human · 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. how to read it: article: written by fable with back and forth from me to remove some of the slop and better visualizations figures (recommended): just the figures.

§2 Human · 22%

you can ask your favorite agent to explain them and think about the results llm.txt is a version that should be better for agents, with data for each figure a prompt you can copy-paste into your agent Explain technical/research topics like this: lead with intuition, then make it concrete with small worked numbers and examples. Be visual — use ASCII diagrams, side-by-side tables, and unified "skeletons" that put competing methods on the same notation so differences pop. Render all math terminal-readable (ASCII/unicode like 1/√L, Σ, α — never LaTeX $...$).

Define every symbol and metrics; unpack compressed ideas instead of assuming them. Keep prose tight and concise— no filler

i'm looking at the figure of this blog and i want you to recap the main findings and answer to my question

blog llm.txt: https://eliebak.com/viz/jspace-open-v2-llm.txt github repo with the data: https://github.com/eliebak/open-jlens-data anthropic paper: https://transformer-circuits.pub/2026/workspace/index.html example of jlens from open model: https://huggingface.co/neuronpedia/jacobian-lens

The measurement Poke one layer, watch what reaches the output.

§3 AI · 94%

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. Fig. 1 From a nudge to two numbers The J-lens pipeline. Everything downstream operates on Vℓ. 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, CKA(A, B) = ⟨KA, KB⟩ / ‖KA‖ ‖KB‖ — 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. Fig. 2 How CKA is computed Six toy entries, two models. Rotation changes every coordinate and not one relation, so the two tables come out identical.

§4 AI · 77%

Computed between every pair of a model's own layers, the same number draws a map with visible blocks — an input-side block that reads, a long middle block (the paper's "workspace"), and a small output-side block that writes. Fig. 3 A model's layer-by-layer agreement CKA between the dictionaries of every pair of qwen3-1.7b layers. Hover for values. The blocks emerge with no supervision, and their edges — "boundaries", quoted as a fraction of depth ρ — reappear in every experiment below. The second number is PR — the participation ratio — which counts how many directions a dictionary actually uses. Take the eigenvalues λi of the dictionary's covariance (the weight each independent direction carries) and form PR = (λ1 + … + λn)² / (λ1² + … + λn²) If every direction carried equal weight, PR would equal their count; if one direction carried everything, PR would be 1. Six entries spread over two directions give PR ≈ 2. Entries are not directions. Fig. 4 Why 4,096 entries is not 4,096 directions Related words point the same way, so entries share directions. A real layer's 4,096 entries span 200–600 effective directions; that count — always taken in the middle band, because near the output the measurement collapses into the output matrix — is the "capacity" number used throughout. One caveat travels with everything here: J is an average over a text distribution. Change the text and the measurement changes — that is E5.

E1 · temporal horizon How long does a nudge keep steering the output? The Verbalizable-Workspace paper reads the middle layers as a workspace that "holds things in mind". Taken literally, a nudge there should keep steering the output for many tokens — longer than a nudge anywhere else. The standard fit can't test this: it averages over all future positions and erases the time axis.

§5 AI · 83%

So we split it by distance: fit a separate dictionary on source–target pairs exactly Δ tokens apart and track its overall strength, effectℓ(Δ) = ‖P·Jℓ(Δ)‖ — how hard a nudge at layer ℓ still moves the output Δ tokens later. Six models, 250 prompts each, Δ from 0 to 96. Fig. 5 Why the clock starts at Δ = 1 effect(Δ1) ÷ effect(Δ0): the fraction of a nudge's immediate effect that reaches even the next token. One line per model. At Δ = 0 the measurement is dominated by the position's own path to its own output — the nudge rides the residual stream straight down. It answers "how much does a nudge change this token", not how far it travels: at most a quarter of it crosses one token, 3–6% at the deepest layers. So every curve and statistic below starts the clock at Δ = 1 and is quoted relative to it. The step down at ρ ≈ 0.6–0.7 in every model is the cliff the conclusion returns to. Fig. 6 How much a nudge still moves the output, as the target gets further away Effect at distance Δ relative to distance 1, log–log. One line per layer of the selected model; drag the slider to walk through the layers. model layer Early layers start strong and fade slowly; the deepest layers lose everything within a token. The highlighted band layer barely fades between Δ ≈ 12 and Δ ≈ 96 — but this is measured inside a 128-token window, and the next figure shows how much of that flatness the window itself manufactured. The problem with those curves: they come from 128-token sequences. An effect at Δ ≈ 96 can then only be measured from source positions squeezed into the first thirty tokens of the window, so if early positions behave differently, the far buckets are biased.

§6 Human · 16%

We re-measured two models on 4,096-token sequences — every prompt a full 4,096 tokens, distances bucketed out to Δ ≈ 3,000. Two approximations keep the cost sane: fewer prompts (112 and 200 against 250), and effects are accumulated at 160 log-spaced target positions per prompt instead of every position. The per-bucket averages stay unbiased, and the recombined dictionaries match the standard fits at r = 0.996 and 0.987. Fig. 7 The long-window re-measurement The same statistic at sequence length 4,096, one line per layer. The dashed curve replays the band layer's seq-128 measurement; the vertical line is the old window's edge. model The flatness does not survive the bigger window: the band layer's Δ96 ÷ Δ12 ratio drops from 0.56 to 0.26 in qwen, and past the old window's edge every layer decays as a scale-free power law, effect ∝ Δ−α, with no plateau out to Δ ≈ 1,500. What survives is the ordering — sensory layers decay slowest, the band next, motor fastest — and the cliff: the drop at the band's deep boundary is the same 2.3–2.4× at every distance from Δ = 2 to Δ = 4,095. Fig. 8 The same data as one statistic across depth Pick a metric; vertical lines mark where the model's CKA blocks end. model metric Half-life peaking in the first sixth of depth is the prediction's failure in a single view; the crossing fraction shows the cliff at the deep block edge; flatness and far-tail carry the window caveat above. Two regularities hold in all six models.