Learning the Test Questions
Benchmark contamination is when the questions or answers of a benchmark end up in a model's training data. LLMs learn from a large amount of text on the web, so published questions can mix in along with articles that explain them. The LiveBench paper calls contamination a well-known obstacle to fair evaluation and a cause of benchmarks quickly becoming obsolete.
Contamination is not necessarily deliberate. It is also hard to check from the outside whether a question got into the training data.
Why Scores Come Out High
A question seen during training can be answered correctly by writing down a memorized answer, without working out how to solve it. As a result, the score on a contaminated benchmark comes out higher than the ability to solve problems seen for the first time.
The GSM1k paper created new problems matching the elementary school math benchmark GSM8K in style and difficulty, and had models solve them. Accuracy dropped, and some models showed signs of partly memorizing the original problems. On the other hand, many models solved the new problems just as well, so a high score cannot be blamed entirely on contamination.
Countermeasures
There are three main ways to reduce the effect of contamination.
- New questions (measure with questions made after the knowledge cutoff)
- Unpublished questions (keep questions private so they do not get into training)
- Your own evaluation set (test with questions built from your own work)
LiveBench makes questions from recent sources, replaces them frequently, and scores answers automatically. When reading benchmark scores, look at how long ago the benchmark was published and whether its questions are replaced, and check with your own questions too.