DataSetInspect
Check a fine-tuning dataset before you pay to train on it.
Training data is often your most sensitive data — this never leaves the tab
Dataset — JSONL, or a JSON array
Problems found
Example length distribution
Duplicates
Distributions
First rows
What it checks
Structure: every line parses as JSON, and every row matches the shape the
rest of the file uses — chat
messages, prompt/completion,
Alpaca instruction/output, or raw text.
Conversation validity: a system message that isn't first, two user turns in a
row, an empty content field, a conversation that ends on the user, or — the one that quietly
wastes a whole training run — an example with no assistant message at all,
which teaches the model nothing.
Duplicates: exact repeats, plus near-duplicates by word overlap (≥90%
Jaccard). Repeated examples get over-weighted during training and inflate your token bill for
no gain.
Length and balance: a distribution of example lengths with p50/p90/p99, so you
can see truncation risk before the provider silently clips your longest rows; plus class
balance when the rows carry a label. Token counts are estimates — an exact figure requires the
model's own BPE vocabulary, a multi-megabyte table this page deliberately doesn't ship.