Benchmarks are standard test sets used to compare models against each other.
MMLU covers general knowledge across many subjects.
GSM8K covers grade-school maths, and HumanEval covers writing small programs.
SWE-bench uses real GitHub issues and is much closer to real work.
They allow rough comparison, and every model release leans on them heavily.
Contamination is the central problem.
Benchmarks are public, so they end up in the training data of the next model.
A model may have memorised the answers rather than solved anything.
Labs check for this with varying rigour and cannot check what they did not think to look for.
Benchmarks also saturate, since once everyone scores 90 per cent the test stops distinguishing.
They measure narrow capabilities that may not resemble your task at all.
A model topping a coding benchmark may be worse on your codebase.
Held-out and private benchmarks such as arena rankings resist contamination better.
Read them as a rough filter for which models to try.
Then test on your own data, which is the only benchmark that predicts your results.