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.
What ModelLM checks
Every figure is measured from the bytes you uploaded, not sampled or estimated:
- 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
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.
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.
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