ToolsPromptsSkillsWorkflowsBlogAbout

Synthetic Data Generation — create training data with LLMs

Use strong LLMs to generate diverse, high-quality training examples for fine-tuning, then filter and verify quality before use in model training.

Data4.3
Synthetic Data Generation — create training data with LLMs preview

Prompt template

Generate a diverse training example for the following task. The example should be realistic, high-quality, and cover a scenario not yet in the dataset.

Task description: {task_description}

Existing topics to avoid: {existing_topics}

Generate:
Input: {input}
Output: {output}
Reasoning (for CoT data): {reasoning}

How to use

  1. 1Define the target task, desired input/output format, and quality criteria for synthetic examples
  2. 2Seed the generator with a small set of real examples (10-50) to establish style and distribution
  3. 3Use a strong teacher model (e.g. GPT-4, Claude) to generate examples in batches with topic diversity prompts
  4. 4Apply deduplication (embedding similarity >0.95) to remove near-duplicate generated examples
  5. 5Filter quality using a combination of heuristic checks (length, format) and LLM-as-judge scoring
  6. 6Optionally have a human review a random sample (5-10%) to validate overall quality before training

Pro tips

  • Synthetic data works best when combined with real data — aim for 30-70% synthetic depending on task
  • Use 'seed tasks' from frameworks like Evol-Instruct to generate progressively more complex examples
  • Always deduplicate against your evaluation set — synthetic data leakage invalidates benchmark scores
  • Distilabel and Argilla provide pipelines for generation, filtering, and human-in-the-loop review

Works best with

distilabelargillahuggingfaceChatGPT

Ratings & Reviews

Loading reviews…

Share your experience

Select a rating

Related Skills