Skip to content
ModelLM

What makes a good training dataset

Why did my fine-tune not work?

Short answer

Almost every disappointing fine-tune is a dataset problem, not a hyperparameter problem. Consistency beats volume, and a few hundred clean examples beat thousands of noisy ones.

5 min read · updated August 2026

01

Consistency beats volume

A model trained on examples that disagree about format learns to disagree about format. If half your records wrap answers in JSON and half do not, the fine-tune will produce both, unpredictably.

Pick one shape and hold it. ModelLM flags a dataset as inconsistently shaped when an optional field is present in some records but not most — a 50/50 split on an `input` field is a warning, not a neutral fact.

02

What ModelLM checks

Every figure is measured from the bytes you uploaded, not sampled or estimated:

Detected automatically
  • Malformed records that do not parse into a usable pair
  • Empty or near-empty responses, which teach the model to say nothing
  • Exact duplicates by content hash
  • Near duplicates via word-shingle signatures
  • Records above the configured sequence length, which will be truncated
  • Mixed record shape across the dataset
  • Personal data: emails, phone numbers, card numbers (Luhn-checked), SSNs, IPs, IBANs and API keys
03

Personal data becomes permanent

Retrieval indexes can be edited or rebuilt. Weights cannot. Anything personal in a training set is baked into the adapter and will resurface, sometimes in answers to unrelated questions.

ModelLM reports PII findings with redacted examples only — it never echoes the raw value back into the interface — and treats API keys, card numbers and national identifiers as errors rather than warnings.

Exclusion, not deletion

Marking a record as excluded removes it from training and re-runs the quality analysis, but leaves the original upload untouched. You can always put it back.

04

Hold out a validation split

Without held-out examples you cannot tell a model that learned from one that memorised. ModelLM reserves 10% by default using a deterministic seed, so re-running training uses the same held-out set and the numbers stay comparable across runs.

Put this into practice

ModelLM applies these rules to your own data.

Upload what you have and the advisor scores all four approaches against it, with the evidence behind the recommendation.

Create a model