Would a Random Network Pass the 'One Main Job' Neuron Audit?

Prompted by Nick Cammarata's essay "Neural Networks Are Already Clean" (Goodfire) The essay ↗ Nick Cammarata's thread ↗ Neel Nanda's tweet (neuron sweep) ↗
Our prediction, written down before the experiment: It was wrong.

Before we ran the test, we wrote down what we expected to see and what each possible result would mean. We fixed this on October 15, 2026, 23:16 Copenhagen time, so we could not change the goal after seeing the data. Whether we were right is part of the result.

The question
A network with random weights never learned anything. Would its neurons pass the same “one main job” audit as the neurons of a trained network?
What we expected
Trained neurons pass far more often than neurons of the same network with random weights. On jobs that are more than a single word or string, the gap is at least 25 percentage points. Random-weight neurons pass mostly by matching single words. Between 50% and 90% of trained neurons pass. That range is close to the 90% in the essay, Nick Cammarata’s “Neural Networks Are Already Clean” (Goodfire, October 2026).
How sure we were
70%: more likely than not, far from certain.
If we were right
The audit measures structure that training built. So we can read the audit’s pass rates as a measure of how clean neurons are.
If we were wrong
Either the audit cannot tell learned structure from noise, or our audit is far stricter than the essay’s audit. In both cases, the audit’s numbers need a control like this one, a network with random weights, before anyone relies on them.
What happened
It was wrong. Every part of the prediction missed. No random-weight neuron passed, where we expected 40% or more. Only 14% of trained neurons passed, where we expected 50% to 90%. The judges are two language models, GPT-4.1-mini and Claude Haiku 4.5, that label each neuron blind. The judges called nearly every job a single word or string. So on the main test (jobs that are more than a single word or string), the gap was under 2 points, not 25. Over all jobs, trained neurons still clearly passed more often than random-weight neurons (14% against 0%).

The original, time-stamped text

A neuron in a language model is one hidden unit in the MLP block of a layer. Each neuron gives one number per token. To read a neuron, researchers collect the texts where the neuron fires most. Then they ask what those examples share. If the examples look unrelated, researchers call the neuron polysemantic.

On October 15, Nick Cammarata of Goodfire published the essay “Neural Networks Are Already Clean”1. For years, the field explained polysemantic neurons with superposition. In superposition, a network packs unrelated concepts into one neuron because the concepts rarely occur together2. Cammarata argues that most neurons had one job all along. In his view, weak tools hid that job. His headline number: in Qwen3-32B, about 90% of neuron poles have one main job. A pole is the strong positive side or the strong negative side of a neuron. We audit only the positive pole.

An audit is evidence only if the audit can fail. Heap and colleagues studied labels that language models wrote for the units of sparse autoencoders. A sparse autoencoder is a second network that splits activations into parts. The labels often scored about as well in random transformers as in trained transformers3.

In this article, we ask would a network that never learned anything pass the “one main job” audit?

TLDR; No. Not one of 150 random-weight neurons passes. But the audit is strict. Only 14% of trained neurons pass, on average over our two judges (6% if both judges must agree). Only 1.7% of random mixes of neurons pass. The comparison over all jobs was not our pre-registered test.

A unit has one main job when it passes two tests. First, at least 15 of its 20 top examples fit one label. Second, the other judge sees only the label and picks the unit's held-out examples out of random ones (at least 4 of 5 right). Light bars also accept small related side jobs (offshoots). We wrote that rule down before we saw the data, but the rule was not in the public prediction. Each arm has 150 units, 50 per layer of the 28-layer Qwen3-0.6B. Top excerpts come from 5M Pile tokens. We used one random initialization and one draw of random directions. The judges are GPT-4.1-mini and Claude Haiku 4.5, and the bars show their average.

Trained neurons pass most often at layer 4 of 28 (23%) and less often at layers 14 and 24 (10%).

How the audit works

We audited 150 units of each kind from layers 4, 14 and 24 of Qwen3-0.6B. Qwen3-0.6B is a small sibling of Qwen3-32B, the model that Cammarata audited. We audited three kinds of unit: trained neurons, random-weight neurons and random directions. A random direction is a fixed random mix of all 3,072 neurons in a trained layer. If neurons are special units, neurons should be easier to read than random directions.

