Evaluation Pipelines and Reliability
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 Evaluation Sets Need 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. The examples in it 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. The practical question this article addresses is how many examples an evaluation set should contain.
There is no single correct number. The right size depends on the application and on the evaluation methods you use. Sizing the set is a decision about where to land between two pressures. The set must be large enough that the result is reliable, meaning it reflects the model's real behavior rather than a lucky or unlucky draw of examples. The set must also be small enough to be affordable, because every evaluation pass costs time and money.
A Set of 100 Examples and a Lingering Doubt
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 every time you want to check, so the method has to work with the data you already have.
The underlying question is a thought experiment. If you evaluated the model on a different evaluation set of 100 examples, would you get a different result? Bootstrapping is a practical stand-in for that different set. Keep this question in mind as you read the next section, because the bootstrap is designed to answer it using only the 100 examples you already have.
Bootstrapping by Resampling With Replacement
Bootstrapping resamples the evaluation set with replacement, evaluates the model on each resample, and uses the spread of the results to judge whether the set is large enough. Each bootstrap is a new set of examples drawn from your original set. Because the drawing is done with replacement, the same example can appear more than once in a single bootstrap, and some examples from the original set may be left out of it entirely.
The underlying logic is that the bootstrap results are not the answer by themselves. Their spread is the signal. A narrow spread means the evaluation set gives the model a consistent verdict. A wide spread means the verdict depends too heavily on which examples happened to be included, which is the situation that calls for more evaluation data. The diagram above shows two resamples only to make the idea concrete. In practice you run many resamples and look at the whole spread.
Reading a Wide Spread
Judging a 100-example set from its bootstraps
You evaluate a model on a set of 100 examples. You create several bootstraps of those 100 examples and evaluate the model on each one. Two of the bootstraps score 90% and 70%. Is the evaluation pipeline trustworthy for this set?
- 1Compare the two scores
The same model, on the same underlying 100 examples, produced a 90% score on one bootstrap and a 70% score on another. A 20-point gap is large.
- 2Ask what the gap means
The reported number depends heavily on which examples happened to be drawn. The evaluation is not giving a consistent verdict.
- 3Apply the decision
A wide spread signals that the evaluation pipeline is not very trustworthy at this size, so the set should be enlarged before you rely on its score.
The pipeline is not very trustworthy for this set. The spread, not any single bootstrap score, is the evidence that more evaluation data is needed.
Comparing Two Systems Needs More Samples
Stability is only half of the problem. Evaluation results are also used to compare systems, such as a new prompt against an old one. 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 merely looking better on this particular set?
In principle, a statistical significance test answers this. Given a level of confidence, such as 95% confidence, 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. The rule of thumb that comes with it is this: for every 3 times decrease in the score difference, the number of samples needed increases about 10 times.
Reading the 95% Confidence Sample Table
The rough estimates for 95% confidence follow the rule of thumb. Each row gives the score difference you want to detect and the approximate number of samples needed to detect it. Read the table by first locating the difference you actually care about, then reading across to the sample count. Notice that the rows get more expensive as the difference shrinks.
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. A 10% difference needs about 100 samples, and a 3% difference needs about 1,000.
Choosing a row for a planned comparison
You want to know whether a new prompt is better than the old one, and you only care about detecting a 3% improvement. Which row applies, and roughly how many examples do you need?
- 1Identify the difference
The difference you need to detect is 3%, so you look for the 3% row.
- 2Read across
The 3% row gives roughly 1,000 samples for 95% confidence.
- 3Check the affordability
If 1,000 examples is too expensive, the question becomes whether you can accept detecting only a larger difference, such as 10%, which needs about 100 samples.
About 1,000 examples are needed to be 95% confident of detecting a 3% difference. Choosing a larger detectable difference lowers the cost substantially.
Benchmark Sizes as a Reference Point
It helps to know what other evaluation sets look like. Among evaluation benchmarks in Eleuther's lm-evaluation-harness, the median benchmark has 1,000 examples, and the average is 2,159. These figures give a sense of what established benchmarks typically use.
The organizers of the Inverse Scaling prize offered a different kind of 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. The right size for your own set still depends on the stability and comparison questions described above.
| Reference point | Size | What it tells you |
|---|---|---|
| Absolute minimum (Inverse Scaling prize) | 300 examples | The lowest size suggested by practitioners |
| Preferred minimum (Inverse Scaling prize) | At least 1,000 examples | Preferred, especially for synthesized examples |
| Median benchmark (lm-evaluation-harness) | 1,000 examples | Typical established benchmark |
| Average benchmark (lm-evaluation-harness) | 2,159 examples | Pulled upward by larger benchmarks |
Typical evaluation benchmark sizes and the suggested minimum
Mistakes When Sizing an Evaluation Set
Common mistake Treating a single score as the final answer
Why it failsA single result depends on which examples were drawn. The bootstrap spread is what shows whether the score is stable.
Do this insteadCreate multiple bootstraps of the set and check whether they give similar results.
Common mistake Assuming a 10% gap and a 1% gap need similar sample sizes
Why it failsDetecting small differences is far more expensive. A 1% difference can require roughly 10,000 samples while a 10% difference needs about 100.
Do this insteadDecide the smallest difference you need to detect before choosing the set size.
Common mistake Assuming a benchmark average is a target size
Why it failsBenchmarks are a reference point. The right size still depends on your application and the questions you are asking.
Do this insteadUse benchmark sizes as context, then size your own set against stability and comparison needs.
Checking Your Reading of the Pipeline
What do you think happens?
Before reading the answer, predict: if two bootstraps of the same 100-example set give scores of 90% and 70%, what does that tell you about the set?
Reveal answer
The set is not giving a consistent verdict. The score depends heavily on which examples were drawn, so the evaluation pipeline is not very trustworthy and more evaluation data is needed.
The spread of bootstrap results, not any single score, is the signal of stability.
You want to be 95% confident that a new system beats an old one by a 10% margin. Using the rough sample size table, roughly how many examples would you need? Then consider what you would need to change if you instead wanted to detect a 1% margin.
Hints
- Find the row that matches the difference you want to detect.
- Each 3 times decrease in the difference raises the sample count about 10 times.
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 and uses the spread of scores across resamples to judge stability; a wide spread means more data is needed.
- Detecting smaller score differences requires far more samples: a 30% difference needs about 10 samples, a 10% difference about 100, a 3% difference about 1,000, and a 1% difference about 10,000 for 95% confidence.
- Practitioners suggest a 300-example absolute minimum and at least 1,000 examples, with the median lm-evaluation-harness benchmark at 1,000; benchmarks are a reference point, not a target.