When eval prompts appear verbatim inside an SFT file after a synthetic-data run, what's the root cause?
Same topic, related formats. Practice these next.
Same topic, related formats. Practice these next.
A team runs a synthetic-data generation pass over a labelled dataset to grow it 10x for SFT. After shipping the fine-tune, the on-call notices that several prompts from the eval set appear verbatim inside the training file. The generator was a strong teacher model and the input seeds were sampled from the original labelled pool. What specifically went wrong, and what is the correct process for splitting and generating?
Eval seeds were fed into the synthetic generator, so paraphrases of held-out items landed in training and inflated the post-FT scores.
Imagine writing a practice test for yourself by paying a tutor to invent new questions. You hand the tutor your real exam paper so they know the style. The tutor obligingly rewords each real question into ten new ones and you train on every one of them. Come exam day you ace it, but the score is fake because you essentially studied the answers. The fix is obvious once you see it. Keep the real exam locked in a drawer before the tutor sees anything. Only show the tutor a separate batch of warm-up problems. Then, after the tutor produces new questions, scan them against the real exam and throw out any that look suspiciously similar. The exam stays clean and your score reflects what you actually learned.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
6 min: name seed-set contamination, walk through how paraphrases bypass string dedup, prescribe split-first-generate-second with embedding-level similarity checks, and add an external held-out shard.
Real products, models, and research that use this idea.
What an interviewer would ask next. Try answering before peeking at the approach.
Red flags and common mistakes that signal junior thinking. Click to expand.
Splitting train and eval AFTER synthetic generation. By then the synthetic shard already encodes paraphrases of eval items and the leak is baked in.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.