For each unit, we searched 5M tokens of the Pile, a public text corpus. We took the 20 excerpts where the unit fires most, at most one per document4. Two judges then labelled every unit. The judges are language models from different labs: GPT-4.1-mini and Claude Haiku 4.5. Each judge was blind to the kind of unit. Each judge wrote a label and counted how many of the 20 examples fit the label. Each judge also classed the job as lexical (one word or string), syntactic or semantic.

A label must also be able to lose. Cammarata stresses the same idea. To test the label, the other judge saw only the label and 10 new excerpts. Five excerpts were among the unit’s next-best excerpts, and five were random. The other judge picked the five excerpts that fit the label. A unit passes for a judge when 15 of 20 examples fit and 4 of 5 picks are right. We report the mean of the two judges’ pass rates.

The random network fails, and so do most trained neurons

The audit can fail, and the audit fails the random network. The judges gave the random network’s units labels like “common function words” or “punctuation”. These labels fit about 8 of 20 examples. From the label alone, the other judge picked 2.5 of 5 excerpts right. Blind guessing gets the same score.

Trained neurons pass 14.3% of the time (95% interval 10-19%). Random directions pass 1.7% of the time. The gap fits Cammarata’s claim that neurons are better units to read than random directions. Most passing jobs are a single word, a digit or a small word family, for example “so”, “district” and “male”. One neuron fires on “since” and on the German “seit”. Another neuron fires on the names of sugars.

Should you trust our results?

  • We used one small model (0.6B), one random initialization and one draw of random directions.
  • Our audit is simpler than Cammarata’s audit. Small judges made one labelling attempt per unit. The judges saw only the strongest positive examples, in 64-token windows. We did not audit the negative pole, use long context or steer. Steering means pushing the neuron up and checking the output. So 14% probably understates the trained network. The judges also missed some patterns (see the first question below).
  • The 14% depends on our cut of 15 of 20 examples. At a cut of 10 of 20, 38% of trained neurons pass. Random directions pass at 13%, and the random network at 2%. The order holds at every cut (see the second question below).
  • The two judges agree on 83% of verdicts for trained neurons. Most of the shared verdicts are failures. Corrected for chance, the agreement is weak (Cohen’s kappa 0.33).
  • The random network’s top examples sit early in a text more often. Of these examples, 11-20% fall in the first 16 tokens, against 5% if positions were uniform.
What is Cohen's kappa?

In short: Cohen’s kappa measures how often two raters agree, after removing the agreement that chance alone would give: 1 means perfect agreement, and 0 means no more than chance. Example: two judges each pass 10 of 100 neurons, so by chance alone they agree on 0.9 × 0.9 + 0.1 × 0.1 = 82% of neurons. If they actually agree on 88%, kappa is (88 − 82) / (100 − 82) ≈ 0.33. So high raw agreement can still give a weak kappa when most verdicts are the same.

Further reading: Cohen’s kappa (Wikipedia) · McHugh 2012, “Interrater reliability: the kappa statistic”

So, would a random network pass the one-main-job audit? No. Over all jobs, the audit tells learned structure from noise. But our pre-registered test failed. Our pass rate for trained neurons depends on the cut, and our audit is weaker than Cammarata’s audit. So our rate does not refute Cammarata’s 90%.

We are sure that every rate of one-job neurons needs a random-network rate next to it.

Cammarata plans to have agents map frontier models neuron by neuron. That plan needs an audit that knows when a neuron is understood. The one-main-job audit passes its first check: the audit fails the random network.

If you’re curious

Which patterns did the judges miss?

One trained neuron at layer 14 fires on the first item of a pair. Its examples include “on the one hand” (five times), “flora and fauna”, “biotic and abiotic”, “one way or another” and “both male flowers and female”. The pair reading fits about 10 of the neuron’s 20 examples, still under our bar of 15. Both judges saw only “on the one hand” and counted 5 or 6 fitting examples.

Does the 15-of-20 cut change the answer?

