Test Data
Test data is the set of examples a model is evaluated on but never trains on — its entire value comes from that separation, since the moment a test example influences training in any way, a score on it stops measuring generalization and starts measuring memorization. This sounds simple in principle and is surprisingly hard to guarantee in practice at the scale modern models train at, which is why test-data integrity has become its own engineering discipline rather than a one-line split at the start of a project. At a high level, the real risks to a test set's validity show up like this:
Contamination is the single biggest threat to test-data integrity in the large-language-model era, and it happens by accident, not malice. LLMs train on trillions of tokens scraped from the open web, and many popular benchmarks (MMLU, GSM8K, HumanEval) have their questions and answers posted publicly on forums, blogs, and GitHub repos that get swept up in that same web crawl — so a model can score well on a benchmark not because it reasoned correctly, but because it memorized the answer key during pretraining. Responsible labs now run n-gram overlap checks and decontamination passes against known benchmark text before training, and newer evaluation efforts like LiveBench and ARC-AGI deliberately rotate in fresh, unpublished problems specifically so there's no window in which the answers could already be sitting in a training corpus.
Distribution shift is a quieter failure than contamination, and it's the one that actually breaks production systems most often. A model can pass a clean, uncontaminated test set and still fail in deployment if the real-world input distribution has drifted away from what the test set represents — a fraud model tested on last year's transaction patterns facing this year's new fraud tactics, or a wafer-defect classifier tested on one fab's optical signature failing when deployed on a different tool generation with different imaging characteristics. This is why production ML systems track live performance against a continuously refreshed holdout, not just the original static test set from the project's start.
Benchmark saturation is the slow-motion version of the same problem: a test set stops being useful once the field has collectively overfit to it. ImageNet top-1 accuracy climbed from roughly 50% to over 90% across a decade of published research specifically targeting that one benchmark, to the point where further gains on it stopped reliably predicting real-world capability gains — which is exactly why the field keeps retiring saturated benchmarks (MNIST, then ImageNet, then GLUE) and replacing them with harder ones, the same way a fab retires a defect-inspection threshold once yield has been optimized past the point where it's still discriminating good dies from bad ones.
Read a test score as only as trustworthy as the chain of custody behind the test set itself: whether the number comes from a wafer-sort test program checking a finished chip against spec, or a benchmark checking a model against held-out questions, the result means nothing the moment that test data stops being genuinely unseen — contamination, drift, and saturation are three different ways the same core guarantee quietly breaks.