PracticeFine-Tuning & Adaptation
Synthetic Data
At a glance
Training on model-generated examples, the workaround for the data wall and the fastest way to build SFT sets.
- Who this is for
- Engineers and technical readers learning the terms used in AI systems.
- Topics
- Fine-Tuning & Adaptation
- Practice
In short
Synthetic data is data generated by a model or a program instead of collected from real use, and in LLM work it means model-written examples used to train, tune or test another model. Bigcircle recommends generating it only for a behaviour with a mechanical check, such as code with tests, and keeping evals built from real use as the evidence a change is safe, because generated rows reproduce what the generator already knows. Voice agent testing applies that rule to synthetic callers.
Key facts
Definition
A generator writes many candidate examples from real seeds, a verifier or filter rejects the bad and duplicated ones, and only the survivors reach the student model.
How Bigcircle does it
- On the trademark drafting platform, Bigcircle fine-tuned on years of real attorney opinions normalised into one five-section template, so the model did not average a dozen individual writing styles.
- Bigcircle recommends deciding how a bad row would be caught before generating any, because a filter that is only another model's opinion multiplies the teacher's mistakes.
- Keep provenance on every row, deduplicate hard, mix real data back in, and read the generating model's terms of use before training on its output.
Comparison
Self-Instruct generated instructions from seed tasks and gave GPT-3 a 33% absolute gain on Super-NaturalInstructions, while repeated training on model output erases the rare cases in the tails of the data.
Synthetic data is data generated by a model or a program instead of collected from real use. In LLM work it usually means examples one model writes so that another model can learn from them: instructions with answers, step-by-step reasoning, tool-call transcripts, preference pairs, or question-and-answer sets for one domain. It is not good by default. The work is in generating far more candidates than you need, checking them, and training only on what survives.
The basic loop#
Self-Instruct set out the loop in 2022. Start from a small set of seed tasks, ask a model to write more instructions and answers in the same style, filter out the near-duplicates and the broken ones, and fine-tune on the rest. Applied to GPT-3, that gave a 33% absolute improvement on the Super-NaturalInstructions benchmark. Later recipes add personas, harder variants of each seed, and a stronger model (the teacher) writing examples for a smaller one (the student), which is also how distillation works.
The step that decides the outcome is the verifier in the middle. A generated maths answer can be checked by computing it, a function call by running it, a SQL fix by executing the query, a refusal against a written policy. Where no such check exists, the filter is another model's opinion, and volume mostly multiplies the teacher's mistakes. Start from the check. If you cannot say how a bad row would be caught, do not generate the rows yet.
What it cannot supply#
Generated data reproduces what the generator already knows. If you write the examples from your own prompt, you have trained an expensive copy of that prompt, and the judgement you hoped to capture is still missing. Our comparison of RAG, fine-tuning and agentic search makes the same point about choosing a fine-tune at all.
Repeat the loop on a model's own output and the rare cases go first. Shumailov and colleagues found that training on model-generated content makes the tails of the original distribution disappear, a defect they called model collapse. In a product those tails are the unusual customer, the edge-case clause, the caller with an accent the training set never had. Mix real data back in, and keep the synthetic share small enough that a reviewer can still find the real examples.
Real data also needs work before it beats generated data. On the trademark drafting platform, the fine-tuning corpus was years of real attorney opinions, and normalising them into one five-section template, tagged by mark type, jurisdiction and class, mattered more than we expected. Without it the model learns a dozen individual writing styles and averages them. Before generating new examples, check whether the examples you already own are in one consistent shape.
Where it helps, and where it does not count#
The strongest case is a narrow skill with a mechanical check. The phi-1 paper trained a 1.3B-parameter code model on 6B tokens of filtered web text plus 1B tokens of textbooks and exercises written by GPT-3.5, and reported 50.6% on HumanEval, a set of programming problems scored by whether the first attempt passes its unit tests. Code has tests, so the generated exercises could be checked.
Synthetic data is also useful for tests, with one limit. Synthetic callers can force an interruption or a noisy room on demand, before you have a recording of either. They speak the way they were prompted, and real callers do not. In our voice agent testing guide a synthetic call can suggest a change, and only a frozen set of recorded calls can pass it. The same rule holds for text: hold out evals built from real use, and never let generated cases be the only evidence a change was safe.
Synthetic values have one more use that is easy to miss. When a production failure becomes an eval case, replace names, account numbers and other personal details with consistent placeholders, or with synthetic values where the detail matters to the failure, before the case leaves production.
Before you train on generated rows#
Keep provenance on every row: which model wrote it, from which seed, under which prompt version. Deduplicate hard, because near-copies teach the student that one phrasing is the answer. Read the generating model's terms of use before you train on its output, since some providers restrict it. Then size the set to the one behaviour you are teaching, because the sets that work are small beside web-scale pretraining and dense in that behaviour.