Concepts / Synthetic Instruction Data Generation

Synthetic Instruction Data Generation

Synthetic instruction data is training material that is produced by a model rather than collected directly from people or from the open web.

  • Programming

A Tempting Shortcut

Synthetic instruction data is training material that is produced by a model rather than collected directly from people or from the open web. Once you know that a model can generate training data, a natural first guess follows: if a model learns from text that another model generated, then the learning must be model distillation. The guess feels reasonable because distillation also involves a larger model producing material that a smaller model learns from. The shortcut hides an important difference, and this article separates the two ideas so that you can describe a training setup accurately.

What do you think happens?

If a smaller model is trained on text that a larger model generated, is that always model distillation?

  • Yes, any training on generated text is distillation

  • No, distillation is one specific setup that uses synthetic data

  • Only if the larger model is at least ten times bigger

Reveal answer
Answer:

No, distillation is one specific setup that uses synthetic data

Distillation has a specific goal: a smaller student model is trained to mimic a larger teacher, and the teacher's performance serves as the student's gold standard. Other setups that use synthetic data have different roles and different goals, so the shortcut hides real differences.

What Distillation Means

Definition

Model distillation trains a smaller student model to mimic a larger teacher. The teacher's performance is treated as the student's gold standard, meaning the student is trying to reach the level the teacher already shows. Distillation can reduce inference costs, because the smaller student is cheaper to run than the larger teacher it imitates.

Notice the two words that define the setup. The first is mimic: the student is shaped to behave like the teacher. The second is gold standard: the teacher is the reference point against which the student's success is judged. If you remove either idea, the setup is no longer distillation in the sense the source describes.

Following the Synthetic Data Between Two Models

Synthetic data is generated by one model and then used to train another model. In a distillation setup, the teacher is the generator and the student is the learner. The synthetic data is the material that moves between them. Tracing that movement step by step makes the roles concrete, so follow the data from its origin to the point where the student is trained on it.

Teacher modellarger model producesoutputsSynthetic datahanded over for trainingStudent modelsmaller, learns to mimicteachergeneratestrains
How does information move from the larger teacher model's outputs into the smaller student model's training?

In this diagram the teacher never trains the student directly through its weights. The only thing that crosses the boundary is the generated data. The student learns from that data, and the teacher's performance is the target the student is measured against.

Tracing a Real Distillation Case

Worked example

Identifying the roles in the BuzzFeed setup

BuzzFeed finetuned a Flan-T5 model using LoRA and examples generated by OpenAI's text-davinci-003. The resulting model reduced their inference cost by 80%, though the source notes it was unclear how well that model performed. Identify the generator, the learner, the evaluation question, and the benefit.

  1. 1
    Identify the generator

    The examples used for finetuning were generated by text-davinci-003, so that model plays the teacher role.

  2. 2
    Identify the learner

    The Flan-T5 model was finetuned on those examples, so it is the student that learns from the teacher's output.

  3. 3
    Identify the benefit

    The source reports an 80% reduction in inference cost, which is the practical reason this setup is attractive.

  4. 4
    Identify the open question

    The source notes it was unclear how well the resulting model performed, so the cost benefit is clear but the quality question is still open.

Result

The generator is text-davinci-003, the learner is Flan-T5, the benefit is an 80% inference cost reduction, and the quality of the student is not established by the source.

Distillation Is Not the Only Synthetic-Data Setup

The misconception usually breaks down at this point. Distillation sets the teacher's performance as the student's gold standard, but synthetic data can also train a student that is larger and more powerful than the model that generated the data. In that case the generator is not the standard the learner is trying to reach. Instead, the generated data is a tool used to build a stronger model.

In the real world

The source describes NVIDIA's Nemotron-4 as a team that first pretrained a 340B parameter base model. They then finetuned it using instruction and preference data generated by Mixtral-8x7B-Instruct-v0.1, which the source describes as a 56-billion-parameter mixture-of-experts model. The resulting student, Nemotron-4-340B-Instruct, outperformed the teacher on a variety of tasks. The learner here is larger than the generator, so this is not a distillation case in which the student is smaller and imitates its teacher.

Teacher modelgenerates the dataGenerator modelproduces training dataStudent modelsmaller, mimics the teacherLearner modelmay outperform thegeneratorTeacher performancegold standard forevaluationVerification stepfilters what the learnersees
How do the roles of the data source, the trained model, and the evaluation target differ between distillation and other synthetic-data setups?

Read the comparison column by column. In distillation the evaluation target is the teacher, and the learner is designed to be smaller. In the other setups, the learner's target is not simply the generator, and a verification step can decide which generated material the learner is allowed to use. This is why the setup, and not just the presence of generated text, determines which description is accurate.

