Het model
Technisch rapport
Het recept en de meetopzet, met de keuzes erachter.
Het recept
Hoe is Walnoot 8B gebouwd?
Onder Walnoot 8B ligt Apertus-8B-2509, het open Europese basismodel van de Swiss AI Initiative. Daarop bouwden wij in drie stappen verder: continued pretraining, supervised fine-tuning en rejection fine-tuning.
Doortrainen op Nederlandscontinued pretraining
Wij hebben het basismodel doorgetraind tot acht miljard tokens. De beste uitkomst lag bij ongeveer vier miljard, na 3.816 stappen van 1.048.576 tokens. Op dat punt rust dit model, met daarna een afkoelfase van 64 stappen. Zeventig procent van die tekst is Nederlands, twintig procent Engels en tien procent code. Ook het Engels en de code komen uit het GPT-NL Public Corpus. Zij staan erin als replay, want een model dat alleen nog Nederlands ziet, vergeet wat het al kon.
De bronnen per stuk staan op de herkomstpagina.
Leren opdrachten uit te voerensupervised fine-tuning
Een doorgetraind basismodel vult tekst aan; het voert nog geen opdracht uit. In deze stap krijgt het 51.875 voorbeelden te zien van een opdracht met het gewenste antwoord, verdeeld over twintig taakcategorieën. Het ziet die verzameling twee keer (twee epochs). De loss wordt alleen over de tokens van het antwoord berekend. De instructiedata is grotendeels synthetisch, met een wetenschappelijke tak uit openbare annotatiedatasets. Wij hebben haar zelf samengesteld en op steekproef nagelopen.
In de brontabel verderop staat dit als eigen bron.
Nabewerking met terugkoppelingrejection fine-tuning
In de laatste stap is het model verder getraind op antwoorden die het zelf had voortgebracht. Eerdere versies van het model beantwoordden vragen uit dezelfde verzameling als de instructiedata. Dat leverde generatieverzamelingen van 24.000, 12.000 en 15.400 antwoorden op. In de drie taakfamilies met een controleerbaar antwoord (classificatie, extractie en anonimiseren) besliste een regelgebaseerde controle. Die meet niet of er iets is verzonnen. Daarbuiten beoordeelden twee modellen van derden elk antwoord. Waren zij het oneens, dan besliste een derde model bij meerderheid. Per vraag bleef hoogstens één antwoord staan. Een goedgekeurd antwoord dat langer was dan 1,8 keer de mediane lengte in tekens van de goedgekeurde antwoorden, viel alsnog af.
Zo bleven 1.157 voorbeelden over. Daarop is het model één epoch verder getraind met supervised fine-tuning, op de helft van de leersnelheid van stap 02. Het doel is dat het vaker de vorm en de volledigheid levert die bij de taak past. Er is geen beloningsmodel en geen referentiemodel. Training op paren van een goed en een minder goed antwoord hebben wij wel beproefd. Die weg zit niet in het model dat je downloadt.
Hoe die beoordelingsstap werkte, staat in de publieke samenvatting van de trainingsinhoud.
De trainingsrun duurde minder dan een week en binnen ongeveer een maand draaide het eerste model. De configuratie van elke stap staat op GitHub, in de map recept. Voor stap 01 zijn dat planbestanden. De waarden waarmee die stap echt is gedraaid, staan in de leesmij van die map.
Basismodel
Waar bouwt Walnoot 8B op voort?
Walnoot 8B bouwt voort op Apertus. De volledige technische opbouw, trainingsstappen en onze eigen bijdragen staan beschreven in de modelkaart.
Gepubliceerd
Wat staat er van deze bouw online?
- Trainingsrecept
- Apache 2.0, publiek
- Evaluatieconfiguratie
- Apache 2.0, publiek, gepind op 17.6.0
- Evaluatielogs
- Apache 2.0, publiek, ruwe jsonl
Het corpus
Welke bronnen zitten in de trainingsdata?
| Bron | Grondslag | Bewerkingen |
|---|---|---|
| GPT-NL Public Corpus | CC-BY 4.0, publiek vrijgegeven zonder registratie | Ontdubbeld tegen de rest van onze mix. De mix staat op 70 procent Nederlands, 20 procent Engels en 10 procent code. Ook het Engels en de code komen uit dit corpus. Het Engels komt uit de subsets cc_english-pd, cc_loc-pd-books en cc_openalex, de code uit cc_github_open_source. Zij staan erin als bewuste replay tegen kennisverlies. |
| Instructiedata (samengesteld door WAINUT) | Grotendeels synthetisch, gemaakt met een leraarmodel onder Apache 2.0. Letterlijke corpuspassages vallen onder CC BY 4.0. De wetenschappelijke tak komt uit dertien openbare datasets, elk onder de licentie van die dataset. | Licentie per externe bron herleid. Een poort op persoonsgegevens voor de corpuspassages die in september voor documenttaken zijn klaargezet. Geen filter op persoonsgegevens over de data als geheel. |
Het corpus van de voortgezette pretraining bevat daarnaast een eigen bron van WAINUT die de opmaak van tekst moet behouden. Gemeten in tekens is zij 2,0 procent van het corpus. De instructiedata heeft een wetenschappelijke tak uit dertien openbare annotatiedatasets; de licentie van elke dataset staat in de publieke samenvatting van de trainingsinhoud.
Krantenarchieven sloten wij op kwaliteit uit. Tekst van achter een betaalmuur zit er ook niet in.
Meetopzet
Hoe is er gemeten?
- Evaluatieframework
- EuroEval 17.6.0
- Regime
- test-split, 10 iteraties, bf16, nul mislukte instances
- Model
- Walnoot 8B Instruct 1.0
Wij maten onze kolom met EuroEval 17.6.0 op de test-split, in 10 iteraties en met bf16-gewichten. De GPT-NL-kolom is hun eigen publicatie van december 2025 op EuroEval 15.16.0, interim-scores van het basismodel, gepubliceerd als puntscores zonder interval bij de cijfers die wij overnemen. Er zit twee hoofdversies verschil in het evaluatieframework. Over versies heen is de datasetinhoud niet gegarandeerd identiek. Daarom vermelden we bij iedere vergelijking expliciet welke versie is gebruikt.
Waarom EuroEval?
EuroEval is het framework dat GPT-NL zelf koos. De versie staat gepind op 17.6.0 en het commando is gepubliceerd. De volledige tabel staat online, inclusief de vier taken waar wij niets kunnen claimen. Op WikiLingua wisselde de metriek tussen beide metingen, dus die taak zetten wij nooit kop-aan-kop. Hem weglaten zou pas cherry-picking zijn.
Reproduceer
Toon het commando
pip install "euroeval[all]==17.6.0" && euroeval --model WAINUT/walnoot-8b-instruct --language nl --num-iterations 10 --dataset dbrd --dataset scala-nl --dataset conll-nl --dataset squad-nl --dataset wiki-lingua-nl --dataset mmlu-nl --dataset hellaswag-nl --dataset duidelijke-taal --dataset valeu-nl --dataset mbbq-nl --evaluate-test-splitBeslisregel
Wanneer heet winst winst?
Winst heet pas winst als ons hele betrouwbaarheidsinterval boven hun cijfer ligt. Verlies pas als het er volledig onder ligt. Valt hun cijfer binnen ons interval, dan staat er gelijkspel. Dat geldt ook op een taak waar wij op punten voorstaan.
Het oorspronkelijke doel is gehaald: GPT-NL op alle zes gepubliceerde benchmarks minimaal evenaren. Vijf keer erboven, op dbrd gelijk. WikiLingua-nl valt buiten de vergelijking, want daar wisselde de metriek. Walnoot 8B telt 8,05 miljard parameters tegen 26,03 miljard van GPT-NL.
GPT-NL publiceert geen gewichten, dus niemand buiten het consortium kan dat model draaien. Wij hebben het daarom nooit zelf gemeten. Deze tabel zet ons gemeten cijfer naast hun gepubliceerde cijfer.
Bovengrens
Waar houdt dit model op?
Walnoot 8B is gebouwd voor afgebakende taken. Voor opdrachten die veel algemene kennis, brede context of langdurig redeneren vragen, zijn grotere modellen geschikter. Dat zie je ook terug in de EuroEval-resultaten. We publiceren alle scores, dus ook de taken waarop Walnoot minder sterk presteert.
Voor brede kennis en lang redeneren is een frontier-model het betere gereedschap.
Register