Hoppa till innehållet
AI-grafen
F· AI engineeringevals-benchmarks· ca 90 min· volatil — kontrolleras ofta· verifierad 2026-09-20

Benchmark-kontaminering

Kunna upptäcka och undvika att testdata läckt in i träning.

Förkunskaper

Intuition

Om en modells träningsdata innehåller testfrågorna (med svar) mäter benchmarken minne, inte förmåga. Webbskrapade korpusar innehåller GitHub, StackOverflow, Wikipedia — och där ligger GSM8K, HumanEval, MMLU i klartext.

Vägar in: publika benchmarks på webben; syntetisk träningsdata genererad av en modell som sett benchmarken; finjusteringsdata som råkar innehålla testfall; «träna på val-set» av misstag.

Upptäckt:

  • n-gram-överlapp mellan testfall och träningskorpus (13-gram är standard) — kräver tillgång till korpusen.
  • Perplexitet: onormalt låg på testsetet jämfört med nyskriven text i samma stil.
  • Kanarietest: modellen kompletterar en testfråga ordagrant när den får början.
  • Tidsjämförelse: prestanda på fall publicerade efter modellens träningsdatum.

Skydd: privata evals som aldrig läggs på webben; nyskrivna fall; kanarie-strängar i egna dataset; dokumentera datumet.

Kod

import re

def ngrams(text, n=13):
    t = re.findall(r"\w+", text.lower())
    return {" ".join(t[i:i+n]) for i in range(len(t) - n + 1)}

def kontaminerad(testfall, korpus_ngrams, n=13, thr=0.0):
    g = ngrams(testfall, n)
    return len(g & korpus_ngrams) / max(1, len(g)) > thr

# kanarietest: ge första halvan av frågan, se om modellen fortsätter ordagrant
def kanarie(llm, fraga):
    ord = fraga.split(); halva = " ".join(ord[: len(ord) // 2])
    fortsattning = llm(halva, max_tokens=len(ord), temperature=0)
    return " ".join(ord[len(ord) // 2:]).lower() in fortsattning.lower()

# perplexitetsjämförelse: PPL(test) << PPL(nyskrivna fall i samma stil) → misstänkt

Rapportera alltid: «modellens träningsdata-cutoff» och «benchmarkens publiceringsdatum». Om cutoff > publicering: anta kontaminering tills motsatsen visats.

Behärskning innebär

  • Förklarar hur testdata läcker in i förträning och finjustering
  • Upptäcker kontaminering med n-gram-överlapp och perplexitetsjämförelse
  • Designar okontaminerade evals

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser