Verantwoording
Dataherkomst
Waar de trainingsdata vandaan komt, per bron en per grondslag.

In het kort
Waar is Walnoot op getraind?
We trainden Apertus verder op één open Nederlands corpus plus een kleine eigen bron en daarna op instructiedata die we zelf samenstelden. Er wordt geen trainingsdata gepubliceerd, wel de herkomst.
Het beste open Nederlandse model dat er was, verdween om zijn dataherkomst. Daarom ligt de onze per bron vast.
Bronnen
Welke data zit erin?
| Nummer | Bron | Grondslag | Bewerkingen |
|---|---|---|---|
| 01 | GPT-NL Public Corpus | GrondslagCC-BY 4.0, publiek vrijgegeven zonder registratie | BewerkingenOntdubbeld 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. |
| Registers28 subsets. Daarvan bevatten er 24 Nederlandse tekst, waaronder De Rechtspraak, Officiële Bekendmakingen, Tweede Kamer, Openraadsinformatie, Woogle, Eurlex, de Koninklijke Bibliotheek en het Nationaal Archief. Drie bevatten Engelse tekst en één bevat code. | |||
| 02 | Instructiedata (samengesteld door WAINUT) | GrondslagGrotendeels 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. | BewerkingenLicentie 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. |
Krantenarchieven sloten we op kwaliteit uit. Tekst van achter een betaalmuur zit er ook niet in, net als data waarvan de herkomst niet per bron vastligt.
Werkwijze
Wat deden we met de data?
Selectie en filter
Uit het corpus namen we 28 subsets, op een vaste revisie. Elk document ging langs een filter op lengte en taal. Naast het corpus zit in de doortraining een kleine eigen bron van WAINUT, ongeveer 2 procent van de tekens. Het zijn synthetische chatparen, gemaakt met hetzelfde leraarmodel als de instructiedata, om het model de opmaak van tekst te laten behouden.
Instructiedata
De instructiedata is grotendeels synthetisch, gemaakt vanuit 51 met de hand geschreven startprompts en passages uit het corpus. Een wetenschappelijke tak komt uit openbare annotatiedatasets.
Licentie per bron
Voor de instructiedata zochten we de licentie van elke externe bron op bij die bron zelf. Geen enkele bron in de gebruikte mix staat onder een niet-commerciële licentie, share-alike, de GPL of een onderzoeksbeperking.
Nabewerking
In de laatste stap leerde het model van eigen antwoorden die een beoordelingsstap had goedgekeurd. Daar kwam geen nieuwe externe bron bij.
Publieke samenvatting van de trainingsinhoudAuteursrechtbeleid
Decontaminatie
Hebben jullie de testsets meegetraind?
Een model dat de testvragen al tijdens de training heeft gezien, haalt een hoog cijfer zonder dat het iets kan.
Bij de meting na de training deelden twee vragen uit squad-nl dertien woorden achter elkaar met de instructiedata. Op zestien woorden waren ze weg en op twintig, waar de grens ligt, raakte niets. Voor die data is het oordeel schoon. De ruimere controle op acht woorden telt niet mee voor de uitslag en raakte 659 items in de instructiedata en 33 in de nabewerkingsdata. Het corpus van de voortgezette pretraining is in de bouw waarop het model is doorgetraind als geheel niet opnieuw tegen de testsets gemeten. De eerste pas tegen de testsets, op 22 juli, ging over een eerdere bouw.
Uitslag
- Corpus
- Tegen een eigen set waarmee wij kennisverlies meten, komt ons corpus uit op PASS_AMENDED_G2PRIME, oftewel geslaagd met een amendement dat in de naam staat. Die controle gaat niet over de testsets. Wij laten dat amendement nergens weg.
- Held-out
- Daarnaast staat een G2-FAIL en die halen wij er niet af. Naast de testsets houden wij een eigen set apart om te meten of het model kennis verliest tijdens het doortrainen. Op die set raakte dezelfde meting 2.754 van de 6.244 records, 44,11 procent. Dat is een gezakte uitslag en die is niet herroepen. Wij hebben die set daarna gesnoeid, onder een regel die is vastgelegd vóórdat de uitslag van de langere lat bekend was.
Hoe zochten we?
Wij zoeken of er dertien woorden achter elkaar in onze trainingsdata staan die ook letterlijk in een testvraag voorkomen. Daarvoor zetten wij beide teksten eerst in kleine letters en normaliseren wij elk teken, zodat een verschil in opmaak geen treffer verbergt. Elke treffer leggen wij daarna langs een langere lat: zestien woorden, dan twintig, dan vijfentwintig. Twintig beslist. Een treffer die daar verdwijnt was een vaste uitdrukking; wat overblijft telt als lek. De drempel ligt op nul en die geldt per dataset.
Krijgen korte vragen vrijstelling?
Een testvraag die korter is dan die lange lat krijgt geen vrijstelling. Zo'n vraag kan die lat per definitie niet halen en juist de meerkeuzevragen zijn kort. Een vrijstelling zou dus precies de vragen dekken waar het om gaat.
Waartegen meten we?
Voor de metingen van juli zijn dat 35 vastgelegde bestanden uit EuroEval 17.6.0, samen 29.273 records met elk een eigen controlegetal. Daarvan komen er 18.145 uit de testsplit, 8.674 uit de trainsplit en 2.454 uit de validatiesplit. Zonder die bevriezing meet een tweede ronde iets anders en valt er niets te vergelijken.
Wat gaf de bindende meting?
Op 30 juli hebben wij de twee bronbestanden gemeten van onze eigen bron die in het corpus de opmaak van tekst moet behouden. Op dertien woorden komt de uitkomst daar op nul. Op 12 september, na de training, hebben wij de instructiedata en de nabewerkingsdata gemeten waarop het model werkelijk is getraind. Daar raakten twee vragen uit squad-nl op dertien woorden; op zestien woorden waren zij weg en op twintig raakte niets. Dat is een vaste frase en het oordeel is schoon. Het corpus van de voortgezette pretraining is in de bouw waarop het model is doorgetraind als geheel niet opnieuw tegen de testsets gemeten. De pas van 22 juli ging over een eerdere bouw.
Waarom ook op acht woorden?
Wij meten ook op acht woorden. Die meting telt niet mee voor de uitslag en staat er alleen ter controle. Op 30 juli raakte ze 723 en 591 van de 29.273 records, per bron. Op 12 september raakte ze 659 items in de instructiedata en 33 in de nabewerkingsdata. Op zo'n kort fragment loopt normaal taalgebruik mee, zoals verdragstitels en licentiekoppen. Die getallen staan er toch bij, want een lezer die ze zelf vindt vraagt zich anders af waarom ze ontbraken.
Vonden we een echt lek?
Eén treffer haalde de lange lat wel en was dus een echt lek, het Onzevader in testvraag 1941 van wiki-lingua-nl. Dat was in de eerste pas van 22 juli, over een eerdere bouw van het corpus met de instructiedata van dat moment. Wij noemen hem, want een controle die nooit iets vindt zegt vooral iets over hoe er is gezocht. Hoe wij ermee omgingen lag vooraf vast en het nummer van die vraag staat in de pre-registratie.
Basismodel
En de trainingsdata van Apertus?
Die data is gedocumenteerd door de Swiss AI Initiative en is niet van ons om te publiceren.
Dat het kan om opt-outs op schaal te respecteren en toch een bruikbaar model te bouwen, beschreef Paul Keller (IViR) in juni 2026 op het Kluwer Copyright Blog naar aanleiding van Apertus. Paul Keller, GPT-NL respects copyright - cui bono? - Part 1, Kluwer Copyright Blog, 25 juni 2026
Verder in het dossier