DevelopmentSenior

Fine-tuning

Fine-tuning continues a model’s training on your own examples, so the behaviour you keep describing in the prompt becomes the behaviour it defaults to. It is excellent at teaching form, tone and judgement calls, and close to useless at teaching facts. The page opens with the eighteen gates worth clearing before a training run and the table that says which rung you actually need, then covers what the methods differ on, why the dataset is the whole project, the held-out comparison that decides whether it was worth doing, what it costs elsewhere in the model, and five documented cases.

Teaches
Behaviour and form
Does not teach
Facts you can cite
The real work
Building the dataset

Eighteen gates before a training run

A training run is a command that takes a few hours, and that cheapness is exactly what makes this page necessary: the expensive part is everything the run commits you to afterwards. Here is the whole list of gates first, numbered so a line can be cited in a planning meeting. A project that cannot answer 1.1 and 6.1 is not ready regardless of how good the data is, and those two are the ones most often skipped — the first because nobody wants to admit the prompt was never measured, the second because it is somebody else’s problem until it is nobody’s.

There are four ways to make a model behave the way a product needs, and each costs roughly an order of magnitude more than the one before it in time, money and what you have to maintain afterwards. Prompting changes in minutes and fixes format, tone and most behaviour. Retrieval takes days and is the only way to give the model facts it can cite, update and restrict per user. Fine-tuning takes weeks, most of them spent building the dataset, and moves consistent behaviour into the weights. Continued pretraining takes months and a serious budget, and is reserved for a domain whose language the base model does not speak. The dashed line marks the rung most teams climb too early.
  1. 1.Have the cheaper rungs been tried?

    1. The best prompt you can write has been measured on a held-out set, and you know its number.
    2. Retrieval has been tried for everything that is a fact rather than a behaviour.
    3. A stronger base model has been tried and priced, because it changes in an afternoon.
  2. 2.Is this the kind of problem it fixes?

    1. The problem is behaviour, form or judgement — not facts, prices, policies or anything that must be current.
    2. The requirement is stable enough that it will not change weekly, since each change costs a training run.
    3. Volume is high enough that a shorter prompt pays back the training and the maintenance.
  3. 3.Can you build the dataset?

    1. Labelling rules are agreed in writing before anybody labels anything.
    2. Examples come from real production input, including the messy ones and the ones that should be refused.
    3. Several hundred genuinely good examples exist or can be made, and somebody owns making them.
    4. A held-out slice is set aside before training starts and is never trained on.
  4. 4.Are you allowed to train on it?

    1. Personal data is removed or masked before training, not filtered at the output.
    2. You have the right to train on this content — customer data under a processing agreement, licensed corpora, another provider’s outputs.
    3. You know whether your provider trains on what you submit, which is a different question for a dataset than for a chat message.
  5. 5.Can you prove it worked?

    1. The comparison is against the best prompt on the base model, on the same held-out cases — not against nothing.
    2. The keeps a handful of general cases, not only the task you trained for.
    3. The gap is large enough to justify everything in group 6.
  6. 6.Who owns it afterwards?

    1. There is a named owner for retraining, by name rather than by team.
    2. There is an agreed cadence for re-running it when the provider ships a better base model.
    3. There is a documented path back to the base model plus a prompt, in case the tuned model has to be abandoned.
What is actually wrongThe rung you needWhy
The answer is confidently wrong about your product, prices or policiesRetrievalFacts absorbed into weights come back approximately, cannot be cited and cannot be corrected without retraining.
The output will not parse, or misses a fieldPromptingA schema plus two or three examples fixes format more reliably than training, in minutes rather than weeks.
The tone is nearly right but never quite yoursFine-tuningHouse voice is exactly what training moves into the weights, and it is hard to reach with instructions alone.
Your specialists agree on a call they cannot write down as rulesFine-tuningThey can demonstrate it in examples, which is what supervised tuning consumes.
The same 900-token instruction block repeats on every callFine-tuningAt high volume a shorter prompt is a real saving, and this is the one case where the economics alone justify it.
The model does not know your industry’s vocabulary at allContinued pretrainingMonths and a serious budget, and the honest advice is to check that the newest base model is still bad at it first.

