Designing Evaluation Sets
An evaluation set should be large enough for its result to be reliable and small enough to be affordable, and its size depends on the application and evaluation methods.
Why an Evaluation Set Needs a Size
Once you decide to measure something, you need a set of examples to measure it on. That set is called an evaluation set, sometimes called a test set. Its examples are curated and annotated for evaluation. They also serve a second purpose: later, the same data can be used to synthesize more data for training. This article answers one question: how many examples should an evaluation set contain?
There is no single correct number. The right size depends on the application and on the evaluation methods you use. Before reading on, pause and ask yourself: if you scored a model on a different set of 100 examples, would you get the same score? Hold on to that question, because the rest of the article is built around it.
Two Pressures on the Set Size
The guiding principle is a balance between two pressures. The first is reliability. The set must be large enough that the evaluation result reflects the model's real behavior, and not a lucky or unlucky draw of examples. The second is affordability. The set must be small enough that it is not prohibitively expensive to run, because every evaluation pass costs time and money. Sizing the set is a decision about where to land between these two limits.
Checking Stability with Bootstraps
Suppose you have an evaluation set of 100 examples. A natural question is whether 100 is enough for the result to be reliable. You cannot simply collect a second independent set of 100 examples each time you want to check, so the method works with the data you already have. You create multiple bootstraps of those 100 examples and see whether they give similar evaluation results.
A bootstrap is a resample of the evaluation set drawn with replacement. Each resample has the same number of examples as the original, but some examples appear more than once and others are left out entirely. Because of this, each bootstrap is a practical stand-in for a different evaluation set. The underlying thought experiment is the same as before: would a different set of examples have produced a different result?
Bootstrapping a 100-Example Set
You have 100 examples and a model. Run several bootstrap rounds and decide whether the evaluation set gives a trustworthy verdict. The scores in this example are illustrative, not measured.
- 1Draw the first resample
Pick 100 examples from the original 100 with replacement. Some examples may appear twice and some may not appear at all.
- 2Evaluate the model
Run the model on this resample and record the score, for instance 90%.
- 3Draw a second resample
Repeat the draw with replacement. The new resample contains a different mix of examples, so the score may change, for instance to 70%.
- 4Repeat and look at the spread
After many rounds, look at the range of scores. A wide range like 70% to 90% means the number depends heavily on which examples were drawn.
- 5Make the decision
If the scores cluster tightly, the set is giving a consistent verdict. If they spread widely, the set likely needs more evaluation data.
A spread from 70% to 90% signals an unreliable pipeline. The reported score would depend too much on which 100 examples happened to be included.
Reading the Spread of Results
The bootstrap results are not the answer by themselves. Their spread is the signal. A narrow spread means the evaluation set is giving the model a consistent verdict. A wide spread means the verdict depends too much on which examples were included, which is the situation that calls for more evaluation data.
The bootstrap check ends in a yes or no decision. If the spread is narrow, the set is stable enough to trust for this purpose. If it is wide, the set is too small for a reliable answer, and you should add examples and repeat the check.
Detecting Small Differences Between Systems
Stability is only half of the problem. Evaluation results are also used to compare systems, to decide which model, prompt, or other component is better. Imagine a new prompt scores 10% higher than the old prompt. How large must the evaluation set be before you can be certain the new prompt is really better, rather than just looking better on this particular set?
In principle, a statistical significance test answers this. Given a level of confidence, such as 95%, the test can compute the sample size needed, provided you know the score distribution. In practice, the true score distribution is hard to know, so the exact computation is rarely available. That gap is why practitioners fall back on rough estimates.
OpenAI has offered a rough estimate of how many evaluation samples you need to be reasonably certain that one system is better, given the score difference you want to detect. A useful rule of thumb comes with it: for every 3 times decrease in the score difference, the number of samples needed increases about 10 times. The table below captures these estimates for 95% confidence.
The table makes one pattern clear. Detecting big differences is cheap, and detecting small differences is expensive. A 30% difference can be confirmed with roughly 10 samples, while a 1% difference can require roughly 10,000. Before you decide how large an evaluation set to build, decide how small a difference you actually need to be able to detect.
Benchmark Sizes and the Practical Minimum
It helps to know what other evaluation sets look like. Among the evaluation benchmarks in Eleuther's lm-evaluation-harness, the median benchmark has 1,000 examples, and the average is 2,159. Those figures give a sense of what established benchmarks typically use.
| Source of guidance | Size figure | What it means |
|---|---|---|
| lm-evaluation-harness median | 1,000 examples | Typical size of a established benchmark |
| lm-evaluation-harness average | 2,159 examples | Average is pulled upward by larger benchmarks |
| Inverse Scaling prize organizers | 300 examples | Absolute minimum suggested |
| Inverse Scaling prize organizers | 1,000 examples or more | Preferred, especially for synthesized examples |
Benchmark sizes and the minimum suggested by practitioners
The organizers of the Inverse Scaling prize offered different guidance. They suggested that 300 examples is the absolute minimum, and they would prefer at least 1,000, especially when the examples are synthesized rather than collected from natural sources. Benchmarks are a reference point, not a target. A set of 300 is the floor the organizers named, and a set below 1,000 falls under the preferred size they described. The right size for your own set still depends on the stability and comparison questions covered above.
Common Mistakes When Sizing an Evaluation Set
Common mistake Assuming a larger set is always more reliable and therefore always better
Why it failsReliability is the goal, and it is reached at a point. Beyond that point, extra examples mainly raise cost.
Do this insteadStop growing the set once the stability check shows a narrow spread and the comparison question is answered.
Common mistake Treating one evaluation score as the final answer
What it looks likeA single run gives 90%, and the team ships the model without checking anything else.
Why it failsA single score depends on which examples were drawn. The bootstrap spread shows whether that score is stable.
Do this insteadRun bootstrap resamples and read the spread before trusting the number.
Common mistake Trying to detect a tiny improvement with a small set
What it looks likeA 1% gain is checked on 100 examples, and the team concludes the new prompt is better.
Why it failsThe rough table shows a 1% difference can require roughly 10,000 examples to be 95% confident. A set of 100 cannot separate that gap from luck.
Do this insteadDecide the smallest difference that matters first, then size the set to detect that difference.
Common mistake Copying a benchmark size without asking what your application needs
Practice: Sizing a Set for a Prompt Comparison
A team wants to know whether a new prompt is better than the old one. They expect the new prompt to win by about 3%, and they want 95% confidence before switching. Using the rough estimates, how many examples should the evaluation set contain? After answering, check whether the set should also pass a bootstrap stability check.
Hints
- Find the row in the table that matches a 3% difference.
- The table gives an approximate count for 95% confidence.
- A stable result still needs a narrow bootstrap spread, so the size is necessary but the stability check is separate.
A colleague proposes a 200-example set to detect a 1% difference between two models with 95% confidence. Explain whether this is enough, using the rough estimates, and suggest what you would do instead.
Hints
- Compare 200 with the roughly 10,000 examples the table gives for a 1% difference.
- Consider whether the difference matters enough to justify the cost of a larger set.
Key Takeaways
- An evaluation set must be large enough for its result to be reliable and small enough to be affordable, and its right size depends on the application and evaluation methods.
- Bootstrapping resamples the evaluation set with replacement, scores the model on each resample, and uses the spread of results to judge stability: a narrow spread is a consistent verdict, while a wide spread calls for more data.
- Detecting smaller differences between systems requires far more examples, with roughly 10 examples for a 30% difference, about 100 for 10%, about 1,000 for 3%, and about 10,000 for 1%, at 95% confidence.
- Benchmarks are a reference point: the lm-evaluation-harness median is 1,000 examples and the average is 2,159, while the Inverse Scaling organizers set 300 as an absolute minimum and preferred at least 1,000.