Datastrategie GPT-NL

GPT-NL is gestart met trainen


De zwarte kasten van Snellius staan te ronken: GPT-NL wordt getraind! De komende maanden 'kijkt' het model naar trainingsdata om de structuur van tekst en taal te leren. Wij zijn gestart met een dataset van 370 miljard unieke tokens. Voor de trainingsdataset hebben we kunnen putten uit een dataverzameling van zo’n 880 miljard teksttokens. Als je dat zou uitprinten heb je een stapel papier van zo’n 30 kilometer. (Voor de beeldvorming: een vliegtuig vliegt doorgaans op een hoogte van 10 tot 13 kilometer!) Lang niet al deze data is geschikt om een taalmodel te trainen. Zo viel het overgrote deel bijvoorbeeld af omdat de teksten te oud zijn en daardoor niet onze huidige taal en wereld weerspiegelen. Ook wordt een deel van de tekst weg gefilterd tijdens de datacuratie.

De cijfers hieronder zijn nog geen weergave van de volledige trainingsdataset. Omdat het datacuratieproces en de training elkaar overlappen, voegen we stapsgewijs nog nieuwe, Nederlandse data toe. Wel geven ze een indruk van het eindresultaat. Inzicht over de definitieve dataset kunnen we aan het eind van de training delen.

~ 370 miljard tokens

Een taalmodel leert geen taal door spelling en grammatica: het leert de structuur van tekst en taal te herkennen door het analyseren van tokens. Tokens zijn een stukje van een woord, bijvoorbeeld 'koffie-zet-apparaat'. Een taalmodel leert te herkennen welke tokens vaak voorkomen in een bepaalde volgorde of combinatie. Zo leert het bijvoorbeeld dat 'koffie-filter' en 'koffie-zet-apparaat' bij elkaar horen. In de dataset zijn dus meer tokens dan woorden te tellen, maar het is moeilijk om een exacte berekening te maken. Om een inschatting te maken gaan we uit van een factor 1,3. Dat wil zeggen dat 370 miljard tokens dus gelijk is aan zo'n 285 miljard woorden (285.000.000.000).

  • Het laatste boek Harry Potter boek Deathly Hallows bestaat uit 204.796 woorden. Dat is 0,00007% van 285 miljard.

~285 miljard tokens tekst

Meer dan driekwart van de dataset bestaat uit unieke teksttokens. 'Unieke tokens' wil zeggen dat we laten zien uit hoeveel tokens de trainingsdataset bestaat, niet hoeveel tokens het model krijgt te zien tijdens de training. Het model krijgt de Nederlandse teksten tijdens de training namelijk vaker te zien om te leren dat de Nederlandse taal belangrijk is. Deze herhalingen tellen we niet apart op. Inzicht over welke datasets vaker aan het model zijn toegediend, kunnen we na afronding van de training delen.

~85 miljard tokens code

Dit deel van de dataset betreft computercode (software) wat het redeneervermogen van het model verbetert.

Onze doelstelling

Bij de start van het project hebben we onszelf het doel gesteld om GPT-NL te trainen om een minimum van 300 miljard teksttokens (Nederlands en Engels). Met ~285 miljard teksttokens zitten we dus op 95% van onze doelstelling. Al vrij snel in het project bleek het niet haalbaar om een gelijke verdeling Nederlands en Engels te verkrijgen. Omdat we uitsluitend data gebruiken die we rechtmatig hebben verkregen, putten we uit minder bronnen dan andere ontwikkelaars doen. Ook is er in het publieke domein simpelweg minder Nederlandse tekst beschikbaar dan voor andere, grote talen zoals het Engels. Daarom zijn we extra databronnen gaan toevoegen, zoals vertalingen uit het Frans en Spaans en teksten uit Germaanse talen zoals Duits en Zweeds. Germaanse taal ligt dicht bij het Nederlands en heeft daarom een goede invloed op het taalbegrip van het model.

De trainingsdataset voor GPT-NL zal bestaan uit ongeveer 10% Nederlandse tekstdata, 73% Engels, en 17% data uit oorspronkelijk andere talen.

~ 29 miljard tokens

Nederlands

~208 miljard tokens

Engels

~ 48 miljard tokens

Germaanse talen, Spaanse en Franse vertalingen

Nederlandse tekstdata

Het grootste deel van de Nederlandse data, 24 miljard teksttokens, zijn private en publieke Nederlandse datasets. Private data is data waarbij de auteurs de rechten aan ons hebben verleend om het model te trainen. Publieke data hebben we verkregen in overeenstemming met de dataleveranciers, is verkregen onder de juiste licentie (CC-BY; CC-BY-4.0; CC-0) of valt onder het publieke domein (Common Corpus). Om tot goede voorwaarden te komen over het gebruik van Nederlandse data, is begin 2025 de Content Board opgericht. De board bestaat uit publieke en private organisaties die de belangen van dataleveranciers vertegenwoordigen.

Tot slot voegen we 5 tot 6 miljard synthetische teksttokens toe. Dat zijn teksten die we zelf hebben gecreëerd om het aandeel van Nederlandse teksten in de dataset te vergroten.

Op basis van wat we weten over andere taalmodellen, is 10% Nederlandse tekst voldoende om een goed taalbegrip te krijgen van het Nederlands. Het is nog onduidelijk hoe het model zal scoren op Nederlandse kennis. Tijdens de training zullen we tussentijdse testen doen. Pas na de evaluatiefase later in het jaar kunnen we uitspraken doen over invloed van de verhouding tussen Nederlands, Engels, en andere talen.

~ 24 miljard

Publieke en private Nederlandse datasets. Deze zijn verkregen in samenwerking met de dataleveranciers middels de Content Board.

~5 miljard

Synthetische data zijn teksten die we zelf hebben gecreëerd. Hieronder lees je hoe we dat hebben aangepakt.