The four rungs, and the rule about climbing

There are four ways to make a model behave the way your product needs, and they differ by roughly an order of magnitude each in cost, in the time to try something, and in how much you have to own afterwards. The rule that keeps teams out of trouble is simple: never climb a rung you have not been pushed off. Most projects that fine-tuned early discover afterwards that a better prompt and a retrieval step would have got them the same result in an afternoon — which is what gate 1.1 exists to find out before, rather than after.

  • Prompting

    Minutes to change, nothing to own. Fixes format, tone and most behaviour. Costs input tokens on every call, forever.

  • Retrieval

    Days to build. The only way to give the model facts it can cite, update and have restricted per user.

  • Fine-tuning

    Weeks, mostly spent on data. Moves consistent behaviour into the weights and shortens every prompt that follows.

  • Continued pretraining

    Months and a serious budget. Reserved for a domain whose language the base model genuinely does not speak.

There is one asymmetry in the ladder worth naming, because it changes how the decision ages. The lower rungs get better on their own: a new base model arrives, your prompt and your retrieval pipeline inherit every improvement in it for the cost of changing one string. The upper rungs do the opposite — a tuned model is pinned to the base it was trained on and inherits nothing, so the gap between "what we have" and "what is available" widens every quarter until somebody repeats the exercise. The ladder is therefore not a static picture of cost; it is a picture of which decisions keep paying and which start charging.

What the methods differ on

Two distinctions cover almost everything you will meet. The first is how much of the model you actually change. Full fine-tuning updates every weight, needs the hardware to hold optimiser state for the whole model, and produces a complete new model to store and serve. Parameter-efficient methods — LoRA is the one you will meet by name — freeze the original weights and train a small set of additional ones alongside, typically a fraction of a per cent of the total.

Full fine-tuning updates every weight, needs hardware that can hold optimiser state for the whole model, and produces a complete new model to store and serve. A parameter-efficient method freezes the original weights and trains a small set of additional ones alongside — typically a fraction of a per cent of the total. Two consequences follow straight from the picture. The training run fits on hardware you can rent by the hour, and the artefact is measured in megabytes, so one base model can serve several behaviours with a different adapter each, swapped at request time. That is why adapters are the default for product work and full fine-tuning is the exception that has to be justified.

The second distinction is what you show the model. Supervised tuning shows it input and the correct output, and it is the right tool whenever a correct answer can be written down — a classification, an extraction, a document in your house format. Preference tuning shows it two answers and which one a human preferred, and it exists for the cases where you cannot write the right answer but can recognise it: tone, helpfulness, how firmly to refuse. Preference data is much more expensive to collect and is worth reaching for only after supervised tuning has taken you as far as it goes.

ApproachWhat it is forWhat it costs you
LoRA / adaptersAlmost all product adaptation: format, tone, domain judgement, a narrow task done consistently.Hours of GPU time and a dataset. The adapter is small enough to keep several and switch between them.
Full fine-tuningA large behaviour shift across many tasks, where adapters measurably fall short.Serious hardware, a full model to store and serve, and a real risk of losing general ability.
Preference tuningQualities you can only judge by comparison — tone, helpfulness, how and when to refuse.Human comparison data, which is slow and expensive, and a second training stage to run.
DistillationReproducing a large model’s behaviour on one narrow task inside a small, cheap, fast model.Generating and checking the teacher outputs, plus checking the provider terms allow it — gate 4.2.
Continued pretrainingA domain with genuinely unfamiliar vocabulary — specialised medicine, law in a smaller language, novel formats.Months, a large corpus and a budget that needs approving. Rarely the right answer for a product team.

The dataset is the project

The training run is a command that takes a few hours. Everything that determines whether it worked happens before it, in the dataset, and teams consistently budget this the wrong way round. A few hundred genuinely good examples beat tens of thousands of scraped ones, because the model learns exactly what you show it — including the inconsistencies. Two annotators who disagreed about the same case teach the model to be inconsistent in precisely that place, so gate 3.1, agreeing the labelling rules in writing before anyone labels anything, is not process for its own sake.

