Data Contamination in Public Benchmarks
A top rank on a general public leaderboard does not guarantee the best model for your application, so start by matching benchmarks to the capabilities you need.
A Leaderboard Is Not Your Application
A public leaderboard answers a specific question: which model performed best on that leaderboard’s tests? Your application poses a different question: which model performs best on the tasks your product actually needs? A model ranked first overall may not be the best fit when your application depends heavily on only a few capabilities.
Treat model selection as building a private leaderboard. Start from the work your application does, choose benchmarks that test the capabilities it needs, and check that each benchmark measures what its name suggests. Public benchmark results can help you shortlist models, but they do not replace more rigorous experiments using your own benchmarks and metrics.
Build a Private Ranking
A useful comparison begins with a benchmark set chosen for your application, not with whichever public ranking is easiest to find. Reliability matters: anyone can publish a benchmark, and some benchmarks may not measure what their names suggest. Public scores also have practical limitations. Model scores can change over time, some models have no published score for a benchmark, and running evaluations yourself can be costly.
| Challenge | What it means for comparison |
|---|---|
| Score drift | Performance can change over time, so a score measured earlier may not describe the model you use later. |
| Missing scores | A public result may not exist for a model and benchmark you care about; you may need to run that evaluation yourself. |
| Evaluation cost | Testing more models and benchmarks increases the expense of evaluation. |
| Mixed scoring units | Benchmarks may report different measures, such as accuracy, F1, or BLEU, so their raw values cannot simply be added. |
Four practical reasons public scores may not produce a straightforward comparison.
Score drift is not merely a hypothetical concern. The source describes a study that found significant changes in GPT-3.5 and GPT-4 performance on many benchmarks between March 2023 and June 2023. The practical lesson is to treat a score as a measurement from a particular evaluation, not as a permanent description of a model. When published scores are absent, an evaluation harness can help organize running a model against a benchmark and collecting the results.
Once you have collected scores, decide how important each benchmark is to your application. Weighting makes that priority explicit: a benchmark central to the application should count more than one that is only loosely related. Because raw benchmark scores may use different units or scales, do not add them as though they were directly comparable. First make sure the scores you combine are on a basis that supports comparison, then apply your chosen importance weights.
A ranking shaped by application priorities
Suppose an application values accuracy more than F1. Both scores in this illustration are already on a zero-to-one scale. Give accuracy a weight of 0.6 and F1 a weight of 0.4. Model A scores 0.90 on accuracy and 0.50 on F1. Model B scores 0.70 on accuracy and 0.80 on F1. Which model ranks higher under these priorities?
- 1Weight Model A
Multiply each score by its weight and add the results: $0.90 \times 0.6 + 0.50 \times 0.4 = 0.74$.
- 2Weight Model B
Use the same weights: $0.70 \times 0.6 + 0.80 \times 0.4 = 0.74$.
- 3Interpret the result
These chosen weights produce a tie. Changing the application priorities could change the combined scores and therefore the order.
The models tie under this particular weighting. The example shows how a private ranking reflects chosen priorities rather than a generic leaderboard order. In real comparisons, first address differences in score units or scales; these example scores were stipulated to share a scale.
When a High Score Measures Exposure
A high public benchmark score does not by itself establish that a model has learned the capability the benchmark is intended to test. The score assumes that the model was not trained on the benchmark’s questions or answers. If those items were in the training data, the model may reproduce answers it has encountered. This is data contamination, also called data leakage or training on the test set.
A satirical 2023 paper made the risk vivid: its author trained a model with one million parameters exclusively on data drawn from several benchmarks. The model reached near-perfect scores on those benchmarks and outperformed much larger models on them. The example illustrates why benchmark performance can reflect exposure to evaluation material rather than the broader ability an evaluator hoped to measure.
The route is often indirect. Models may be trained on text collected from the internet, and the collection process may include a benchmark published online before training. Benchmark material can also spread through shared source material or copied files. In each case, the training process can overlap with later evaluation even when nobody deliberately selected the test items. Deliberate inclusion can happen too: a developer may use a benchmark to choose a model and later continue training on that benchmark’s data. That may be a decision the developer chooses to make, but it still means the released model is contaminated for evaluation on those items.
Screen for Contamination
Two heuristics can help estimate whether evaluation samples are present in, or familiar to, a model’s training data: n-gram overlapping and perplexity. These are screening approaches, not proof that a benchmark is clean or contaminated. The source characterizes n-gram overlapping as more accurate but costly and dependent on having training data available. It characterizes perplexity as cheaper but less accurate.
For n-gram overlapping, compare benchmark samples with the training data to look for overlapping text. This route is useful only when the training data is available, and its greater accuracy comes with higher cost. Perplexity offers a cheaper screen, but its lower accuracy means its result should not be treated as conclusive. The source provides no universal cutoff for either heuristic, so do not invent one: interpret screening results in context and be clear about the method’s limits.
Remove Where Practical, Disclose What Remains
Handling contamination has two broad parts: detect it, then decontaminate where practical. One approach is to remove evaluation samples from training data. That is not always possible: many users of foundation models do not control the training data. Even developers who do control it may decide not to remove every benchmark sample, because high-quality benchmark data can help model performance. New benchmarks can also appear after a model has already been trained, so some contamination will remain possible.
When removing benchmark samples is not practical, report the percentage of benchmark data that appears in the training data and provide performance on both the full benchmark and the clean samples. Showing both results helps readers see whether the result changes when contaminated examples are excluded. The source’s comparison of GPT-3 results illustrates why the effect should not be assumed to move in one direction or by one amount: changes differed across benchmarks, and a result based on a very small clean sample can be noisy.
Other checks can add context to a reported score. Public leaderboard hosts such as Hugging Face plot the standard deviation of model performance on a benchmark, helping outliers stand out. Well-designed public benchmarks may also keep part of their data private and evaluate models against that held-out set. These practices do not remove the need to disclose contamination, but they can make comparisons more informative.
Practice: Choose and Interpret
Your application depends on two capabilities. You have found two candidate benchmarks, but have not yet checked what each measures. One benchmark has a published model score; the other does not. A model ranks first on a general leaderboard, and you learn that some benchmark material may be in its training data. Describe the next steps you would take to build a useful comparison and report it responsibly.
Hints
- Check whether each benchmark actually tests one of the capabilities your application needs.
- A missing public score may mean you need to run the evaluation yourself; account for the cost.
- Do not treat a leaderboard rank as proof of application fit or as proof that a benchmark result is uncontaminated.
- Describe how you would screen for overlap, remove samples if practical, and report full-benchmark and clean-sample results.
Common mistake Choosing the model that is first on a general leaderboard without checking application fit.
Why it failsA general ranking may average across tasks that your application does not depend on, while your application may rely heavily on a smaller set of capabilities.
Do this insteadChoose relevant, reliable benchmarks based on the work your application performs, then build a ranking around those priorities.
Common mistake Adding raw scores from different benchmarks.
Why it failsBenchmarks can report different units or scales, such as accuracy, F1, and BLEU.
Do this insteadMake sure scores are comparable before combining them, and weight each benchmark according to its importance to the application.
Common mistake Treating a high public benchmark score as proof of useful ability.
Why it failsIf evaluation material was in the training data, the model may reproduce material it has encountered.
Do this insteadScreen for contamination, compare full-benchmark and clean-sample results, and disclose overlap.
Common mistake Treating a contamination heuristic as conclusive proof.
Why it failsThe heuristics are screens with different trade-offs; n-gram overlapping is costly and needs training data, while perplexity is cheaper but less accurate.
Do this insteadDescribe the method and its limits, and report what is known rather than claiming certainty the screen cannot provide.
Key Takeaways
- A public leaderboard ranks models on its own tests; select models using benchmarks that match your application’s needs and verify that those benchmarks measure what they claim.
- Scores can drift, be missing, cost money to obtain, or use incompatible units. Make scores comparable before combining them, then weight them by application importance.
- Benchmark material can enter training unintentionally through internet collection and shared or copied material, or intentionally through deliberate inclusion. Either route can compromise evaluation.
- N-gram overlapping is described as more accurate but costly and dependent on access to training data; perplexity is cheaper but less accurate. Treat both as screening heuristics.
- Remove evaluation samples where practical. Report the percentage of benchmark data in training and performance on both the full benchmark and clean samples.