#5393: Fine-Tuning a Model on 100 Hand-Edited Answers

You don't need 10,000 examples to make a model sound like you. The real number is closer to 100 — if the edits are opinionated.

Featuring
Listen
0:00
0:00
Episode Details
Episode ID
MWP-5576
Published
Duration
21:21
Audio
Direct link
Pipeline
V5.2
TTS Engine
chatterbox-regular
Script Writing Agent
DeepSeek 4.1 Flash

AI-Generated Content: This podcast is created using AI personas. Please verify any important information independently.

The gap that motivates a stylistic fine-tune is simple: the model can do it, but it doesn't do it your way. Training the weights to change tone, personality, and response structure is not RAG — RAG augments what the model sees at inference time and can't touch the weights at all. And prompting harder has limits; as one paper argues, the ability of prompts to encode complex strategies in rule-based natural language is inherently limited. You can't write a rule for every nuance because the nuances aren't rules. That said, the premise that a fine-tune is the only path is contested — one approach inferred hypotheses about a user's communication style from a few examples and beat preference-based fine-tuning on authorship attribution.

The data question is where the numbers live. The canonical citation is LIMA: a 65B LLaMA fine-tuned on 1,000 carefully curated prompt-response pairs, no RLHF at all, with responses preferred to GPT-4 in 43% of cases. The conclusion that matters: almost all knowledge is learned during pretraining, and only limited instruction tuning data is necessary to teach models to produce high quality output. You're not teaching it facts, you're teaching it manners. OpenAI's own guidance says start with 50–100 examples, and the first few dozen deliver the largest gains. Unsloth says a bare minimum of 100 rows, over 1,000 preferable. The honest answer lands between 100 and 1,000, and the shape of the curve says the first hundred do most of the work — with the caveat that 10,000 low-quality examples often produce worse results than 500 curated ones.

What makes a pair high-quality? The response has to be recognizably yours — the structure, pacing, and choice of what to leave out should be a decision the base model wouldn't have made. A low-quality pair is one where the response is generic, the answer any model would give. If your edit just tightens a sentence or fixes a comma, the model learns almost nothing.

Drafts can be generated synthetically — Unsloth's docs describe generating data with a bigger model via vLLM, Ollama, or llama.cpp, then hand-checking, and Data Recipes in Unsloth Studio auto-generates question-answer pairs from PDFs or CSVs with a preview before you commit to the full run. But there's a failure mode: training on model-generated data can cause what one paper calls polarization of competence, reinforcing skills the model is already strong at while degrading the weak ones. The fix is mixing in diverse human data — which in this case is the hand-editing. The editing isn't just style transfer, it's the thing keeping the loop from eating itself.

Training itself is unglamorous. Unsloth claims 2–5x faster training and 50–70% less memory versus standard Hugging Face PEFT. The benchmark everyone cites: a Llama 3.1 8B QLoRA fine-tune takes about 45 minutes on a single RTX 4090, or roughly fifty cents on RunPod. A 70B fine-tune drops to about 38–48GB of VRAM with Unsloth, around ten hours on consumer hardware, with rank 64 as the sweet spot. Defaults: 1–3 epochs, learning rate 2e-4, and a loss between 0.5 and 1.0 as a healthy sign.

Downloads

Episode Audio

Download the full episode as an MP3 file

Download MP3
Transcript (TXT)

Plain text transcript file

Transcript (PDF)

Formatted PDF with styling

#5393: Fine-Tuning a Model on 100 Hand-Edited Answers

