Training data is the fuel of machine learning — without enough of it, even a well-chosen model architecture produces garbage. But "how much do I need" is one of those questions where the honest answer depends entirely on what you're building, and where a lot of teams go badly wrong by chasing an arbitrarily large dataset when a few hundred carefully chosen examples would have been sufficient. Understanding the relationship between data volume and model performance — by task type — lets you spend your labelling budget where it actually buys you accuracy.
Why There's No Universal Number
You'll see figures like "you need at least 10,000 examples per class" repeated across forums and blog posts. This is not a law of machine learning — it's a heuristic derived from specific tasks (primarily ImageNet-style classification) that has been cargo-culted into contexts where it doesn't apply.
The amount of training data you need depends on four factors pulling in different directions:
- Task complexity: Binary classification of whether an email is spam is fundamentally simpler than detecting 200 fine-grained object categories in a street scene. Simpler tasks need less data.
- Input dimensionality: High-resolution images and raw audio have millions of features. Tabular data with 20 columns has 20. The model needs enough data to learn meaningful patterns without memorising noise, and that threshold scales roughly with dimensionality.
- Model type: A fine-tuned pretrained model (transfer learning) needs far less data than one trained from scratch on the same task. This is the most important practical lever available.
- Required accuracy: Getting to 80% accuracy on a classification task might need 100 examples. Getting from 80% to 95% might need 10x the data. The marginal cost of the last few percentage points is disproportionate.
Data Requirements by Task Type
Practical ranges, based on typical production deployments using modern pretrained models as a starting point:
| Task Type | Minimum to get started | For production accuracy | Notes |
|---|---|---|---|
| Binary text classification | 50–200 examples/class | 500–2,000/class | Few-shot learning with GPT-style models can work with as few as 10–30 |
| Multi-class text classification (10–50 classes) | 200–500/class | 1,000–5,000/class | Imbalanced classes cause outsized problems; oversample or augment minority classes |
| Named entity recognition (NER) | 500–1,000 sentences | 5,000–20,000 sentences | Entity type diversity matters more than raw count |
| Image classification (fine-tuning) | 100–500 images/class | 1,000–5,000/class | ImageNet-pretrained backbones dramatically reduce requirement |
| Object detection | 500–1,000 annotated images | 5,000–30,000 | Annotation cost is high; each image needs bounding box labels, not just class labels |
| Image segmentation | 200–500 images | 2,000–10,000 | Pixel-level annotation is expensive; SAM (Segment Anything) can accelerate labelling |
| Tabular ML (classification/regression) | 500–2,000 rows | 10,000–100,000+ | Tree-based models (XGBoost) tend to outperform neural networks at small scales |
| Time-series forecasting | 2–3 years of history | 5+ years | Seasonal patterns require multiple complete cycles |
| LLM fine-tuning | 50–500 examples | 1,000–10,000 | Quality and format consistency dominate over raw quantity |
Transfer Learning: The Biggest Multiplier Available to You
The most practically important idea in applied ML over the past decade is this: you rarely need to train a model from scratch. Pretrained models — BERT, CLIP, ResNet, Whisper, Llama — have already learned general representations of language, images, and audio from enormous datasets. Fine-tuning them on your specific task requires far less data than starting cold.
A concrete example: training a custom image classifier from scratch for a medical imaging task might require 50,000 labelled examples to reach diagnostic accuracy. Fine-tuning a ResNet50 pretrained on ImageNet on the same task can reach similar accuracy with 2,000–5,000 examples, because the model already understands edges, textures, and structural features — it just needs to learn your specific classification decision boundary.
This has an important implication for data collection strategy: rather than asking "how much data do I need?", ask "what's the best pretrained model for my domain, and how much fine-tuning data do I need to adapt it?" In NLP, the gap is even more dramatic — GPT-4 level models can be prompted with a handful of examples (few-shot in-context learning) without any fine-tuning at all, which is worth trying before investing in a labelled dataset.
Data Augmentation: Getting More From Less
Augmentation artificially expands your effective dataset size by applying transformations that preserve the label while changing the input. For images: rotation, flipping, colour jitter, random cropping, Gaussian noise, brightness and contrast variation. For text: synonym substitution, back-translation, paraphrase generation using an LLM.
Augmentation is not a free lunch. Effective augmentation must respect domain invariances — the transformations that don't change the correct label in your specific task. Flipping an image horizontally is valid for most object detection tasks; it's not valid for handwriting recognition where 'b' and 'd' are different characters. Think carefully about what transformations are genuinely label-preserving in your domain before applying them wholesale.
For specialised domains with very limited data, synthetic data generation has become a practical option. Diffusion models can generate realistic-looking training images for specific categories. For tabular data, SMOTE and GAN-based synthesisers can generate plausible minority-class examples. Synthetic data rarely replaces real data entirely, but as a supplement to a small real dataset, it can meaningfully improve model robustness.
Active Learning: Labelling Smarter, Not More
Active learning is a training strategy that lets you get maximum accuracy from minimum labelled examples by selecting which examples to label next based on model uncertainty. The basic loop:
- Train an initial model on a small seed set of labelled data
- Run the model on your unlabelled pool
- Identify examples the model is most uncertain about (lowest confidence, highest entropy, or maximum disagreement across an ensemble)
- Label those specific examples (not a random sample)
- Retrain and repeat
In practice, active learning typically achieves the same accuracy as random sampling with 30–60% fewer labels. For tasks where annotation is expensive — medical image labelling by specialists, legal document annotation, complex multi-label classification — this directly translates to significant cost and time savings.
Tools that implement active learning workflows: Prodigy (commercial, by the spaCy team), Label Studio (open-source with active learning plugins), and modAL (Python library for custom active learning loops).
Data Quality Beats Data Quantity
A clean, well-labelled dataset of 1,000 examples will consistently outperform a noisy, inconsistently-labelled dataset of 10,000 examples on the same task. This is one of the most underappreciated truths in applied ML, and it's particularly relevant for teams that are tempted to shortcut annotation quality to speed up data collection.
Common quality problems that destroy model performance:
- Label noise: Inconsistent annotation guidelines leading different annotators to label the same example differently. Inter-annotator agreement (Cohen's Kappa) should be measured and gated — aim for Kappa above 0.7 before using labels from multiple annotators.
- Distribution mismatch: Training data that doesn't reflect the inputs the model will actually see in production. A common failure mode: training on clean studio-lit product photos, then deploying against blurry mobile-camera captures.
- Label imbalance: A 99:1 class imbalance means a model that always predicts the majority class achieves 99% accuracy while being completely useless. Address with stratified sampling, class weights, or oversampling before training.
- Data leakage: Test examples that share information with training examples (same user, same time period, same document with minor variations). This inflates your evaluation metrics and produces models that fail in production.
Frequently Asked Questions
How do I know when I have enough data to stop collecting?
Plot a learning curve: train your model on progressively larger subsets of your data and measure validation accuracy at each size. When the curve flattens — more data produces negligible accuracy improvement — you're past the point of diminishing returns. If the curve is still steep at your current data size, more data will help.
Can I use publicly available datasets to supplement my training data?
Often, yes — with caveats. Public datasets like ImageNet, COCO, Open Images, Hugging Face datasets and others are widely used for pretraining and supplementation. Check licences carefully: some prohibit commercial use. More importantly, check that the distribution matches your use case — a model fine-tuned on a general-purpose public dataset may still perform poorly on your specific domain without in-domain examples.
What if we genuinely don't have much historical data yet?
Start by establishing a data flywheel: deploy a simple rules-based or prompt-based system first, collect real interactions with outcomes, and use that production data to build your labelled dataset over weeks or months. This approach produces in-distribution training data by definition and is more effective than trying to manufacture training data before you understand what the production inputs actually look like.
Is there a minimum viable dataset size to tell if a project is technically feasible?
Yes. With 50–200 examples per class (for classification) or 200–500 labelled examples (for detection or structured prediction), you can run a quick feasibility experiment — a fast fine-tuning run with cross-validation — that will tell you whether the signal in your data is strong enough to learn from at all. If a model with 200 examples can't beat random chance, that's important information before you invest in a 10,000-example labelling project.
Need a partner for this? Mexilet offers computer vision services and AI solutions.
The safest way to de-risk a training data investment is a short, focused pilot sprint: a small labelled dataset, a quick fine-tuning experiment, and a realistic accuracy measurement against your production requirements. Mexilet Technologies regularly runs these discovery sprints for clients across the US, UK, and Australia before committing to full-scale model development. If you want to validate feasibility before writing a larger cheque, let's talk about what a trial engagement would look like for your specific project.