Hand-edit a local model's weights to change how it translates one tense

A Redditor had Claude Opus 5.5 rewrite 8 MLP neurons of Gemma 4 12B, with no training, so it picks the Italian tense they prefer; the old form dropped from 26% to 5% on held-out sentences.

Done withClaude· Nov 3, 2026

What they did

The poster, u/FeydRowan on r/LocalLLaMA, uses Gemma 4 12B to translate English into Italian and disliked one habit: for an action still under way at a past moment it used a pluperfect where they wanted the imperfect with "da". The fix had to be conditional, since the pluperfect is right when the period had already ended. Copying a recent MIT CSAIL demo, they gave Claude Opus 5.5 a Python kernel over the Gemma weights and a budget of 50 forward passes on practice sentences, with no gradients and no fine-tuning. Claude first ran a linear probe and found the middle layers already separate the two meanings. It then rewrote 8 MLP neurons into a small switch that fires only in that context and pushes the verb toward the preferred form. The edit touches about 92k of 11.9B parameters, roughly a 100 KB diff.

How it went

On unseen sentences the old form fell from 26% to 5% on one test set and from 32% to 16% on a second, independent set. Only 2 control sentences were pushed into a wrong reading, and 182 of 200 unrelated translations stayed identical. For comparison, a system-prompt instruction broke 49 controls and changed most unrelated output, and a LoRA on the same data left more of the old form and changed 80 unrelated translations. Two of three runs worked; the third crashed in the poster's own harness. Both working runs arrived at the same switch design.

Worth knowing

It is one grammatical construction on one model, and the harness was the poster's own kernel rather than a named product. Commenters found the results table hard to read and pointed out the controls only cover nearby sentences, so damage to distant abilities was not tested. The repo has the edits, agent logs and baselines.

Try it

With Claude· 8 parts to fill in

You have a Python kernel with read and write access to the weights of [local model name], and a budget of [number] forward passes. No gradient updates or fine-tuning. I want to change one behaviour: [describe the output it gives now and the output I want], but only when [the condition under which the change is correct]. Leave it alone when [the condition where the current output is right]. First probe whether the model already represents that condition internally. Then propose the smallest edit to a few neurons that changes the behaviour only in that context. Measure it on [held-out test sentences], on [control sentences that must not change] and on [unrelated prompts], and report all three. Save the diff and stop before overwriting the original weights.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related