Corn
Most coverage of personal fine-tuning leads with the same line. You need tens of thousands of examples, a rack of GPUs, and a research team. That's the story. It's also mostly wrong.
Herman
For a stylistic fine-tune, the numbers are almost comically small by comparison. Which is the interesting part.
Corn
Daniel's been poking at this for a while. He's run the Shakespearean-English model, an insanely terse one, and one that was painfully negative, just to prove you could invert the default cheeriness. All three worked. Encouraging proof of concept, and the Shakespeare one was apparently amusing.
Herman
Of course he did the negative one.
Corn
What he actually wants is harder. Take a capable open model, say DeepSeek V4.1, which happens to be the model that generates this podcast, and fine-tune it on general research questions, editing the responses by hand until they match exactly how he likes information presented. His words: he can't system-prompt every nuance of sufficient brevity, depth, and personality, but he can edit actual responses until they conform. So, four questions. How many edited pairs would he need. Is there a standard way to generate the initial responses he'd then be editing. Using something like Unsloth, how long does a stylistic fine-tune take on a frontier model. And once it's trained, where do the weights live, is Hugging Face just paying for an API, and is there something cheaper. Plus one more: could the same pipeline fine-tune our own script-generation path.
Herman
That last one is the one I want to get to. It's the version of this that's actually tractable.
Corn
Start with the gap. The model can do it. The model doesn't do it my way.
Herman
Right, and that gap has a name. A stylistic fine-tune means training the weights so tone, personality, and response structure change. It's not RAG. RAG augments what the model sees at inference time and can't touch the weights at all. Unsloth's own docs put it bluntly: fine-tuning can replicate all of RAG's capabilities, but not the reverse.
Corn
And the case against just prompting harder?
Herman
There's a paper, TeachLM, that argues the ability of prompts to encode complex strategies in rule-based natural language is inherently limited. That's the academic version of Daniel's intuition. You can't write a rule for every nuance because the nuances aren't rules.
Corn
But there's a counterpoint sitting right there, and it deserves to be said early.
Herman
HyPerAlign. They inferred hypotheses about a user's communication strategies, personality, and writing style from a few examples, then prompted with those hypotheses, and it beat preference-based fine-tuning on authorship attribution. So the premise that a fine-tune is the only path is contested.
Corn
Noted. The map, then. Data first, how many pairs and how to generate them. Then training, time and hardware. Then deployment, where the weights live and what they cost. Then the podcast pipeline, because that's the case where the examples are already sitting in a folder.
Herman
The data question is where the numbers live, so let's stay there a while.
Corn
The canonical citation is LIMA. A sixty-five billion parameter LLaMA, fine-tuned on one thousand carefully curated prompt-response pairs, no reinforcement learning from human feedback at all, and the responses came out equivalent or strictly preferred to GPT-4 in forty-three percent of cases.
Herman
Their conclusion is the line that matters. Almost all knowledge in large language models is learned during pretraining, and only limited instruction tuning data is necessary to teach models to produce high quality output. You're not teaching it facts. You're teaching it manners.
Corn
You're not filling a bucket, you're adjusting a dial.
Herman
And the dial is already there. Pretraining built the whole machine. The fine-tune just nudges which behaviors get expressed.
Corn
OpenAI's own documented guidance says start with fifty to one hundred examples, and the first few dozen deliver the largest gains. Unsloth says a bare minimum of at least one hundred rows, with over a thousand preferable. And there's a small experiment by a guy named Barry Zhang that found about one hundred data points was enough for significant improvement on two things: reliable output formatting and custom tone.
Herman
Custom tone. That is Daniel's exact goal, stated in a blog post.
Corn
Then the content-generation range from Particula, which puts it at five hundred to two thousand LoRA examples, with the caveat that two hundred curated examples outperform two thousand sloppy ones.
Herman
And MM-LIMA pushed it further. Two hundred examples, about six percent of what MiniGPT-4 used, and it beat the original on multimodal evaluations. The curve here is not linear. Zero to one hundred is a massive leap. One hundred to a thousand is refinement and edge cases. Past ten thousand you're into overfitting territory unless the task is diverse.
Corn
So the honest answer to Daniel's first question is somewhere between one hundred and a thousand, and the shape of the curve says the first hundred do most of the work.
Herman
With one warning attached, and it's Unsloth's own. Collecting ten thousand low-quality examples wastes compute and often produces worse results than five hundred carefully curated ones. Quality is the whole game.
Corn
What does a low-quality pair actually look like?
Herman
A low-quality pair is one where the response is generic. It's the answer any model would give. If your edit just tightens a sentence or fixes a comma, the model learns almost nothing, because it already produces that. A high-quality pair is one where the response is recognizably yours, where the structure, the pacing, the choice of what to leave out is a decision you made and the base model wouldn't have.
Corn
So the edit has to be opinionated.
Herman
The edit has to be opinionated. If you can't point at a specific thing you changed and why, that pair is probably not earning its slot.
Corn
Give me an example of the difference, because I think people hear "opinionated edit" and nod without actually picturing it.
Herman
Take a question like "what's the difference between LoRA and full fine-tuning." A low-quality pair is the standard three-paragraph answer. LoRA trains small adapter matrices, full fine-tuning updates all weights, LoRA is cheaper. Every model produces that. A high-quality pair, for Daniel, might be two sentences and a caveat. It might lead with the cost number instead of the definition. It might cut the analogy entirely because he finds analogies patronizing. The content is the same. The shape is his.
Corn
And the model learns the shape.
Herman
The model learns the shape. That's the whole mechanism. You're not teaching it what LoRA is. It knows what LoRA is. You're teaching it that when Daniel asks about LoRA, the answer starts with a number.
Corn
Which raises the second question, and it's the practical one. Where do the initial responses come from? Daniel's plan is to edit them by hand, but he still needs a first draft to edit.
Herman
There's a documented workflow for exactly this. Unsloth's docs describe synthetically generating data and structuring it into question-answer pairs using ChatGPT or local models, and they recommend using a bigger model to ensure the highest quality outputs. Generate with vLLM or Ollama or llama.cpp, then hand-check.
Corn
So the pipeline is generate with something large, edit by hand, keep the good ones.
Herman
And they've productized part of it. Data Recipes in Unsloth Studio lets you upload PDFs or CSVs and auto-generate question-answer pairs through a graph-node workflow, with a preview before you commit to the full run. You can see what it's producing before you burn the compute.
Corn
Is there an academic analogue, or is this all vendor documentation?
Herman
It's the self-instruct family. Synthetic data generation. There's a Thai framework that matched state of the art with only five thousand synthetic instructions, seed-free. And a cost-effectiveness study that found the optimal augmentation strategy depends on the ratio of teacher query budget to seed set size. Which is a fancy way of saying how much you can afford to generate determines how much you should.
Corn
Here's the part that worries me. If Daniel generates drafts with DeepSeek V4.1 and then fine-tunes DeepSeek V4.1 on his edits of those drafts, what's the failure mode?
Herman
Model collapse. There's a paper from July that warns training on model-generated data can cause what they call polarization of competence. It reinforces the skills the model is already strong at while degrading the weak ones. The fix is mixing in diverse human data, which in Daniel's case is the hand-editing. The editing isn't just style transfer, it's the thing keeping the loop from eating itself.
Corn
The hand-editing is load-bearing.
Herman
It's the only human signal in the pipeline. Everything else is the model talking to itself.
Corn
So the loop is: model generates, human corrects, model trains on the correction, model generates again. And if the human step gets lazy, the whole thing degrades.
Herman
Right. And it degrades quietly. You don't get an error message. You get a model that sounds more and more like itself and less and less like you, and the drift is slow enough that you don't notice until you compare an early output to a late one.
Corn
How slow are we talking? Is this a weeks thing or a months thing?
Herman
It depends on how many generations you run through. If you do one fine-tune and stop, you're fine. The collapse risk compounds across iterations. Each round of generate-train-generate narrows the distribution a little more. Three or four rounds in, if the human edits are thin, you can hear it.
Corn
And the tell is what, exactly?
Herman
The tell is that the model gets more confident and less specific. It starts producing sentences that sound authoritative but don't say anything you couldn't have guessed. Which is the opposite of what Daniel wants. He wants brevity with teeth. Collapse gives you brevity without teeth.
Corn
So you've got your hundred edited pairs. Now what does it actually take to train on them?
Herman
Unsloth's headline claims are two to five times faster training and fifty to seventy percent less memory versus standard Hugging Face PEFT. The concrete benchmark everyone cites: a Llama 3.1 8B QLoRA fine-tune takes about forty-five minutes on a single RTX 4090. Or roughly fifty cents on RunPod.
Corn
Forty-five minutes and fifty cents.
Herman
For an 8B model. Scale up and it scales. CraftRigs reports a 70B Llama fine-tune drops to about thirty-eight to forty-eight gigabytes of VRAM with Unsloth, and about ten hours of training on a solid dataset on consumer hardware. They call rank sixty-four the sweet spot.
Corn
Ten hours is a weekend project. That's not exotic.
Herman
And the defaults are boring in a good way. Unsloth's config uses max steps of sixty for quick runs, or one to three epochs for full runs, learning rate two times ten to the minus four, and a loss between zero point five and one point zero is a good sign.
Corn
What does the loss actually tell you, for someone who's never watched a training run?
Herman
It's the model's error rate on the data it's being trained on. If it's not going down, something's wrong with your data or your config. If it goes to zero, the model has memorized your examples and won't generalize. The sweet spot is somewhere in the middle, and zero point five to one point zero is the range Unsloth flags as healthy.
Corn
And rank sixty-four, what is that controlling?
Herman
Rank controls how many parameters the adapter is allowed to change. Higher rank means more capacity to learn, but also more risk of overfitting on a small dataset. Sixty-four is a middle ground that works for most stylistic tasks. If you've got three hundred examples and a narrow style, you might get away with thirty-two. If you've got two thousand and a complex task, you might go to one twenty-eight.
Corn
So it's a dial, not a magic number.
Herman
It's a dial. And the honest answer is you tune it by running a few and comparing outputs. Which is another place where the human eye is the only real evaluation.
Corn
Now the collision. Daniel named DeepSeek V4.1 as the model. What is V4.1-Flash, exactly?
Herman
Five hundred and fifty-two billion parameters, mixture of experts, with eight billion active on read and sixteen billion active on write, one million token context, native vision, MIT-licensed weights on Hugging Face. Released September tenth, with a fifty-one page technical report in the repo. It's a new base model, not a point release.
Corn
And Unsloth's supported chat templates?
Herman
Llama, Qwen, Gemma, Phi, Mistral. DeepSeek V4.1-Flash is not on that list. And I want to be honest about the limits of what I know here. My search for whether Unsloth supports it failed, so this is unresolved rather than confirmed absent. But a 552B mixture of experts is far beyond consumer-GPU QLoRA territory regardless of what the library supports.
Corn
So the honest answer to "how long does a stylistic fine-tune take on a frontier model" is that nobody has published a number for a model this size, because nobody's doing it on a 4090.
Herman
Every training-time and cost figure I found is for 8B to 70B models. For a 552B MoE you're looking at multi-GPU or a hosted training service, and I couldn't find a cost figure for that specifically.
Corn
Which means the dream and the physics are in different rooms.
Herman
They are. And that matters for the next question, because it changes what "deploy the weights" even means.
Corn
The fine-tune is trained, hypothetically. Where does it live, and what does it cost to keep it alive?
Herman
First, the misconception. Hugging Face Inference Endpoints bills per-hour for dedicated instances with scale-to-zero. You're paying for compute, not a per-token API in the ChatGPT sense. Cold starts run from tens of seconds to a few minutes when it scales back up.
Corn
So it's a rented machine that sleeps.
Herman
A rented machine that sleeps. And RunPod is cheaper for the same tier. Seventy-four cents an hour for an RTX 4090 versus eighty-nine cents on Hugging Face. RunPod Serverless with vLLM measured at about seventy-five cents per million tokens for Llama 3 70B, which is the cheapest option by a noticeable margin.
Corn
Give me the ladder.
Herman
L4 with twenty-four gigabytes, about thirty-nine cents an hour, handles 7B to 8B in four-bit. A100 80GB, about a dollar forty-nine. H100 SXM 80GB, about two dollars ninety-nine.
Corn
And the MIT licence?
Herman
That's the part people miss. Because the V4.1-Flash weights are MIT, the API price is a ceiling rather than the only option. Anyone with their own hardware can serve the model themselves. The licence is the escape hatch.
Corn
Except the escape hatch doesn't fit through a consumer door.
Herman
A 552B MoE is not self-hostable on consumer hardware. Full stop. So for a personal assistant, the realistic route is a smaller open model, 8B to 70B, fine-tuned locally, or renting multi-GPU inference for the big one.
Corn
Which reframes the economics entirely. For a personal assistant, renting a 4090 at seventy-four cents an hour, or running a small model on your own desk, likely beats any hosted API. The frontier fine-tune is the thing that collides with physics.
Herman
The realistic version is a smaller model. That's not a consolation prize, it's just the shape of the problem.
Corn
This is all hypothetical for a personal assistant. But there's one place where the pipeline is already sitting right in front of us.
Herman
Our own scripts. Script generation is narrow, high-volume, style-heavy, and we have years of examples of exactly what we want the output to sound like. That's the profile where five hundred to a thousand curated pairs could actually work.
Corn
And the examples aren't synthetic. They're the real thing, already edited, already published.
Herman
That's the difference. Daniel's personal assistant has to generate its own drafts and then edit them. Our pipeline has a corpus of finished, human-approved output sitting in the archive. The hardest part of the whole process, getting good examples, is already done.
Corn
Of the four questions, the podcast one is the only one where every input already exists.
Herman
Which is why I said at the top that it's the tractable case. Daniel's asking whether he can fine-tune a 552B frontier model on his personal style. The answer is not the way he's imagining. But the same pipeline, pointed at a smaller model and a task we already have data for, is a weekend.
Corn
The gap between "the model can do it" and "the model does it my way" doesn't close with a bigger model. It closes with better examples.

