Synthetic data
Training or test examples made by a model instead of collected from people or production, useful for scale but only after hard filtering.
See it
What it is
Synthetic data is training or test material generated rather than collected from the real world. For language models, that often means one model writes prompts, answers, labels, or adversarial cases for another. Self-Instruct is the familiar recipe: start with a small seed set, generate many new instructions and responses, then filter the results. Stanford's Alpaca is the famous output of that recipe: 52,000 instruction and response pairs written by a stronger model, then used to fine-tune a much smaller one.
Reach for it to cover rare cases, expand a small labeled set, or create privacy-safer fixtures when real records cannot leave production. Keep provenance on every row, mix synthetic examples with reviewed real ones, and sample each generated category for human inspection.
Gotcha: generation scales mistakes as efficiently as good examples. A teacher model's blind spots, bland style, and false facts become the student's curriculum, while near-duplicates make eval scores look better than they are. Deduplicate against training and holdout data, validate with rules that do not depend on the generator, and never call synthetic labels ground truth.
Ask AI for it
Build a Self-Instruct synthetic-data pipeline from these reviewed seed examples. Generate balanced variations across intent, difficulty, locale, edge case, and adversarial category; require each row to match a JSON Schema with input, expected_behavior, rationale, category, generator_model, seed_id, and created_at. Reject invalid rows with deterministic checks, remove exact duplicates by SHA-256, remove near duplicates with MinHash locality-sensitive hashing, and exclude anything similar to the sealed golden-dataset holdout. Export JSONL plus a report of rejection reasons and a stratified 10 percent sample for human review.