When Training on Self-Generated Output Goes Wrong

A related caution covers the case where a model is trained on data it generated itself. The Llama 3 paper notes that training on data from a more competent model can significantly improve a model's performance. It also notes that training indiscriminately on self-generated data does not improve performance and can even degrade it. The source therefore draws a line between training on a stronger model's outputs and feeding a model its own outputs without checking them.

Round 1 modelgenerates dataUnverified dataused for training with nofilterRound 2 modelmay degradeRound 2 datagenerated again from thenew modelgeneratestrainsgenerates
What happens to the model's outputs across successive training rounds when unverified generated data is fed back into training, and at which point should the loop be stopped or checked?

The same paper reports a way around the problem. By introducing mechanisms to verify the quality of synthetic data and using only verified synthetic data, the researchers were able to continually improve a model using its generated data. The difference between the failing loop and the successful one is the verification step, which filters what the model is allowed to learn from. The loop itself is not the problem; the missing filter is.

Ordering the Work Before Training

Once you have data, whether generated or collected, it usually needs processing before training. The source emphasizes that data must be processed according to the requirements of each use case, so there is no single universal pipeline. The source also points out a practical reality: with a large amount of data, each processing step can take hours, if not days. That makes the way you organize and check your work a real engineering concern rather than a detail.

  1. 1
    Order the processing steps so that cheap checks run before expensive ones, which saves time and compute.
  2. 2
    Validate your scripts with a small trial run before launching the full job, so that errors surface while they are still cheap to fix.
  3. 3
    Keep a copy of the original data and produce changes as new outputs, instead of modifying the original in place.
  4. 4
    Run the expensive generation and processing work last, once the earlier steps have confirmed that the inputs and scripts are sound.

The source also recommends a habit that supports all of this. Reading the papers of model developers who disclose their dataset details is useful, because those papers often contain practical tips on how researchers curated, generated, and processed their data.

Mistakes Beginners Make

  • Common mistake

    Calling any training on generated text model distillation

    What it looks like

    A team trains a model on text another model wrote and describes the work as distillation.

    Why it fails

    Distillation has a specific shape: a smaller student is trained to mimic a larger teacher, with the teacher's performance as the gold standard. Other setups use synthetic data for different goals.

    Do this instead

    Name the generator, the learner, and the evaluation target, then choose the label that matches those roles.

  • Common mistake

    Assuming the student can never exceed the generator

    What it looks like

    A reader concludes that a student trained on a model's outputs must always be weaker than that model.

    Why it fails

    The source describes a larger student, Nemotron-4-340B-Instruct, that outperformed the model that generated its training data on a variety of tasks.

    Do this instead

    Do not treat the generator as an automatic ceiling. Judge the outcome by evaluation, not by assumption.

  • Common mistake

    Feeding a model its own unchecked output

    What it looks like

    A model generates data, that data is used for the next round of training, and no one checks it.

    Why it fails

    The source notes that training indiscriminately on self-generated data does not improve performance and can even degrade it.

    Do this instead

    Insert a verification step and use only verified synthetic data for training.

  • Common mistake

    Running the full pipeline before testing it

    Why it fails

    Each processing step can take hours, if not days, so an untested script can waste a large amount of time and compute.

    Do this instead

    Validate scripts with a trial run on a small sample first.

  • Common mistake

    Overwriting the original data in place

    Why it fails

    If a processing step is wrong, the original is gone and the work cannot be repeated from a known starting point.

    Do this instead

    Keep a copy of the original data and write processed results as new outputs.

Practice Classifying Training Setups

MEDIUM

A team pretrains a large base model, then finetunes it on instruction data generated by a different, smaller mixture-of-experts model. The finetuned model is then evaluated and found to outperform the generator on several tasks. Is this distillation? Explain your answer by naming the generator, the learner, and the evaluation target.

Hints
  • Ask whether the learner is smaller or larger than the generator.
  • Ask what the evaluation target is: the generator's performance or something else?
  • Compare your answer with the NVIDIA Nemotron-4 example in this article.

Key Takeaways

  • Model distillation trains a smaller student model to mimic a larger teacher, treats the teacher's performance as the student's gold standard, and can reduce inference costs.
  • Not every training setup that uses synthetic data is distillation; synthetic data can also train a student larger and more powerful than its generator.
  • Training indiscriminately on self-generated data can degrade performance, so verification must sit between generation and training.
  • Order processing steps to save time and compute, validate scripts with trial runs first, and keep a copy of the original data instead of changing it in place.

Related concepts

More concepts starting with S