aiqbench analysis
This research investigates feature splitting in Sparse Autoencoders (SAEs) by utilizing training data attribution methods, specifically influence functions, to identify which documents drive latent instability. The study expands the definition of splitting to include variations across different training runs and aims to clarify the theoretical mechanisms behind these phenomena. For the AI community, this work is significant as it provides empirical evidence on how specific data points shape model interpretability structures, a critical step toward robust SAE deployment.
My Neel Nanda MATS 10.0 Application: Studying Feature Splitting in SAEs via Training Data Attribution
Neel Nanda's MATS 12.0 Applications are open, apply here! I thought I'd share my successful application from December 2025, it includes the executive summary, main content and the logbook I kept throughout! Here is the original doc I submitted. Some broad learnings: I really overcomplicated this application! Taking gradients through SAEs and doing data attribution was far too complicated and I wish I'd focused on a simpler project with a clearer theory of change and clearer understanding of what a successful project would look like. I'm glad I kept a logbook, that really helped with the writeup. I wish I'd done best-of-N e.g. spend 2 hours de-risking 4 projects, and choose the one to continue that showed the best signs of life! Choosing a project following on from recent Neel MATS projects (check his reposts) is high signal for impactful research areas. I didn't leave enough time for the writeup, also doing something so mathsy meant installing a Latex extension in Google Docs and just added a lot of faff! Executive Summary Code SAE latents are not stable across SAE scale or training runs demonstrating feature (or “latent”) splitting. We expand the definition of feature splitting to include SAE latents that split across different training runs. In this project we explore which training documents drive this splitting outcome. We introduce the first training data attribution study of SAEs by applying influence functions to trace both individual latents and pairs of related latents back to infer the training documents that shaped them. On Gemma-2-2B using Gemma Scope JumpReLU SAEs (layer 3, width 16k, mean mjx-math { display: inline-block; text-align: left; line-height: 0; text-indent: 0; font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; letter-spacing: normal; border-collapse: collapse; word-wrap: normal; word-spacing: normal; white-space: nowrap; direction: ltr; padding: 1px 0; } mjx-container[jax="CHTML"][display="true"] { display: block; text-align: center; margin: 1em 0; } mjx-container[jax="CHTML"][display="true"][width="full"] { display: flex; } mjx-container[jax="CHTML"][display="true"] mjx-math { padding: 0; } mjx-container[jax="CHTML"][justify="left"] { text-align: left; } mjx-container[jax="CHTML"][justify="right"] { text-align: right; } mjx-msub { display: inline-block; text-align: left; } mjx-mi { display: inline-block; text-align: left; } mjx-c { display: inline-block; } mjx-utext { display: inline-block; padding: .75em 0 .2em 0; } mjx-mn { display: inline-block; text-align: left; } mjx-mo { display: inline-block; text-align: left; } mjx-stretchy-h { display: inline-table; width: 100%; } mjx-stretchy-h > * { display: table-cell; width: 0; } mjx-stretchy-h > * > mjx-c { display: inline-block; transform: scalex(1.0000001); } mjx-stretchy-h > * > mjx-c::before { display: inline-block; width: initial; } mjx-stretchy-h > mjx-ext { /* IE */ overflow: hidden; /* others */ overflow: clip visible; width: 100%; } mjx-stretchy-h > mjx-ext > mjx-c::before { transform: scalex(500); } mjx-stretchy-h > mjx-ext > mjx-c { width: 0; } mjx-stretchy-h > mjx-beg > mjx-c { margin-right: -.1em; } mjx-stretchy-h > mjx-end > mjx-c { margin-left: -.1em; } mjx-stretchy-v { display: inline-block; } mjx-stretchy-v > * { display: block; } mjx-stretchy-v > mjx-beg { height: 0; } mjx-stretchy-v > mjx-end > mjx-c { display: block; } mjx-stretchy-v > * > mjx-c { transform: scaley(1.0000001); transform-origin: left center; overflow: hidden; } mjx-stretchy-v > mjx-ext { display: block; height: 100%; box-sizing: border-box; border: 0px solid transparent; /* IE */ overflow: hidden; /* others */ overflow: visible clip; } mjx-stretchy-v > mjx-ext > mjx-c::before { width: initial; box-sizing: border-box; } mjx-stretchy-v > mjx-ext > mjx-c { transform: scaleY(500) translateY(.075em); overflow: visible; } mjx-mark { display: inline-block; height: 0px; } mjx-TeXAtom { display: inline-block; text-align: left; } mjx-mover { display: inline-block; text-align: left; } mjx-mover:not([limits="false"]) { padding-top: .1em; } mjx-mover:not([limits="false"]) > * { display: block; text-align: left; } mjx-msubsup { display: inline-block; text-align: left; } mjx-script { display: inline-block; padding-right: .05em; padding-left: .033em; } mjx-script > mjx-spacer { display: block; } mjx-c.mjx-c1D43F.TEX-I::before { padding: 0.683em 0.681em 0 0; content: "L"; } mjx-c.mjx-c30::before { padding: 0.666em 0.5em 0.022em 0; content: "0"; } mjx-c.mjx-c3D::before { padding: 0.583em 0.778em 0.082em 0; content: "="; } mjx-c.mjx-c35::before { padding: 0.666em 0.5em 0.022em 0; content: "5"; } mjx-c.mjx-c39::before { padding: 0.666em 0.5em 0.022em 0; content: "9"; } mjx-c.mjx-c1D467.TEX-I::before { padding: 0.4
Read the full article at LessWrongRelated coverage
The J-Space Debate, Agent Swarms, and Pacing Frontier AI - Digital Minds Newsletter #4
LessWrong · Sep 18, 2026
Unsupervised Feature Discovery via Simple Clustering
LessWrong · Sep 7, 2026
J++ Lens: Jacobian Filtering Enables More Faithful Workspace Lenses
LessWrong · Oct 8, 2026
Does Your LLM Trust You?
LessWrong · Aug 4, 2026