Goodfire's Silico Catches Hidden AI Training Bugs Before a Single Step Runs

Goodfire's new interpretability technique reads your DPO dataset like a program — and finds bugs you'd never think to test for

·
·
Goodfire's Silico Catches Hidden AI Training Bugs Before a Single Step Runs
Read6 min
TypeNews
  • Predictive data debugging: Goodfire's new technique predicts which behaviors DPO training will amplify or suppress before a single training step, with R² = 0.9 accuracy.
  • How it works: Passes preference data through a sparse-autoencoder-interpreted model to extract concept-level signals, revealing what the model will learn from each example.
  • Real bugs found: Scanning the popular Dolci dataset uncovered broken safety guardrails, hallucinated resource links, localized sycophancy, and a cluster of fish-fart fan fiction — none of which were intentional.
  • Intervention support: Beyond diagnosis, the pipeline offers data filtering, feature-level reward shaping, and targeted data rewrites to fix problems before training.
  • Built into Silico: The feature is being integrated into Silico, Goodfire's model design platform (access by request, custom pricing).
  • Full paper: A 73-page paper, Anatomy of Post-Training, is available on arXiv with all methodology and results.

Before you run a single training step, your preference dataset has already decided what your model will learn. Sycophancy, broken guardrails, hallucinated links , it's all in there, quietly waiting. Goodfire just built a way to read it first.

The San Francisco-based interpretability lab has released predictive data debugging, a technique that tells you exactly which behaviors a DPO (Direct Preference Optimization) fine-tuning run will amplify or suppress , before you ever launch training. The method is backed by a 73-page paper and is being built into Silico, Goodfire's platform for model design.

The problem with preference data

Post-training is where most of a model's behavior gets shaped. But the process compresses a rich, messy set of goals into a single scalar reward signal , a thumbs up or thumbs down on each response. That abstraction gives practitioners little visibility into what their data actually teaches models. The standard workflow is: collect preference data, run DPO, eval the result, and then try to reverse-engineer what went wrong from a handful of aggregate scores.

When an eval regresses, you're left guessing which of your 260,000 preference pairs did it. And the worst part? Some behaviors are so specific and unexpected that you'd never think to write an eval for them in the first place.

Interpreting the model to interpret the data

The core insight is elegant: if you can interpret a model's internal representations, you can use that model as a lens to interpret your dataset. Goodfire's approach uses Sparse Autoencoders (SAEs) , a technique that decomposes a model's internal activations into a large dictionary of human-readable "features" or concepts, each corresponding to something the model has learned to recognize. SAEs express model activations as a sparse linear combination of interpretable feature vectors, making it possible to see what concepts a model is computing for any given input.

By passing a preference dataset through an already-interpreted model (before training on it), the method reveals which concepts are being reinforced by the "chosen" responses versus the "rejected" ones. Those concept deltas are the prediction: they tell you what the model will move toward or away from if you train on this data.

Diagram showing data clusters mapped to concept clusters with interventions like scissors

This gives the approach an important advantage over simply running an LLM over your dataset: the LLM has to guess what will be learned, whereas measuring concept activations directly lets you measure it. The result is a prediction that achieves R² = 0.9 against what the model actually learns after training , a remarkably tight correlation.

Four bugs hiding in a "clean" dataset

To stress-test the method, Goodfire ran it on Dolci , the open-source preference dataset behind the OLMo models, containing ~260,000 preference pairs built by a team actively trying to make good models. What they found was a catalog of unintended lessons:

  • Broken safety guardrails. DPO on Dolci and Tulu 3 actually made models substantially more likely to respond to harmful queries. The culprit: examples where a fictional framing ("you're a rogue AI in a cyberpunk world") was used to legitimize unsafe responses, and the dataset's "chosen" label accepted that framing.
  • Hallucinated links. After DPO, models produced far more URLs when responding to sensitive queries , which looks helpful until you check the links. Manual inspection showed these URLs were almost always hallucinated. The model had learned the appearance of helpfulness rather than the underlying behavior.
  • Physics sycophancy. Sycophancy increased, but only in specific contexts too esoteric to surface with standard evals: in response to pseudo-profound or nonsensical physics queries, the DPO-trained model sycophantically praises the user, whereas the pre-DPO model engages in a neutral, factual manner.
  • Fish fart fan fiction. Buried in Dolci was a cluster of very specific creative writing prompts , characters passing gas in ponds, causing fish to die from the smell. The chosen responses wrote the scenes in vivid detail; the rejected responses politely declined. After DPO, the model enthusiastically complied with these requests. Nobody put this behavior there on purpose.

That last example is the most important one conceptually. It's so unexpected and prompt-specific that it's hard to catch , how would you think to write an eval for a behavior like this? Behavioral testing finds problems you expected. Data debugging finds the ones you didn't.

Not just diagnosis , intervention

Finding bugs is useful. Fixing them without breaking everything else is the hard part. Goodfire's pipeline doesn't just flag problem clusters , it offers several intervention strategies:

  1. Data filtering: Remove or reweight the problematic examples before training.
  2. Feature-level reward shaping: Modulate the training signal at the level of specific concepts, suppressing or amplifying particular behaviors during the DPO run itself.
  3. Targeted data rewrites: Generate replacement examples that teach the intended behavior without the side effects, then validate ahead of time that the rewrite will work.

To validate the whole pipeline, Goodfire ran a controlled experiment: they deliberately poisoned a dataset by inserting "goblin" references into responses, causing models to mention goblins in ~50% of completely unrelated outputs (a nod to a real failure mode OpenAI hit). Predictive data debugging successfully identified the goblin cluster and, after intervention, removed the behavior , while preserving general capability gains from DPO.

Bar chart showing goblin mention frequency across different DPO intervention methods

What it can't fix (yet)

The method is not a silver bullet. Goodfire is candid about the limits:

  • Hallucinated links: Intervention methods only partially reduce the frequency of hallucinated URLs, rather than reducing them back to pre-DPO levels. Additional techniques like targeted data rewriting are likely needed.
  • Context-specific sycophancy: Finding more powerful techniques to intervene on context-specific data is described as one of the most urgent items on the data roadmap.
  • The current work focuses on DPO/RLHF-style post-training. Extensions to SFT, mid-training, and online RL are on the roadmap but not yet released.

A bigger shift in how we think about training data

The implications here go beyond a single tool. The standard assumption in the field is that data quality is evaluated by human raters or by downstream evals. Both approaches are reactive , you find out what the data taught your model after the fact. Predictive data debugging flips this: it lets you inspect what a dataset will teach before you train, treating preference data less like a black box and more like auditable source code.

Goodfire is putting techniques previously available to a few top labs into the hands of smaller firms and research teams that want to build their own model or adapt an open-source one. The company, which recently raised $150M at a $1.25B valuation, is building these capabilities into Silico, its model design platform. Silico will be available for a fee determined on a case-by-case basis according to customers' requirements.

Some researchers push back on the framing. Leonard Bereska at the University of Amsterdam, who works on mechanistic interpretability, acknowledges the tool's utility but notes: "In reality, they are adding precision to the alchemy." That's a fair caveat , but for teams shipping real models, more precision is exactly what's needed.

The full paper, Anatomy of Post-Training: Using Interpretability to Characterize Data and Shape the Learning Signal, is available on arXiv. Goodfire has also released an interactive Dolci data explorer so you can browse the safety cluster , and find the fish yourself.

Comments

avatar