Hoe Grote Taalmodellen Eigenlijk Werken
De vraag "maar hoe werkt dat eigenlijk?" volgt vrijwel altijd na een gesprek over AI. Het is ook de interessantste vraag, en eerlijk gezegd niet makkelijk te beantwoorden zonder te vervallen in oppervlakkige magie of een wiskundig moeras.
Grote taalmodellen, in vaktaal Large Language Models of LLM's, zijn tegelijkertijd begrijpelijker dan ze lijken en complexer dan de meeste uitleg suggereert. Hieronder een poging om beide kanten recht te doen.
Alles begint met tokens
Voordat een taalmodel ook maar iets kan verwerken, moet tekst worden omgezet in iets waar een computer mee kan rekenen. Dat gebeurt via tokens.
Een token is niet precies hetzelfde als een woord. Het is meer een stukje tekst: soms een heel woord, soms een deel ervan, soms gewoon een leesteken. Het woord "onwaarschijnlijk" wordt bijvoorbeeld opgesplitst in tokens als "on", "waar", "schijn" en "lijk". Korte, veelgebruikte woorden zijn vaak één token; zeldzamere woorden worden in stukken gehakt.
Dit heeft praktische gevolgen. Als je hebt opgemerkt dat ChatGPT soms moeite heeft met lettergrepen tellen of rijmwoorden vinden, komt dat deels doordat het model niet met letters denkt maar met tokens. De tekst wordt op een fundamenteel andere manier waargenomen dan wij dat doen.
Elk token krijgt vervolgens een getal, een ID. Die reeks getallen is wat er daadwerkelijk de computer in gaat.
De transformer: het hart van het model
In 2017 publiceerden onderzoekers van Google een paper met de bescheiden titel "Attention Is All You Need". Daarin introduceerden ze de transformer-architectuur. Het veld van AI is sindsdien nooit meer hetzelfde geweest.
Een transformer is een specifiek soort neuraal netwerk, een wiskundig systeem dat losjes geïnspireerd is op hoe neuronen in de hersenen samenwerken. Het bijzondere aan de transformer is het aandachtsmechanisme, ook wel attention genoemd.
Een voorbeeld helpt. Neem de zin: "De bank waar ik gisteren langs fietste, had een nieuwe etalage." Om het woord "bank" te begrijpen, moet je de context lezen. Bank kan een financiële instelling zijn, een zitbank, of zoals hier, een winkel. Hersenen wegen de omliggende woorden mee en kiezen de juiste betekenis automatisch.
Precies dat doet het attention-mechanisme. Voor elk token in een zin berekent het model hoeveel aandacht dat token aan elk ander token in de zin moet besteden. Dit resulteert in een gewogen netwerk van relaties: elk token trekt informatie aan uit de andere tokens op basis van context.
Wat is een neuraal netwerk?
Een neuraal netwerk is een wiskundig systeem opgebouwd uit lagen van eenvoudige rekeneenheden, zogenaamde neuronen. Elk neuron ontvangt input, past daar een wiskundige functie op toe, en geeft de uitkomst door aan de volgende laag. Door heel veel van die lagen op elkaar te stapelen en ze te trainen op grote hoeveelheden data, leren ze patronen herkennen die te complex zijn voor handgemaakte regels.
Een modern groot taalmodel bestaat uit tientallen of zelfs honderden transformer-lagen op elkaar gestapeld. Elke laag verfijnt het begrip van de tekst een stap verder. Onderaan verwerkt het model ruwe tokens; bovenaan heeft het een rijke, contextuele representatie van de betekenis.
Hoe een model wordt getraind
De architectuur verklaart de structuur. Maar hoe leert een model eigenlijk iets?
De kern van het trainingsproces is verbijsterend eenvoudig: voorspel het volgende woord. Dat is het. Het model krijgt een stuk tekst te zien en moet raden welk token er waarschijnlijk als volgende komt. Bij een foute gok worden de interne parameters, biljoenen getallen die samen het model vormen, een heel klein beetje bijgesteld. Dit proces heet backpropagation, en het herhaalt zich triljoenen keren over een enorme hoeveelheid tekst.
Denk eraan als volgt: als iemand duizenden boeken leest en elke keer wordt gevraagd wat er waarschijnlijk op de volgende pagina staat, ontwikkelt diegene een diep begrip van taal, stijl, logica en de wereld. Niet omdat het expliciet is uitgelegd, maar omdat het patroon zo vaak terugkeert.
De trainingsdata voor grote modellen is astronomisch groot. Het gaat om grote delen van het publieke internet, boeken, wetenschappelijke papers, code, forums: tekst in vrijwel elke denkbare vorm en taal. GPT-4 is getraind op honderden miljarden woorden. Claude, het model van Anthropic, eveneens.
Na deze eerste trainingsfase, ook wel pre-training genoemd, volgt vaak een tweede fase: fine-tuning. Het model wordt bijgeschaafd op specifieke taken, en menselijke beoordelaars worden ingeschakeld om het gedrag te sturen richting behulpzaam, veilig en eerlijk. Deze techniek heet Reinforcement Learning from Human Feedback, of RLHF.
Het contextvenster: het werkgeheugen van het model
Een concept dat regelmatig om uitleg vraagt is het contextvenster (of context window). Dit is de hoeveelheid tekst die een model tegelijkertijd kan zien en verwerken.
Het is te vergelijken met werkgeheugen. In een gesprek onthoud je de afgelopen paar minuten vrij goed. Wat er gisteren is gezegd, is al vager. Wat er vorig jaar is gezegd, is waarschijnlijk weg.
Voor een taalmodel geldt iets vergelijkbaars. Alles binnen het contextvenster kan het model actief meewegen. Wat erbuiten valt, bestaat voor het model simpelweg niet. Vroege modellen hadden contextvensters van een paar duizend tokens. Moderne modellen kunnen honderdduizend tokens of meer aan, ruwweg het equivalent van een heel boek.
Dit verklaart ook waarom een taalmodel soms lijkt te "vergeten" wat je aan het begin van een lang gesprek zei: het kan letterlijk buiten het venster zijn gevallen.
Temperatuur: van conservatief naar creatief
Als je ooit hebt gespeeld met de instellingen van een taalmodel-API, ben je de parameter temperatuur wellicht tegengekomen. Het is een van de meest intuïtieve maar ook meest misverstane instellingen.
Wanneer een model een volgend token voorspelt, berekent het voor elk mogelijk token een waarschijnlijkheid. Bij temperatuur 0 kiest het model altijd het meest waarschijnlijke token. De output is dan deterministisch en voorspelbaar: nuttig voor feitelijke vragen, maar weinig verrassend voor creatieve taken.
Bij een hogere temperatuur, zeg 0.8 of 1.0, worden de kansen wat meer gelijkgetrokken. Het model kiest vaker voor tokens waar het minder zeker van is, wat leidt tot meer variatie en verrassingen. Zet je de temperatuur te hoog, dan wordt de output incoherent: het model begint statistisch onwaarschijnlijke combinaties te maken die nergens op slaan.
Het is een beetje als improvisatiejazz versus het nauwkeurig reproduceren van een partituur. Beide hebben hun plek.
Temperatuur is geen maatstaf voor intelligentie
Een veelgehoord misverstand: hogere temperatuur betekent niet dat het model slimmer of creatiever denkt. Het past alleen de kansenverdeling aan bij het kiezen van tokens. De onderliggende kennis van het model verandert niet. Een hoge temperatuur kan creatievere output geven, maar ook meer fouten introduceren.
Waarom hallucineren modellen?
Het onderwerp waar het vaakst naar wordt gevraagd: waarom verzinnen taalmodellen soms dingen? Dit fenomeen heet hallucinatie, en het is een fundamentele eigenschap van hoe deze modellen werken, geen bug die je kunt oplossen.
Een taalmodel is getraind om het volgende token te voorspellen. Het heeft geen ingebouwd mechanisme om te controleren of iets waar is. Het heeft geen toegang tot een database met feiten die het kan nazoeken (tenzij dat expliciet is ingebouwd via tools). Het combineert patronen uit zijn trainingsdata tot statistisch aannemelijke tekst.
Vergelijk het met iemand die wordt gevraagd een biografie te schrijven over een obscure historische figuur die zij nooit hebben bestudeerd. Als die persoon toch iets opschrijft, zullen ze hoogstwaarschijnlijk patronen volgen van vergelijkbare figuren die ze wél kennen. Datums kloppen misschien niet. Namen worden verwisseld. Maar de stijl en structuur zijn correct.
Een taalmodel doet hetzelfde, op enorme schaal en snel. Voor veelbesproken onderwerpen, dingen die enorm vaak in de trainingsdata voorkomen, zijn de patronen robuust en betrouwbaar. Voor obscure feiten, recente gebeurtenissen of specialistische kennis zijn ze dat niet.
"Het model weet niet wat het niet weet. Het heeft geen besef van de grenzen van zijn eigen kennis."
Dit is waarom je taalmodellen niet blind moet vertrouwen voor feitelijke claims, zeker niet voor iets wat te verifiëren is. Ze zijn indrukwekkend goed in taal en redeneren, maar ze produceren soms onjuistheden, niet met opzet, maar omdat ze simpelweg een plausibel antwoord moeten genereren.
De schaal maakt het verschil
Een laatste aspect dat de moeite waard is om te noemen: schaal. Er is iets opmerkelijks aan grote taalmodellen. Boven een bepaalde drempelgrootte ontwikkelen ze ineens capaciteiten die niet waren voorzien.
Kleine modellen herkennen eenvoudige patronen. Grotere modellen, met meer parameters en meer trainingsdata, beginnen meerstappenredenering te doen, analogieën te leggen tussen totaal verschillende domeinen, en taken uit te voeren waarvoor ze nooit expliciet getraind zijn.
Onderzoekers noemen dit emergent abilities, opkomende vermogens. Waarom dit precies zo werkt, is nog niet volledig begrepen. Maar het is een van de redenen dat het veld zo snel beweegt: het is moeilijk te voorspellen wat een nóg groter model zal kunnen.
Een eerlijk perspectief
Taalmodellen zijn buitengewoon capabel, maar ook fundamenteel beperkt op manieren die niet altijd zichtbaar zijn.
Ze begrijpen geen tekst op de manier waarop mensen dat doen. Ze hebben geen intenties, geen bewustzijn, geen ervaringen. Ze zijn statistisch geoptimaliseerde patroonherkenners van een schaal en verfijning die eerder niet bestond. Dat is al genoeg om van onder de indruk te zijn, zonder er dingen bij te fantaseren die er niet zijn.
Wat opvalt: het simpele idee dat "voorspel het volgende woord", herhaald biljoen keer, kan leiden tot systemen die poëzie schrijven, code debuggen en complexe vragen beantwoorden. Het is een van de mooiste voorbeelden van hoe eenvoudige principes, toegepast op enorme schaal, tot iets ogenschijnlijk ingewikkelds kunnen leiden.
Heb je vragen over hoe taalmodellen werken, of zijn er aspecten die je anders begrijpt? Ik hoor altijd graag wat mensen verwarrend of verrassend vinden aan deze technologie.
Jesse Burger
Schrijft over kunstmatige intelligentie, de impact op ons dagelijks leven, en de toekomst van technologie.