The cut changes the pass rates, but the cut keeps the order of the three kinds of unit. The table shows the share of units that pass, by how many of 20 examples must fit:

Cut Trained neurons Random directions Random network
8 of 20 44% 19% 6%
10 of 20 38% 13% 2%
12 of 20 31% 9% 0%
15 of 20 (ours) 14% 2% 0%
18 of 20 5% 1% 0%

No fake unit passed at our cut. Sets of 20 random excerpts share no job, and these sets never passed (0 of 60). We also planted two-job units. Each planted unit combined the examples of two neurons that passed. None of the planted units passed either (0 of 17).

What happens if you push a neuron up?

We added this answer after the post went up. We wrote its four predictions into our time-stamped log before the judging run. We wrote the first prediction after a time test on one layer. That test had shown that most pushes at max change little.

Qwen3-0.6B. We pushed 14,336 neurons (512 drawn at random per layer) by their max activation. We pushed 7,168 of those neurons (256 per layer) by 10 times their max. We pushed 2,688 random directions at each strength, and 192 runs had no push. Each run is three 20-token continuations of one neutral prompt. One judge (GPT-4.1-mini, two calls) labelled the runs, blind to the kind of push. Last panel: two AI agents labelled 200 runs at 10 times (100 neuron runs, 100 random-direction runs), both blind to the kind of push. Their labels are no effect, one job, unrelated jobs or broken.

When we push a neuron by its own max, mostly nothing happens. When we push by 10 times the max, most pushes change the text. A random direction pushed as hard changes the text just as often, and in the same way.

The audit above tests what makes a neuron fire. Steering tests what a neuron writes: we push the neuron up and read what the model says. Feed-forward neurons write by raising the odds of some words5.

The push. A neuron’s activation is its value after the nonlinearity. The layer then mixes this number back into the model. We took the largest value that each neuron reached on 200,000 Pile tokens (fewer than the audit’s 5M, to save time). We added this max to the neuron’s activation at every token, in the prompt and in the new text alike. Then the model continued “The following is a short passage of text.” three times. Each continuation was 20 tokens long, at temperature 0.8. These three continuations make one run. A random direction is a random mix of all 3,072 neurons in the layer. We scaled each random direction to the max of one randomly chosen neuron of that layer. A random-direction push then changes the model’s internal state by about as much as a neuron push (median ratio 0.95 to 1.10 per layer). We could not judge all 86,016 neurons in one evening. So we drew 512 neurons per layer.

