Data: The Real Determinant

You can pick the perfect technique, tune every hyperparameter, and rent the best GPU — and still get a worse model than you started with, because your dataset was mediocre. Fine-tuning quality is decided overwhelmingly by data quality, and a few hundred excellent examples beat tens of thousands of sloppy ones. This is the post that actually determines whether your fine-tune works.

The last posts made fine-tuning cheap and accessible with LoRA and QLoRA. But the technique is not what makes a fine-tune succeed or fail — the data is. The most common reason a fine-tuning project disappoints isn’t the method or the hyperparameters; it’s a dataset that’s too small, inconsistent, poorly formatted, or unrepresentative. This post is about the thing that matters most and gets the least glamour: building the dataset.

Why data dominates

Fine-tuning teaches the model by example — it learns the patterns in your training data, faithfully, including the bad ones. This has a blunt consequence: the model becomes your data. If your examples are inconsistent, the model learns inconsistency. If they contain errors, it learns errors. If they’re formatted three different ways, it learns to produce all three. Fine-tuning is a mirror, and it reflects the quality of what you show it.

This is why data quality dominates every other factor. A brilliant technique on a bad dataset produces a bad model; a basic technique (plain LoRA SFT) on an excellent dataset produces a great one. The leverage is enormously lopsided toward data — which is exactly backwards from where most people spend their attention (tweaking hyperparameters and methods). If you take one thing from this series about doing fine-tuning well, it’s: invest in the dataset first, most, and last.

Quality over quantity

The single most important and counterintuitive lesson: a small number of high-quality examples beats a large number of mediocre ones. People assume fine-tuning needs huge datasets; for SFT (from the spectrum post), the opposite is often true — a few hundred to a few thousand carefully crafted examples frequently outperform tens of thousands of scraped, noisy ones.

Why? Because the model learns behavior from patterns, and clean, consistent examples teach a clean, consistent pattern, while noisy examples teach noise. Adding more mediocre data doesn’t average out — it actively teaches the model the flaws. So the priorities:

This is liberating: you don’t need a massive data operation to fine-tune well — you need a disciplined one.

What makes a good dataset

Concretely, a fine-tuning dataset should be:

The recurring theme is that the dataset should be a faithful, clean, consistent representation of exactly the behavior you want, on exactly the inputs you’ll see. That’s a craftsmanship problem, not a scale problem.

Getting the data

Where do good examples come from? Several sources, each with caveats:

Whatever the source, the curation step — reviewing, correcting, filtering, ensuring consistency — is where the quality is made. Raw data of any origin becomes a good dataset only through disciplined curation.

Practical dataset discipline

Data is where fine-tuning projects are won or lost. With a clean, representative, consistent dataset and the efficient techniques from the earlier posts, you can produce a genuinely good fine-tune. The next posts cover pushing quality further with alignment, and — essential — how to know whether your fine-tune actually worked.

Key takeaways

Further reading

Sources & References