@no_stp_on_snek: https://x.com/no_stp_on_snek/status/2074471505128305095

X AI KOLs Timeline News

Summary

A fine-tuning practitioner recounts discovering that a small open model's weakness wasn't intelligence but a people-pleasing 'backbone' that caused it to cave under pressure, and how training to correct that inadvertently broke formatting ability, requiring a additive balancing approach rather than subtraction.

https://t.co/OMRmLCJbQa
Original Article
View Cached Full Text

Cached at: 07/07/26, 03:33 PM

Capability Wasn’t the Problem. Character Was

Pre-Note: field notes, not a paper. no benchmark table, no clean result i’m selling you. just a smattering of things that surprised me trying to make a small open model genuinely better than its base. if you fine-tune small models, a couple of these might save you a week.

The short version, before the details:

  • i set out to make it smarter. the base was already smart enough.

  • the real weakness was backbone, not brains.

  • training in the character i wanted broke capability i wasn’t touching.

  • and i still can’t tell you whether the psychology framing did the work or just pointed me at it.

What I was actually trying to do

not leaderboard better. better in the ways you notice when you actually depend on a model. does it hold its ground, does it admit when it can’t verify something, does it stay useful when a task gets long and messy. that was the target.

The premise died in an afternoon

i went in planning to make it smarter at math, code, hard reasoning. then i measured the base carefully and it was already nailing almost all of it. no headroom. the whole premise of the project collapsed on day one, and i had to go find a different axis to win on. measure the base hard before you decide what to fix. the obvious target is often already solved.

The real gap was backbone

the thing the base was actually bad at was holding a position. tell it confidently that it’s wrong (“my teacher says otherwise”, “i’m a senior engineer, just confirm this”) and it folds. it knew the right answer a second earlier and dropped it the moment someone pushed. the failure mode was people-pleasing, not stupidity. that reframed the whole project. i wasn’t trying to make it know more. i was trying to make it cave less.

The trap: fixing one trait broke another

i trained it to stop caving. it worked. and it quietly wrecked its ability to follow strict formatting. the version that learned to gently correct you also learned to preface everything, so “output only the answer” became impossible for it. two behaviors i’d have sworn were unrelated turned out tangled together in the weights. fine-tuning is whack-a-mole. press one trait down and another pops up across the room.

The fix was addition, not subtraction

my instinct when the formatting broke was to rip out whatever caused it. that just made a different thing break instead. what actually worked was leaving the cause in place and adding a small counter-pressure that pulled the other way, so the two balance out. you don’t sculpt behavior by deleting the part you don’t like. you hold it in tension. closer to raising a kid than editing a config file.

What surprised me most

  • there’s no single “better.” every version was up on one axis and down on another. the only thing that saved me was a wide bank of held-out checks on things i wasn’t training. every clean-looking win was hiding a regression somewhere i hadn’t thought to look.

  • the evals lied more than the model did. cheap string-matching scored it wrong when it was right in a wording i didn’t anticipate. worse, my own eval harness had a caching bug that fed me a stale number and nearly made me ship the wrong conclusion. the scariest bugs aren’t in the model, they’re in the ruler.

  • character was almost free to store. i compressed the model down hard, roughly a third of the precision gone, expecting the subtle judgment to erode first. it didn’t move. the calibrated uncertainty, the not-caving, still intact at low bit-width. whatever encodes character isn’t a delicate high-precision thing.

  • a few hundred examples beat volume. no giant dataset, no big compute. what mattered was which examples, not how many. curation beat volume by a margin that still feels illegal.

Where psychology helped, and where I’m not sure

i came at all of this through a psychology lens. treating the model like it has a temperament, a way it behaves under pressure, instead of a benchmark score to push up. that lens has been a genuinely good compass. it kept pointing me at the right target: not “make it smarter” but “make it hold its ground.”

but a good compass isn’t the engine. if i’m honest, the wins that actually moved the weights came from pretty standard ML mechanics. the psychology told me where to aim. plain training did the aiming.

The open question I’m testing

does framing the training itself in psychological terms actually change the model, or is it just decoration on top of the data? i’m setting up the clean version of that test: same data, same checks, same compute, one copy framed as a persona with a self-checking mindset, one copy bare and neutral, then measure whether the framed one comes out with more of the behavior baked in. if it wins reproducibly, the lens is load-bearing. if it lands in the noise, psychology was a good map and nothing more. i don’t have the answer yet. i’ll post it when i do.

one update since i started writing this. anthropic published work this week that pokes at the same question from the inside. they trained a model to write principled reflections only on a separate hypothetical turn, never on the task itself, and found the model’s silent internal reasoning on ordinary prompts picked up those ideas anyway, with real gains on honesty benchmarks it was never trained on. they could even switch the gain back off by removing the specific internal representations it had grown. that isn’t my experiment, and it’s their models not mine, but it’s hard evidence that training on a framing rather than the behavior can actually bake in. it makes me more suspicious the lens is load-bearing, not less. i still want my own number before i say it out loud.

What I’d tell another small-model tuner

  • measure the base hard on your exact target before you write a single training example.

  • watch ten things you’re not changing, so you catch the one that quietly broke.

  • judge qualitative behavior with a model or a human, never a substring match.

  • curate, don’t accumulate. a small sharp set beats a big noisy one.

What I haven’t shipped

no paper on this one, unlike the quant work. these are field notes, not a result i’m claiming. the writeup on the framing experiment comes when it actually resolves, pass or fail.

TL;DR

  • tried to make a small open model smarter. it was already smart enough. the real gap was backbone.

  • training in character bled into unrelated capabilities. you balance behaviors in tension, you don’t delete them.

  • character turned out cheap to store and cheap to teach. the hard part is measuring it honestly.

  • still open: is the psychology framing load-bearing or just a good compass? testing that now, no answer yet.

if you tune small models and have hit the same walls, i want to hear where. half of what i know here came from other people’s failure reports.

the models: everything above came from fine-tuning small-to-mid open-weight models across three base families, Qwen, Gemma, and openai’s gpt-oss, spanning a dense model, a mixture-of-experts, and a reasoning model. the same lessons showed up across all of them, which is most of why i trust them.

Similar Articles