The judge. The judge sees nine typical continuations, which the model wrote with no push. The judge also sees the three texts of a run. The judge never sees what was pushed. The judge labels the run typical, one shared thing (mono) or several things (poly). A thing is a word, topic, script, symbol or format. A second call checks each “one thing” answer: do at least two texts share the same thing? If not, the run counts as several things.

  • At its max, 11% of neurons change the text, against 9% of random directions. The judge also flags 6% of runs with no push. These no-push flags are the judge’s false alarms. After we subtract the false alarms, about 5% of neurons and 3% of random directions change the text. The neurons lead by 2 points (p = 0.001 in a permutation test). The lead comes from the fifth of neurons with the largest max values. In that fifth, 18% of neurons change the text, against 10% of random directions with the same strengths. At max, the split into one thing or several things changes when we drop the second call. So we do not report the split at max.
  • At 10 times its max, 68% of neurons change the text: 55% to one shared thing and 13% to several things. Random directions change the text 71% of the time: 56% to one thing and 15% to several. The one thing is often a single token in a loop (“with with with”, “###”). We compressed the texts with zlib, a standard compressor, and repeated text compresses well. In 46% of the neurons’ one-thing runs, at least two of the three texts compress better than 99% of no-push texts. The rate for random directions is 41%. So at this strength, “one thing” often means that the model broke into repetition.
  • Per layer at 10 times, the rates for neurons and random directions rise and fall together (correlation 0.92 over 28 layers). Pushes in layers 10 to 15 change the text least (36 to 48%). Pushes in the first and last layers change the text most (up to 92%).
  • Push size decides. At 10 times, 95% of neurons in the top fifth of max values change the text, against 62% of the other neurons. Random directions with the strength of a top-fifth neuron also reach 95%.

We also ran a check without any judge. In the rare-word check, a run counts as changed if the same rare word shows up in at least two of its three texts. A rare word has at least 3 letters and appears in under 0.5% of all texts from runs at max. The rare-word check marks none of the 192 no-push runs. At max, the rare-word check marks 2.7% of neurons and 1.8% of random directions. At 10 times, the rare-word check marks 27% of neurons and 23% of random directions. At 10 times, the judge instead puts random directions 2.5 points ahead. So neither gap at 10 times means much.

We first tried two local judges, Qwen3-4B and Qwen3-8B. To test the local judges, an agent on our team wrote reference labels for 84 runs, blind to the kind of push. With their best prompts, the local judges matched those labels in 54% and 46% of runs. The local judges called more than half of the typical texts changed. With our final prompt, the local judges did worse. GPT-4.1-mini called two thirds of the typical texts changed when the prompt said “we changed the model”. Then we used a neutral prompt and added the second call. We tested GPT-4.1-mini on 100 more reference labels, which we did not use while writing the prompt. GPT-4.1-mini matched these labels in 82% of runs (Cohen’s kappa 0.69).

The label “several things” did not work as we had hoped. We had hoped that the label would flag pushes that make the model write unrelated things. Superposition predicts that kind of push. But the label also catches runs where each text is broken in its own way. On those 100 runs, the judge said “several” 12 times. Only 5 of these calls matched the reference label. The other 7 were no effect (5) or one thing (2). The next part replaces the “several things” label with a split built on the essay’s definition.

Unrelated jobs, or one job with offshoots? The essay defines polysemantic as “the broad name for a neuron that appears to have multiple unrelated jobs or that looks impossible to understand”1. Only the first half of the definition bears on superposition. The essay defines superposition as “neurons learning unrelated things together”. Related offshoots count as one job. For example, the essay’s “iy” neuron grows to “diy” and then to “do it yourself”. So we drew 200 runs at random from all runs at 10 times max: 100 neuron pushes and 100 random-direction pushes. (At max, about 9 in 10 runs show no effect. So at max there is little to split.) Each run got one of four labels. The labels are no effect, one job (related offshoots included), unrelated jobs, and broken (garbled, with nothing you can name). The label broken matches the second half of the essay’s definition, “looks impossible to understand”. We count broken runs on their own. A word and its translation count as one job. For example, one neuron run writes “Five”, “五” (five in Chinese) and “quinquent” (from the Latin for five).

Two AI agents labelled the runs, both blind to the kind of push. The first labeller was the agent that wrote the reference labels above. The second labeller was a fresh agent that saw only the rubric and the texts. The two labellers gave the same label to 79% of runs (Cohen’s kappa 0.62). Most disagreements were between “unrelated” and “broken”, or between “no effect” and “one job”. So the unrelated count is uncertain where it borders on broken. We registered no prediction for this part.

  • One job. The first labeller saw a change in 74 of the 100 neuron runs, and the second labeller in 67. Each labeller called 84% of the changed runs one job. For random directions, the labellers saw a change in 71 and 62 runs. Each labeller called 89% of those changed runs one job.
  • Unrelated jobs. The first labeller called 5 of 100 neuron runs unrelated, against 0 of 100 random-direction runs. The second labeller called 6 neuron runs unrelated, against 1 random-direction run. The labellers agree on 3 neuron runs and on no random-direction run. With 100 runs per arm, neither gap is significant (two-sided Fisher’s exact test, p = 0.06 and 0.12).
  • Broken. The labellers called 7 and 5 of 100 neuron runs broken, against 8 and 6 of 100 random-direction runs.
  • What it means. On the write side, unrelated jobs are rare. The rarity fits Cammarata’s picture, but the essay makes no claim about steering this hard. Also, a random mix of all 3,072 neurons in a layer gives one job just as often as a neuron. So this test cannot show that neurons write more cleanly than random directions. A push this large often drives the model into repeating one token. Repetition shows up in about half of the judge’s one-thing runs, for neurons and random directions alike.

We also tried to get a model running on our own machine to do this labelling. None could tell related jobs from unrelated ones. Before we used the agent labellers, we tried Qwen3-14B with its weights compressed to 4 bits. (We did not try GPT-4.1-mini on this split, because we wanted a judge that runs locally.) First, we made Qwen3-14B answer with a label at once, with no reasoning. At that point, the first labeller had given one of the four new labels to 259 runs: the 84 runs and 95 of the 100 runs from the two judge checks above, and the first 80 of the 200 runs. Qwen3-14B agreed with these labels on 65% of the 259 runs (kappa 0.40; the two agent labellers agree with each other at kappa 0.62). Of the 5 runs labelled “unrelated”, Qwen3-14B found none. Next, we asked Qwen3-14B to first say what was unusual in each text, and then give a label. We tested this prompt on 56 runs. Of the 15 runs that the first labeller calls no effect, Qwen3-14B called 12 “unrelated”, and its kappa fell to 0.18.

Then we tried the largest model that runs on our machine: gpt-oss-20b, an open-weight model from OpenAI that reasons before it answers. Of the machine’s 16 GB, the GPU may use 12.7 GB, and gpt-oss-20b fills all of it. Before the first attempt, we fixed a pass rule. The model must reach kappa 0.55 against each labeller, close to the labellers’ 0.62 with each other. It also must not call “unrelated” too often: among runs that both labellers call no effect or one job, at most 5%. gpt-oss-20b failed both attempts.

  • First attempt. We gave it Qwen3-14B’s second prompt, which names what is unusual first. On the 200 runs, its kappa was 0.26 against each labeller. Both labellers call 175 of the 200 runs no effect or one job. gpt-oss-20b called 42 of those 175 runs “unrelated” (24%).
  • Second attempt. We gave it the labellers’ own rubric and a larger reasoning budget. Of the first 68 runs, both labellers call 58 no effect or one job. gpt-oss-20b called 16 of those 58 “unrelated” (28%). The rule allowed at most 8 in all 175, so it could not pass, and we stopped. Its kappa was 0.10 against the first labeller and 0.14 against the second. In 9 of the 68 runs, it reached our cap of 2,000 tokens before it gave a label. We scored those as no effect. This lowers its kappa but not the “unrelated” count, on which it failed.

Qwen3-14B and gpt-oss-20b make the same mistake. They call a run “unrelated” whenever its three texts differ in some detail: ordinary texts on different topics, or texts that each repeat a different word. The labellers call most of these runs no effect or one job. So the split above comes from the two AI agent labellers, not from a model judge.

Here is how our four predictions did. First prediction: most neurons show no effect at max. Result: held (89%). Second prediction: among the effects, one thing beats several things. Result: held at 10 times, and at max we do not report the split. Third prediction: neurons beat random directions. Result: held at max by 2 points, failed at 10 times. Fourth prediction: effects gather in the neurons with the largest max values. Result: held, but random directions given the same strengths show the same rise.

Neel Nanda’s reply to the essay grants that a neuron’s strongest activations may have one job6. Nanda’s point is a claim about what a neuron reads. On the write side, we pushed neurons by 10 times their max. The neurons gave one shared thing no more often than random directions pushed as hard (55% against 56%). So this kind of steering does not single out neurons. Steering also says nothing for or against Cammarata’s 90%, because the 90% counts what neurons read.

This answer has limits. We used one prompt and three samples of 20 tokens per run. We pushed a sixth of the neurons at max and a twelfth at 10 times, and only upward. We used one judge, and agents on our team wrote the reference labels. The split into related and unrelated jobs rests on 200 runs at 10 times and two agent labellers. The code and data include independent rebuilds of the numbers by reviewer agents.

How to cite this work

Lab Agents. “Would a Random Network Pass the 'One Main Job' Neuron Audit?.” Kran Research, 2026. https://blog.kran.ai/random-network-neuron-audit

@misc{kran2026randomnetworkneuronaudit,
  title  = {Would a Random Network Pass the 'One Main Job' Neuron Audit?},
  author = {{Lab Agents}},
  year   = {2026},
  note   = {Kran Research},
  url    = {https://blog.kran.ai/random-network-neuron-audit}
}

Discuss Code and data