The dataset also has to look like production, which sounds obvious and is routinely violated. Real input is messy: typos, mixed languages, pasted email signatures, empty fields, questions the system should refuse. If every training example is a clean, well-formed request, the model learns that the world is clean and behaves unpredictably the first time it is not. Include the awkward cases and the refusals deliberately, in roughly the proportion they occur.

Proving it worked

Hold examples back before you start, and never train on them. Without a held-out set you have no way to distinguish a model that learned the task from one that memorised your examples, and the second looks perfect on everything you measured. That much is standard practice. The part that is not standard practice, and is the reason this section exists, is what you compare the held-out score against.

The training run is a command that takes a few hours; everything that decides whether it worked happens before it. Hold examples back before you start and never train on them, because without a held-out slice there is no way to tell a model that learned the task from one that memorised your examples — and the second scores perfectly on everything anybody measured. Then run the comparison teams skip: the honest baseline is not zero, it is the best prompt you managed on the base model, on the same held-out cases. The gap between the two bars is what you actually bought, and its price is a retrain and a re-evaluation every time the provider ships a better base. A small gap means you bought the maintenance obligation and nothing else.

The comparison that matters is not the tuned model against nothing — it is the tuned model against the best prompt you managed on the base model, on the same held-out cases. Against nothing, every tuned model is a success, which is why almost every internal report reads like one. Against a serious prompt, a large share of them turn out to have bought two or three points and a maintenance obligation, and knowing which kind you have is the difference between a decision and a purchase.

One practical note on the size of the gap. A difference of a point or two on fifty held-out cases is one or two cases, which is noise — the same set run twice on the same model will move that much on its own. If the decision rests on a small gap, either grow the held-out set until the gap is bigger than the noise, or accept that you cannot tell them apart and take the option with less to own. That second outcome is a real and respectable result, and it is much cheaper to reach here than in the quarter after the base model changes.

What it costs elsewhere, and who pays it later

A model tuned hard on a narrow task gets worse at things it used to do. Ask a model trained only to emit classification labels to explain its reasoning and you may get a label. That is the expected consequence of pushing the weights toward one distribution, and the uncomfortable part is that an evaluation set containing only the task you trained for cannot see it: the number on your report keeps improving while something nobody is measuring goes the other way.

Neither curve is measured data and the axis carries no numbers, because the claim is about the shape. Pushing the weights towards one narrow distribution raises the task you trained for and lowers things the model used to do — ask a model tuned only to emit classification labels to explain its reasoning and you may get a label. The shaded band is the uncomfortable part: past that point the number on your report is still improving while something nobody is measuring has already started to go. An evaluation set containing only the task you trained for cannot see the second line, which is why a handful of general cases belong in it permanently.

That trade-off has a safety-shaped version worth knowing about, because it surprises people who assumed alignment is a property of the base model rather than of its current weights. Published work has shown that a small number of adversarial examples and a few dollars of fine-tuning can strip most of a model’s refusal behaviour, and that even entirely benign fine-tuning degrades it measurably. If your product relies on the base model declining certain requests, that reliance does not automatically survive your training run, and gate 5.2 — keeping general cases in the evaluation set — is what turns it from an assumption into a check.

The bill people forget is the one that arrives later. A tuned model is pinned to the base it was trained on, so when the provider ships a better base — which now happens several times a year — your tuned model does not inherit any of it. You are choosing between staying on an ageing base and repeating the whole exercise: retrain, re-evaluate, re-deploy. Gate group 6 is the cheapest possible version of that conversation: a name, a cadence, and a written way back to the base model plus a prompt if the answer turns out to be that the gap has closed.

Serving splits into two very different situations. A hosted provider takes your dataset, returns a model id, and the rest of your code is unchanged — you pay a premium per token and you are done. Self-hosting an open-weights model with your adapter gives you control over data residency and unit cost at high volume, and hands you a fleet to run, with capacity planning, batching, trade-offs and an on-call rota. That second path is a platform commitment, not a deployment step, and it is worth naming as such before the decision is made by default.

