LLM’s worden steeks krachtiger: ze kunnen informatie opzoeken, redeneren, schrijven en zelfs
complete producten maken. Dit brengt ook ethische kanttekeningen met zich mee -> is het okay om
LLM’s te gebruiken tijdens het leren en/of onderzoek doen?
Generatieve AI is ook wel een LLM (Large Language Model). LLM’s hebben verschillende
componenten en processen die het model tot werking brengen:
(1) Tokenizer LLM’s verwerken geen taal, maar getallen. De data (bijv. tekst die
je in AI plakt) wordt geëncodeerd als tokens. Iederen token is een getal (token
ID). De token IDs zijn de eenheden van informatie waar LLMs mee werken.
Iedere LLM heeft zijn eigen tokenizer (kan ook wel gezien worden als eigen
vertaalmachine) en kan alleen tokens van zijn eigen tokenizer verwerken.
Afhankelijk van de tokenizer kunnen tokens letters, deelwoorden, hele woorden
of een combinatie hiervan representeren. Alle tokens die een LLM kan
representeren worden tezamen de vocabulary van de LLM genoemd.
De tokenizer (in het geval van een letter tokenizer) erkent aan elke letter een
getal toe (token ID). De zin wordt dus per letter omgezet in getallen. Een LLM die
een lettertokinezer gebruikt heeft een vocabulary van ongeveer 70 tot 80
tokens. Er is één token nodig voor elke kleiner letter en voor elke hoofdletter van
het alfabet en voor speciale tekens (zoals %$@# etc.).
Een LLM wilt vaak ook betekenis kunnen geven aan data, daarom is het handig
voor een LLM als deze al units heeft die betekenis dragen, bijv. bij een woord
tokenizer. Deze tokenizer heeft al een veel groter vocabulary, namelijk
tientallen miljoenen tokens. Als hierbij alle unieke Nederlandse woorden
meeneemt (bijv. zeldzame woorden of verschillende spellingen) dan zouden het
zelfs honderden miljoen tokens kunnen zijn.
Aangezien dit veel data kost, maken LLMs vaak gebruiken van een tussenvorm:
deelwoord tokenizer. Hierbij worden verschillende woorden opgesplitst, die
verschillende combinaties van woorden kunnen vormen. Hierdoor zijn er minder tokens nodig om
toch tot alle woorden te komen. Deze tokenizer probeert dus een balans te vinden tussen
representatie op karakterniveau en representatue op woordniveau. De meeste LLMs maken gebruik
van een deelwoord tokenizer en hebben een woordenschat van tussen de 50.000 en 100.000 tokens
die vooraf zijn gedefinieerd. Dit woordenschat is klein genoeg om efficiënt te zijn, maar is nog steeds
flexibel genoeg om nieuwe woorden te kunnen representeren.
Een voorbeeld van deze tokanisatie is terug te zien in een voorbeeld van GPT-4o:
,Hierbij zien we dat de AI het fout heeft (er zit namelijk maar één a in strawberry). Dit komt omdat
deze AI helemaal geen onderscheid hierin kan maken, omdat deze in deelwoorden is gecodeerd:
‘’straw’’ (17) en ‘’berry’’ (89). Dit model kan dus niet goed onderscheid maken tussen de letters,
aangezien het geen letter tokenizer is. Latere taalmodellen lossen dit probleem op door woorden te
ont-tokeniseren en het met deelstpajes formaliseren.
(2) Embedding matrix een tokenizer zijn woordenschat bevat van zichzelf zeer weinig
informatie. De LLM heeft informatie nodig over de relatie die tokens in de woordenschat tot elkaar
hebben. Deze informatie ligt opgeslagen in de embedding matrix. Wij weten bijv. dat een appel
behoort tot een stuk fruit en iets is wat je kan eten. Deze categorisatie van woorden heeft een LLM
dus ook in de vorm van een embedding matrix. Een voorbeeld hiervan is hieronder te zien. In dit
voorbeeld worden onze tokens ingedeeld in twee dimensies (dodelijkheid en schattigheid). Op deze
manier wordt informatie over deze tokens ingedeeld aan de hand van hoe ze scoren op de dimensies.
De positieve gewichten hebben een rode kleur en de negatieve gewichten hebben een blauwe kleur.
De donkerte van de kleur geeft aan hoe hoog de token scoort op die dimensie.
Gewichten (ook wel paramaters) getallen die aangeven hoe sterk een token scoort op een
dimensie. Deze gewichten worden uitgebreid getraind door backpropagation.
Vectoren alle gewichten samen vormen de vector voor een bepaalde token. Dit geeft dus aan
in welke dimensies en hoe sterk de tokens inzitten. Je kan de vector visualiseern als een pijl in
een multidimensionele ruimte. Tokens waarvan de betekenis vergelijkbaar is zullen vaak
vectoren hebben die hoog met elkaar correleren, terwijl tokens met uiteenlopende
betekenissen vaak ongecorreleerd of negatief gecorreleerd zullen zijn.
De dimensies die een LLM creeërt zijn niet hetzelfde als de dimensies/categorieën die wij hebben
voor woorden. Voor ons zouden de dimensies die een LLM gebruikt niet interpreteerbaar zijn (in elk
geval niet in hoe wij dimensies zien).
In werkelijkheid zijn de tokens meestal subwoorden en geen volledige woorden. LLMs maken daarom
gebruik van een zeer groot aantal dimensies (vaak duizenden).
De embedding matrix kan dus worden gezien als een extreem
hoogdimensionele ruimte waarin LLMs de semantische relaties
tussen tokens representeren.
ChatGPT-3 zijn embedding matrix bestond uit 50,257 tokens en
12,288 dimensies. Dit resulteert in ongeveer 617 miljoen
gewichten, oftewel parameters, in het model.
,(3) Enorm traningsproces (backpropagation) De embedding matrix en andere
modelgewichten veranderen niet meer na uitgebreide voortraining. Commerciële LLM-bedrijven
maken niet bekend op welke teksten hun modellen zijn getraind (vaak omvat dit een groot deel van
het internet). Dit kan auteursrechtelijk beschermd materiaal, beledigend, privé/gevoelig, gebiased en
feitelijk onjuist materiaal omvatten.
(4) Transformer architectuur ChatGPT omvat het woord transformer. Dit is een specifiek
soort neuraal netwerk dat een ‘’aandacht’’-mechanisme gebruikt. Dit aandachtsmechanisme is het
vermogen van een model om woorden te herkennen en hoe deze tot elkaar te verhouden. De
transformermodellen kunnen verschillende soorten transformaties implementeren: tekst naar spraak,
tekst naar afbeelding, taal A naar B en tekst/afbeeldingen om nieuwe tekst te voorspellen
(generatief).
Die transformers stellen de architectuur in staat om het woord te voorspellen wat komt na een
sequentie woorden. De sequentie gaat de transformater in en deze genereert de kans dat
verschillende woorden op deze sequentie zouden volgen. In onderstaand voorbeeld is de kans dat na
deze zin sequentie het woord ‘from’ volgt 49%. De LLM kiest het meest waarschijnlijke woord, de LLM
doet dus als het ware geïnformeerd gissen. Het is een geïnformeerde gok die bepaalt wordt door de
regelmatigheden in een taal. De LLM creeërt zinnen door elke keer de sequentie met een nieuw
geraden woord weer in de transformer te stoppen.
De transformer weet in dit geval dat het om een schaakstuk gaat, omdat de transformater de
tokenvectoren wijzigt gedurende meerdere iteraties, om zo de context van iedere token te
absorberen.
Het aandacht mechanisme wat in transformers zit gaat iedere token af in een zin en bepaalt in welke
mate die aandacht heeft voor andere woorden die in de context van die input zitten. Hij legt dus
relaties tussen verschillende woorden in een zin en kijkt in welke mate de woorden naar elkaar
verwijzen. Dit doet het aandachtsmechanisme in het contextvenster. Het aandachtsmechanisme
komt er dus achter dat in de context van ‘wit’ en ‘bewegen’ queen moet gaan over een schaakstuk,
aangezien dit meer gerelateerd is aan schaken dan aan een koningin die verhuist bijv. (en in meer
regelmaat voorkomt in de Engelse taal). De tokenvector van queen wordt dus verplaatst door het
aandachtsmechanisme om de context waarin het wordt gepresenteerd op te nemen, de aandacht
wordt dus verplaatst naar de context van schaken.
Dit is handig, omdat de voorspellingen van de LLM op deze manier veel zinvoller zijn. Dit is
oorpronkelijk ontwikkeld voor taalmodellen. In verschillende talen hebben dezelfde woorden
, namelijk verschillende betekenissen. LLMs met dit aandachtsmechanisme en deze transformers zijn
in staat om deze woorden in de juiste context/taal te plaatsen. Als er bijv. in een zin het woord
‘match’ staat, dan kan dit een voetbalwedstrijd betekenen, maar ook lucifer. Afhankelijk van de input
wat het model krijgt kan deze door behulp van de transformer dit woord in de juiste context plaatsen
en dus de juiste vertaling geven.
Multi-layer-perceptron = neuraal netwerk die getraind is met probablistische feiten over de wereld
die vervolgens ook worden opgenomen door tokenvectoren (bijv. dat schaakstukken ook van hout
zijn gemaakt). Dit biedt dus extra informatie en verandert de tokenvectoren verder.
Samengevat, trekt de transformer architectuur een embedding matrix met alle vectoren door een
aandachtsmechanisme heen en multi-layer-perceptron, waardoor context wordt opgezogen en
probablistische feiten worden meegenomen in de voorspelling van het woord en dus bij het creëren
van output. Wanneer een woord voorspelt is, wordt de hele sequentie inclusief het nieuwe woord
weer door het hele mechanisme gehaald om het volgende woord te voorspellen.
(5) Chain of Thought (RLHF) naast deze voorspellingen worden LLMs ook getraind om
bepaalde redeneringen te kunnen doen. De LLMs krijgen samengestelde redeneringsvoorbeelden +
uitleg waarmee ze patronen leren zoals: breek probleem op in deelstapjes -> los deelstapjes op ->
combineer.
Dit soort ‘’als A dan B’’ en ‘’Als B dan C’’ logica genereert een interne diaoloog die chain of thought
wordt genoemd. Dit wordt getraind door mensen die aangeven hoe goed het antwoord van het
model is op een probleem. Dit kan ook wel gezien worden als de ‘gedachtegang’ die het model volgt.