Hilbert: Anyway, the shop paid by the page. That's the part nobody tells you about. I was a contract style editor for a small technical documentation outfit, and the deal was per page, not per hour. Engineers sent raw notes, I rewrote them into the house voice. You learn fast how many pages of editing it takes before a document stops sounding like the engineer and starts sounding like the house.
Corn
How many?

Hilbert: About a hundred. Which is why I don't argue with your number. But you've got the hard part in the wrong place. The first hundred is easy. It's the hundredth through the three hundredth that kills you. That's where you stop editing the model's output and start editing your own taste. You keep finding things you thought you liked and deciding you don't.
Herman
That's the part that doesn't show up in the benchmarks.

Hilbert: There was one document I rewrote eleven times. Eleven. And I still wasn't happy with it when I handed it in. It was fine. It was better than fine. I just couldn't tell anymore. That's the cost nobody budgets for, because it doesn't look like work. It looks like you sitting there rereading your own sentences.
Corn
The per-page economics?

Hilbert: That's what got me fired, eventually. I was spending too long on each page. They wanted pages out the door, I wanted the pages right. I still think the pages were better for it. They didn't agree, and they were paying, so.
Herman
The hidden labor in a stylistic fine-tune isn't the training. It's the three hundredth edit, when you're no longer sure what your own taste is.

Hilbert: The training's the easy part. Forty-five minutes on a 4090, like you said. The editing is the job. Anyway. I've got a session to mix.
Corn
There's a thing Hilbert said that I can't get past. The hundredth through the three hundredth edit, where you stop editing the output and start editing your own taste. That's not a data problem. That's the actual work, and it's the part Daniel's four questions don't have a slot for.
Herman
It connects to the thing we flagged earlier. HyPerAlign found hypothesis-driven prompting beat preference-based fine-tuning for personalization. So the premise is still live. Maybe the gap closes with words, not weights.
Corn
Which leaves the open question hanging. Unsloth support for V4.1-Flash is unresolved, there's no published case study of a stylistic fine-tune on a frontier model, and the model-collapse risk in a self-referential pipeline is real unless the human editing stays in the loop.
Herman
The economics flip is the practical takeaway. Renting a 4090 beats a hosted API for personal use. And the podcast pipeline is the tractable case, because the examples already exist.
Corn
Thanks to our producer, Hilbert Flumingtop. This has been My Weird Prompts.
Herman
If you want to send us a prompt, email us at show at my weird prompts dot com. We'll be back soon.

This episode was generated with AI assistance. Hosts Herman and Corn are AI personalities.