TurkishMMLU-Kontaminationsliste
Testfragen, die wörtlich im türkischen Web stehen
113 der 900 Fragen im TurkishMMLU-Testsatz (12,6 %) kommen wörtlich in einem türkischen Webkorpus mit 527 Millionen Wörtern vor. Dieses Repository enthält die Liste dieser Fragen, die Erkennungsmethode und das Reproduktionsskript, damit auf türkischem Webtext trainierte Modelle ihren TurkishMMLU-Wert auch auf einer bereinigten Teilmenge berichten können.
Kontaminierte Fragen · strenge Schwelle (n = 13)
12,6 % des Testsatzes · gescanntes Korpus: 526.593.877 Wörter
Auswendiglernen ist keine Fähigkeit
Kommt eine Benchmark-Frage wörtlich im Trainingskorpus vor, ist das Kennen dieser Frage Auswendiglernen, keine Fähigkeit. Dieses Risiko besteht für jedes aus dem türkischen Web gesammelte Korpus; die meisten Fragen stammen von Lehrbuch- und Übungsprüfungsseiten, sodass Kopien im Web existieren.
Ein Drittel des berichteten Gewinns kam aus Kontamination
Der Gewinn eines Continued-Pretraining-Modells gegenüber seiner Basis betrug +6,27 Punkte auf allen 900 Fragen und +4,14 Punkte nach Entfernen der kontaminierten Fragen.
Exakter n-Wort-Shingle-Abgleich
Dasselbe Kriterium wie in den technischen Berichten zu GPT-3 und Llama.
Normalisierung
Der Fragetext wird normalisiert: NFC, türkische Kleinschreibung (İ→i, I→ı), Satzzeichen und Nichtziffern durch Leerzeichen ersetzt, dann in Wörter zerlegt.
Fenster
Aus jeder Frage werden alle aufeinanderfolgenden n-Wort-Fenster gebildet; die Fenster stammen aus Fragetext und Antwortoptionen (bis zu 5).
Scan
Das Korpus wird mit derselben Normalisierung gestreamt; kommt ein Fenster wörtlich im Korpus vor, gilt die Frage als kontaminiert. Der Speicherbedarf ist von der Korpusgröße unabhängig.
| Schwelle | Bedeutung | Kontaminiert | Anteil |
|---|---|---|---|
| n = 13streng | Zufällige Treffer praktisch ausgeschlossen; das Standardkriterium. | 113 | 12,6 % |
| n = 8locker | Empfindlich für partielle oder umformulierte Lecks; falsch-positive Treffer möglich (Formelsätze). | 252 | 28,0 % |
Gescanntes Korpus: 526.593.877 Wörter türkischer Webtext (die ersten 4,3 GB in Stream-Reihenfolge). Der Antwortschlüssel ist kein Text und wird nicht gescannt. Die Liste ist eine Untergrenze: Umformulierte Fragen oder solche, die in Bruchstücken unter 13 Wörtern durchsickern, entgehen der strengen Schwelle.
Kontaminierte Fragen nach Fach
n = 13 · 113 Fragen
Nur Index und Hash
Jeder Eintrag trägt die Position im Quelldatensatz, den SHA-256-Hash des Fragetexts und das Fachlabel. Selbst wenn sich die Reihenfolge des Datensatzes ändert, lässt sich die Frage per Hash zuordnen.
indexPosition in Hugging Face AYueksel/TurkishMMLU, Config All, Split test.
sha256_soruSHA-256 des Felds question (nach strip, UTF-8).
konuFachlabel aus dem Quelldatensatz.
{
"kaynak_kume": "AYueksel/TurkishMMLU (config All, split test)",
"taranan_soru": 900,
"kulliyat_kelime": 526593877,
"kirli_13": [
{"index": 0, "sha256_soru": "e84db08c…", "konu": "Biology"},
…
],
"kirli_8": [ … ]
}Die saubere Teilmenge in drei Schritten ableiten
Liste laden, Hashes mit dem Datensatz abgleichen, kontaminierte Fragen herausfiltern: 900 → 787.
import json, hashlib
from datasets import load_dataset
ds = load_dataset("AYueksel/TurkishMMLU", "All", split="test")
k = json.load(open("turkishmmlu_kirlilik.json", encoding="utf-8"))
kirli = {r["sha256_soru"] for r in k["kirli_13"]}
def ozet(q): return hashlib.sha256(q.strip().encode("utf-8")).hexdigest()
temiz = ds.filter(lambda ex: ozet(ex["question"]) not in kirli)
print(len(ds), "->", len(temiz)) # 900 -> 787Neben dem Wert auf dem vollen Satz den Wert auf clean-787 und die Differenz zwischen beiden. Eine große Differenz bedeutet, dass das Korpus des Modells diese Fragen gesehen hat.
$ python kirlilik_denetimi.py <kulliyat.txt> <etiket>Das Skript streamt das Korpus zeilenweise. Wer ein eigenes Korpus scannt, erhält eine andere Liste als unsere: Eine Frage auf dieser Liste kann in Ihrem Korpus fehlen, eine nicht gelistete kann darin vorkommen.
Bekannte Einschränkungen
Die Liste bezieht sich auf unser Korpus. Ein Modell, das auf einem anderen Ausschnitt des türkischen Webs trainiert wurde, hat eine andere Kontamination; da dieselben Quellen in jedem Ausschnitt vorkommen, wird die Überschneidung aber hoch sein.
Frage- und Optionstexte wurden gescannt; der Antwortschlüssel ist kein Text und kann es nicht. Umformulierte Kopien entgehen der strengen Schwelle; die Liste ist eine Untergrenze.
Die strenge Schwelle n = 13 verpasst umformulierte Kopien; die Liste n = 8 wird deshalb mitgeliefert, enthält aber falsch-positive Treffer.
Ändert sich die Reihenfolge des Quelldatensatzes, wird index ungültig; verwenden Sie sha256_soru.
Wenn Sie diese Liste verwenden
eCloud Tech. (2026). TurkishMMLU Kirlilik Listesi: Türkçe web külliyatında birebir geçen test soruları. https://github.com/ecloudtechnology/turkishmmlu-kirlilik
Lizenz: Liste und Skript CC BY 4.0. Für TurkishMMLU selbst: Yüksel, A. et al. (2024), TurkishMMLU. Kontakt: [email protected]
Berichten Sie Ihren TurkishMMLU-Wert auch auf der sauberen Teilmenge
Liste und Scan-Skript sind unter CC BY 4.0 offen. Für eine Zusammenarbeit bei türkischem Benchmarking und Evaluation nehmen Sie Kontakt mit uns auf.