Glossary

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

  1. 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.
  2. 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.
  3. 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.

teacher modelfilter and verifierdedup, score, rejectstudent SFT

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.

Common questions about synthetic data

  • What is synthetic data in machine learning?

    Examples produced by a model or a program rather than collected from real events. For language models that means generated instructions, reasoning steps, tool-call transcripts, preference pairs or domain question sets.

  • Can synthetic data replace real data?

    Not as the evidence a change is safe. Generated examples can suggest a fix or force a rare case on demand, but held-out cases from real use decide whether it ships, and training only on model output wipes out the tails of the distribution.

  • When does synthetic training data work best?

    When the skill is narrow and each example can be checked mechanically. The phi-1 code model trained partly on 1B tokens of generated textbooks and exercises, and code tests made those exercises checkable.

Let's build something that ships.

Tell us what you're building. We'll tell you whether it needs a fixed-scope build, a prototype taken to production, or a programme we run, what's achievable, and where the real bottlenecks are.

Reply within 2h

We store your name, email, company, and message, and email a copy to hello@bigcircle.ai. Read the privacy page and the terms.