Hoe dit bord werkt
Op een vaste set opgaven scoren de beste modellen binnen een paar punten van elkaar, en elk van hen haalt elke redelijke grens. Nauwkeurigheid is daarmee een uitgeput getal. Wat niet uitgeput is: of een antwoord overeind blijft als de vraag net anders wordt gesteld, zonder dat het juiste antwoord verandert.
Elke opgave wordt daarom in zeven vormen gesteld: onverstoord en in zes varianten die de zin of het woord onder test niet aanraken. Een model krijgt de opgave alleen als het alle zeven vormen goed heeft. Dat aandeel is de worst-case op het bord. De onverstoorde score blijft zichtbaar als het plafond dat een model haalt wanneer niets tegenzit.
Het verschil tussen die twee is het verlies onder druk. Onder 5 punten noemen we een model stabiel, tot 15 punten wankel, daarboven onstabiel. Er is geen slaaglijn en geen oordeel; het bord rapporteert niveaus, verliezen en waar die zitten.
| Vorm | Wat verandert | Wat gelijk blijft |
|---|---|---|
| onverstoord | niets | alles |
| opties omgekeerd | de antwoordopties in omgekeerde volgorde | de opgave en het juiste antwoord |
| opties geschud | een vaste andere volgorde van de opties | idem |
| informele instructie | de antwoordinstructie in spreektaal | de opgave |
| Engelse instructie | de antwoordinstructie in het Engels | de opgave, in het Nederlands |
| afleidende zin | één irrelevante Nederlandse zin vóór de opgave | de opgave |
| typefouten | twee tikfouten in de vraagzin | de zin of het woord onder test |
| Onderdeel | Wat wordt getoetst | Opgaven | In de batterij |
|---|
Elk onderdeel bestaat uit opgaven met één juist antwoord: meerkeuze, minimale paren, of een zin die exact moet worden herschreven. Er is geen beoordelaarsmodel. Algemene kennis (Global-MMLU) staat erbij als indicatie en telt niet mee in de worst-case.
Per verstoring
De nauwkeurigheid per vorm, voor de modellen die de batterij hebben afgelegd. Merk op hoe weinig een enkele vorm beweegt en hoeveel de worst-case zakt: de instabiliteit zit verspreid over opgaven, niet geconcentreerd in één verstoring. Daarom telt het bord per opgave, niet per vorm.
Besmetting: is de score van buiten geleerd
Elke openbare benchmark verslijt. Een model dat na publicatie is getraind kan de opgaven hebben gezien en scoort dan hoog zonder Nederlands te kennen. Daarom is er een held-out deel dat nooit is gecommit: alleen de id’s en gezouten hashes van de antwoorden staan online, in docs/heldout-manifest.json.
De toets vergelijkt de openbare score met de held-out score tegen het kleinste verschil dat het held-out deel kan zien. Daarnaast staat er een canary-GUID in de repository; een model dat die reproduceert is op deze repository getraind.
| Model | Openbaar | Held-out | Verschil | Ruisgrens | Oordeel | Canary |
|---|
De controles zijn de vloer
Twee rijen op het bord zijn geen deelnemers. always-a kiest altijd de eerste optie en meet of de antwoordposities in balans zijn; echo herhaalt de vraag en meet of de antwoordextractie ooit iets uit niets maakt. Een bord dat zijn controles verbergt vraagt om vertrouwen in plaats van het te verdienen.
Waar de modellen struikelen
De opgaven die de meeste modellen onverstoord al fout hebben, met het juiste antwoord. Elke opgave staat openbaar in de repository en is door een persoon nagekeken.
| Onderdeel | Opgave | Juist | Fout bij |
|---|
Taalvorm per verschijnsel
De BLiMP-NL minimale paren, uitgesplitst naar taalkundig verschijnsel: twintig paren per verschijnsel, onverstoord. Gesorteerd van moeilijkst naar makkelijkst over alle modellen.
Wat er al bestond, en wat dit toevoegt
Nederlands is geen onbediende taal. EuroEval draait een Nederlandse set met vertaalde en eigen taken, BLiMP-NL levert 8.400 minimale paren met menselijke beoordelingen, en Global-MMLU een Nederlandse vertaling van MMLU. Dit bord gebruikt de laatste twee als lagen en doet niet alsof ze niet bestaan.
- Worst-case in plaats van één getal. Een opgave telt pas als ze onder elke vorm goed gaat. Dat raakt niet uitgeput: de batterij kan zwaarder zonder dat er een opgave verandert.
- Geen beoordelaarsmodel, ook niet voor schrijven. Foutverbetering heeft één juiste uitkomst, of een korte lijst.
- Onderdelen die geen vertaalde benchmark heeft. Werkwoordspelling, de twijfelgevallen van Taaladvies, Nederlandse notatie en de Belgisch-Nederlandse varianten.
- Besmetting is toetsbaar. Een held-out deel dat nooit is gecommit, plus een canary.
- Waar, niet alleen hoeveel. Verlies per onderdeel, per verstoring, per verschijnsel, en de opgaven zelf.
Wat dit bord niet zegt
- De batterij draait op een steekproef. Gehoste modellen zijn op 150 tot 300 opgaven onder druk getest, gelaagd over de onderdelen; de onverstoorde score staat op de volledige set. De steekproefgrootte staat per rij vermeld.
- De zes vormen zijn een keuze. Andere verstoringen (dialect, langere context, andere opdrachtvolgorde) zijn denkbaar en kunnen erbij; elke toevoeging maakt de worst-case strenger, nooit milder.
- Spreken en luisteren zijn niet getoetst; dit is een tekstbord.
- Algemene kennis is een indicatie. Global-MMLU is afgeleid van MMLU, een van de meest besmette benchmarks die er zijn.
- Een run die niet reed staat als zodanig op het bord, met de reden, in plaats van als nul.
Zelf draaien
De suite is een Python-pakket met een uitgavenplafond dat wordt afgedwongen, niet geadviseerd. Lokale modellen kosten niets; de geschatte kosten per gehoste run staan in elk rapport.
pip install -e . nl-eval --suite all --provider anthropic --model claude-sonnet-5 --max-spend 2.50 --out results/anthropic__claude-sonnet-5.json nl-eval --robustness --suite core --limit 300 --provider anthropic --model claude-sonnet-5 --out results/robustness__claude-sonnet-5.json nl-eval --suite holdout --provider anthropic --model claude-sonnet-5 --out results/heldout__claude-sonnet-5.json nl-eval --canary --provider anthropic --model claude-sonnet-5 --out results/canary__claude-sonnet-5.json nl-eval --publish results
Broncode, opgaven en de volledige methode: github.com/hoeberigs/nl-eval.
Bronnen en licenties
- BLiMP-NL (Suijkerbuijk e.a., Computational Linguistics 2025), CC-BY-4.0; de menselijke beoordelingen CC BY-SA 4.0.
- Global-MMLU (Cohere Labs), Apache-2.0; alleen het Nederlandse deel.
- Handgeschreven opgaven (Taalvorm, Spelling en grammatica, Schrijven, Lezen, Woordenschat), MIT, geschreven voor deze repository.