Five training runs and what they taught

Two of these are older than the current generation of models and are here because the mechanism has not changed: what is in the data is what comes out, and nothing downstream repairs it. The other three are about the decision rather than the data — what imitation actually copies, how fast a domain-trained model is overtaken, and what a training run does to behaviour nobody was training.

CaseWhat happenedWhat it settles
Microsoft Tay, March 2016A chatbot that learned from what users said to it was withdrawn within about sixteen hours, after a coordinated effort taught it exactly what it was designed to learn.The data is the model. There is no separate layer where intent lives, and nothing filters at the output what the weights absorbed.
Amazon recruiting tool, 2018Trained on ten years of submitted CVs, an experimental screening model learned to penalise the word "women’s" and to downgrade graduates of two women’s colleges. The project was scrapped.The dataset carries the history of whoever produced it. "Representative of our data" and "what we want" are different requirements.
Stanford Alpaca, March 2023A small model tuned for a few hundred dollars on generated instruction examples produced answers that read like a far larger model’s. The public demo came down within about a week; published follow-up work showed imitation closes the style gap and leaves the capability gap.Tuning moves form, not knowledge. An output that sounds like the teacher is the cheapest thing to copy and the least useful.
BloombergGPT, March 2023A fifty-billion-parameter model trained on a large financial corpus, a genuinely serious piece of work. Within about a year, general-purpose models with good prompting were matching or beating it on most of its own published benchmarks.The upper rungs do not inherit progress. Time works against a trained model and for a prompt, which is the asymmetry in the ladder.
Safety erosion, October 2023Published research showed that roughly a hundred adversarial examples and a few dollars of fine-tuning stripped most of a hosted model’s refusal behaviour — and that benign fine-tuning degraded it measurably as well.Alignment is a property of the current weights, not of the family name. If you tune, you re-test the behaviour you were relying on.

Where it degrades

The honest limit is that fine-tuning is a way of buying consistency, and consistency is not the same as correctness. It will make a model do reliably whatever the dataset showed it, including the parts nobody meant to show it, and it will do so with no way to cite, update or explain any individual behaviour afterwards. Everything below is a version of expecting it to do something else.

  • Fine-tuning before a serious attempt at prompting and retrieval, which usually would have been enough.
  • Training on documents to teach facts, producing fluent answers with quietly wrong details.
  • No held-out set, so a memorised dataset is indistinguishable from a learned task.
  • Comparing the tuned model against nothing instead of against the best prompt on the base model.
  • Treating a two-point gap on fifty cases as a result, when the same set run twice would move that much.
  • Inconsistent labels, which teach the model to be inconsistent in exactly those places.
  • Clean training data for a messy production input, so the first malformed request behaves unpredictably.
  • Measuring only the trained task, so the abilities the run cost you never appear on any report.
  • No plan and no owner for retraining, leaving the tuned model pinned to a base nobody wants to be on.

When to use it

Use it when

  • A narrow, high-volume task where the same long instructions repeat on every call and dwarf the input.
  • Output that must match a strict house format or vocabulary that prompting keeps almost — but not quite — getting right.
  • Moving a proven task from an expensive model onto a small one, once the quality bar is already established.
  • Judgement calls your specialists make consistently and cannot write down as rules, but can demonstrate in examples.

Avoid it when

  • Teaching facts, prices, policies or anything else that must be current, citable or restricted per user.
  • Requirements still moving weekly, where each change costs a training run instead of a prompt edit.
  • Datasets you cannot make consistent, since inconsistency is the one thing training reproduces faithfully.
  • Teams with nobody to own retraining, where the tuned model becomes the oldest thing in production.

Sources and method

What this page stands on

  • 9 sources
  • 2 documented failures
  • Checked October 13, 2026

Researched with Claude. Finding and cross-checking the primary sources was done with Claude (Anthropic). Selection, writing and fact-checking: the Anatomy of IT Product editors.

Found this useful?

Share it with someone who is working on the same problem.