Comparthing Logo
nlptokenisatiemachine learningtransformatorenkunstmatige intelligentie

Tokenizer-training versus modeltraining in NLP

Het trainen van tokenizers en het trainen van modellen in NLP zijn fundamenteel verschillende, maar tegelijkertijd nauw met elkaar verbonden processen. Bij tokenizers worden de woordenschat en coderingsregels gecreëerd, waardoor modellen taalpatronen uit numerieke data kunnen leren.

Uitgelicht

  • Tokenizer-training maakt gebruik van gierige samenvoegingsalgoritmen in plaats van op gradiënten gebaseerde optimalisatie, waardoor het in wezen een voorverwerkingsstap is in plaats van neuraal leren.
  • De kosten voor het trainen van een model zijn vele malen hoger dan de kosten voor het trainen van een tokenizer, terwijl de kwaliteit van de tokenizer een harde bovengrens vormt voor de prestaties van het daaropvolgende model.
  • De beslissingen die een tokenizer neemt over de woordenschat zijn in feite onomkeerbaar zodra de modeltraining begint, waardoor er een lock-in ontstaat die blijft bestaan tijdens alle daaropvolgende fine-tuning.
  • Meertalige modellen kampen met ernstige vertekening in de tokenisatie, waarbij Engels en de belangrijkste Europese talen efficiënt worden getokeniseerd, terwijl veel andere talen last hebben van een inflatie van de sequentielengte.

Wat is Tokenizer-training?

Het proces van het opbouwen van een subwoordvocabulaire en het leren van coderingsregels om tekst om te zetten in numerieke tokens.

  • Tokenizer-training analyseert een grote tekstcorpus om de meest efficiënte subwoordeenheden te vinden voor het representeren van taal.
  • Byte Pair Encoding (BPE) en SentencePiece zijn de meest gebruikte algoritmen voor het trainen van tokenizers op ruwe tekst.
  • De resulterende woordenschatgrootte is een vaste hyperparameter, die doorgaans varieert van 32.000 tot 100.000 tokens.
  • De training van de tokenizer omvat geen gradiëntafdalingsmethode of neurale netwerkoptimalisatie.
  • Een slecht getrainde tokenizer kan de prestaties van latere modellen ernstig verslechteren door gefragmenteerde of ambigue tokenreeksen te produceren.

Wat is Modeltraining in NLP?

Het optimalisatieproces van neurale netwerken, waarbij taalmodellen patronen leren uit getokeniseerde data via op gradiënten gebaseerde methoden.

  • Voor modeltraining zijn vooraf getokeniseerde gegevens nodig en wordt backpropagatie gebruikt om het voorspellingsverlies over miljarden parameters te minimaliseren.
  • Transformer-architecturen domineren de moderne NLP-modeltraining, zoals geïntroduceerd in het artikel 'Attention Is All You Need' uit 2017.
  • Het trainen van grote taalmodellen zoals GPT-4 kan tientallen miljoenen dollars aan computerkracht kosten.
  • Bij het trainen van een model zijn hyperparameters zoals de leerfrequentie, de batchgrootte en de opwarmstappen van belang, die de convergentie aanzienlijk beïnvloeden.
  • Fine-tuning past vooraf getrainde modellen aan specifieke taken aan met veel minder data en rekenkracht dan training vanaf nul.

Vergelijkingstabel

Functie Tokenizer-training Modeltraining in NLP
Hoofddoel Stel subwoordvocabulaire en coderingsregels op. Leer taalpatronen en taakspecifieke representaties.
Invoergegevens Ruwe tekstcorpus (vaak terabytes aan ongelabelde tekst) Getokeniseerde reeksen met numerieke ID's
Optimalisatiemethode Greedy frequency-based merging (BPE) of maximum likelihood (SentencePiece) Gradiëntdaling met terugpropagatie
Uitvoerartefact Woordenlijstbestand en codeer-/decodeerfuncties Getrainde neurale netwerkgewichten en architectuurconfiguratie
Computervereisten Relatief bescheiden; uren op één apparaat. Enorm; duizenden GPU/TPU-uren voor grote modellen.
Omkeerbaarheid Volledig omkeerbaar; tekst kan exact worden gereconstrueerd uit tokens. Onomkeerbaar; de modeluitkomsten zijn voorspellingen, geen reconstructies.
Typische duur Minuten tot uren, afhankelijk van de omvang van het corpus. Dagen tot maanden voor funderingsmodellen
Afhankelijkheidsrelatie Moet voltooid zijn voordat de modeltraining begint. Dit hangt ervan af of de tokenizer al getraind en correct is ingesteld.

Gedetailleerde vergelijking

Kerndoel en -functie

De training van de tokenizer dient als de voorverwerkingsbrug tussen menselijke taal en machinaal leesbare getallen. De taak van de tokenizer is om te bepalen hoe woorden worden opgesplitst, welke reeksen speciale tokens worden en hoe onbekende woorden moeten worden behandeld. Modeltraining, daarentegen, is waar het daadwerkelijke leerproces plaatsvindt: waar een neuraal netwerk statistische patronen in taal ontdekt, betekenisrepresentaties opbouwt en het vermogen ontwikkelt om tekst te genereren of te classificeren.

Algoritmische grondbeginselen

De algoritmen achter de training van tokenizers verschillen verrassend genoeg van de algoritmen die de modeltraining aandrijven. BPE begint met individuele bytes en voegt iteratief de meest voorkomende aangrenzende paren samen totdat de gewenste woordenschatgrootte is bereikt. SentencePiece behandelt het probleem als een taalmodelleringstaak met behulp van het Expectation-Maximization-algoritme. Geen van beide maakt gebruik van neurale netwerken. Modeltraining maakt uitsluitend gebruik van differentieerbare optimalisatie, meestal Adam- of AdamW-optimizers, om door hoogdimensionale verlieslandschappen te navigeren.

Resource-intensiteit en schaalvergroting

Het verschil in rekenkracht tussen deze processen is enorm. Het trainen van een SentencePiece-tokenizer op 100 GB tekst kan een paar uur duren op standaard hardware. Het trainen van een model zoals Llama 3 op dezelfde corpus vereist enorme clusters met duizenden onderling verbonden accelerators die wekenlang draaien. Interessant is dat de training van een tokenizer vaak eenmalig wordt uitgevoerd en hergebruikt wordt voor meerdere modeltrainingen, waardoor het een relatief vaste kostenpost is in het algehele ontwikkelingsproces.

Invloed op het gedrag van het model

De keuze van een tokenizer heeft een subtiele maar krachtige invloed op wat modellen leren. Een tokenizer die 'antidisestablishmentarianism' in veel fragmenten opsplitst, dwingt het model om betekenis uit die fragmenten samen te stellen, terwijl een tokenizer die het woord intact laat, het als een atomair concept behandelt. Vooringenomenheid van de tokenizer kan zelfs de eerlijkheid beïnvloeden: talen met een lage tokenisatie-efficiëntie worden gecomprimeerd tot langere sequenties, waardoor ze in feite duurder worden voor het model om te verwerken en soms tot slechtere prestaties leiden.

Levenscyclus en iteratie

In de praktijk is het trainen van tokenizers doorgaans een eenmalige beslissing die vroeg in een project wordt genomen. Het wijzigen van tokenizers na de modeltraining betekent dat alles opnieuw vanaf nul getraind moet worden, aangezien token-ID's willekeurig zijn en model-embeddings gekoppeld zijn aan specifieke tokenposities. Modeltraining daarentegen is zeer iteratief: onderzoekers experimenteren continu met architecturen, trainingsmethoden en finetuningstrategieën. Deze asymmetrie betekent dat keuzes voor tokenizers langetermijngevolgen hebben die moeilijk ongedaan te maken zijn.

Voors en tegens

Tokenizer-training

Voordelen

  • + Rekenkundig gezien goedkoop om uit te voeren
  • + Volledig deterministisch en reproduceerbaar
  • + Maakt efficiënte tekstcompressie mogelijk.
  • + Aanpasbaar voor domeinspecifieke woordenschat
  • + Creëert omkeerbare tekstcodering

Gebruikt

  • Een vaste woordenschat beperkt de expressiviteit.
  • Moeite met het ontwikkelen van een taal
  • Kan een vertekening in de codering introduceren
  • Omscholing is vereist.
  • Minder geschikt voor zeldzame talen.

Modeltraining in NLP

Voordelen

  • + Leert rijke semantische representaties
  • + Overdraagbaar tussen taken
  • + Schaalbaar op voorspelbare wijze met data en rekenkracht.
  • + Maakt opkomende mogelijkheden mogelijk
  • + Ondersteunt fijnafstelling van de aanpassing

Gebruikt

  • Extreem kostbaar qua rekenkracht.
  • Energiegebruik met grote impact op het milieu
  • Vereist enorme, zorgvuldig samengestelde datasets.
  • Gevoelig voor hallucinaties en vooringenomenheid
  • Interne redenering moeilijk te interpreteren

Veelvoorkomende misvattingen

Mythe

Het trainen van de tokenizer is slechts een kleine voorverwerkingsstap met weinig invloed op de uiteindelijke modelkwaliteit.

Realiteit

De kwaliteit van de tokenizer heeft een directe invloed op wat een model kan leren. Slechte tokenisatie leidt tot ambigue representaties, overdrijft de lengte van sequenties en kan het voor het model bijna onmogelijk maken om bepaalde taalkundige verschijnselen te leren. Onderzoekers hebben aangetoond dat de keuze van de tokenizer de benchmarkprestaties met meerdere procentpunten kan beïnvloeden.

Mythe

Je kunt tokenizers na het trainen van een model wisselen door simpelweg de tokens opnieuw toe te wijzen.

Realiteit

Model-embeddings zijn gekoppeld aan specifieke token-ID's op specifieke posities binnen de geleerde parameterruimte. Een andere tokenizer produceert compleet andere tokenverdelingen, waardoor de vooraf getrainde gewichten semantisch niet meer overeenkomen. De enige haalbare oplossing is een volledige hertraining vanaf nul.

Mythe

Een grotere tokenizer-vocabulaire is altijd beter voor de modelprestaties.

Realiteit

Hoewel grotere woordenschatten de lengte van sequenties verkorten, vergroten ze de omvang van de embeddingmatrix en kunnen ze de efficiëntie van het model negatief beïnvloeden. Er is een optimale hoeveelheid: een te grote woordenschat zorgt ervoor dat het model zeldzame tokens onvoldoende benut; een te kleine woordenschat leidt tot gefragmenteerde sequenties. De meeste experts vinden 32.000 tot 100.000 tokens optimaal voor meertalige modellen.

Mythe

Het trainen van het model en het trainen van de tokenizer vinden gelijktijdig plaats als onderdeel van hetzelfde end-to-end proces.

Realiteit

Dit zijn opeenvolgende, afzonderlijke fasen. De tokenizer moet volledig getraind en bevroren zijn voordat de modeltraining begint, aangezien de modelarchitectuur afhankelijk is van de vocabulairegrootte voor de dimensies van de embeddinglaag. Recent onderzoek verkent gezamenlijke optimalisatie, maar de standaardpraktijk blijft strikt sequentieel.

Mythe

Een model dat is getraind op één tokenizer kan worden verfijnd op tekst die op een andere manier is getokeniseerd.

Realiteit

Voor een optimale afstemming is identieke tokenisatie vereist. Het invoeren van anders getokeniseerde tekst zou het model token-ID's voorschotelen waarvoor het nooit embeddings heeft geleerd, of erger nog, bekende ID's met een volledig verkeerde betekenis. Daarom wordt bij modelreleases altijd precies gespecificeerd welke tokenizer gebruikt moet worden.

Mythe

Voor het trainen van een tokenizer zijn, net als bij het trainen van een model, gelabelde gegevens nodig.

Realiteit

Tokenizers worden volledig getraind op ruwe, ongelabelde tekst. Ze hebben geen annotaties, tags of taakspecifieke opmaak nodig. Dankzij dit onbegeleide karakter kunnen tokenizers worden getraind op enorme webcorpora zonder kostbare handmatige labeling.

Veelgestelde vragen

Wat gebeurt er als ik de verkeerde tokenizer gebruik met een voorgegetraind model?
Het gebruik van niet-overeenkomende tokenizers leidt tot onzin. Het model ontvangt token-ID's die verwijzen naar compleet andere subwoorden dan waarvoor de embeddings getraind zijn. In het beste geval wordt de uitvoer onzinnig; in het slechtste geval genereert het model schadelijke inhoud omdat tokens onbedoelde, aangeleerde associaties activeren. Gebruik altijd de exacte tokenizer die bij het model wordt geleverd.
Hoe lang duurt het trainen van een tokenizer doorgaans in vergelijking met het trainen van een model?
Het trainen van een tokenizer duurt meestal enkele uren, soms zelfs minuten voor kleinere datasets. Het trainen van basismodellen duurt daarentegen weken tot maanden op enorme computerclusters. Zelfs het finetunen van een groot model duurt doorgaans langer dan het trainen van een tokenizer vanaf nul. Dit verschil komt doordat tokenizers gebruikmaken van eenvoudige statistische algoritmen, terwijl modellen miljarden parameters optimaliseren via iteratieve gradiëntdaling.
Kan ik mijn eigen tokenizer trainen voor een bestaand model zoals GPT-4?
Technisch gezien wel, maar in de praktijk niet. Je kunt een aangepaste tokenizer trainen, maar je kunt deze niet gebruiken met de voorgegetrainde gewichten van GPT-4, omdat de embedding-dimensies en geleerde representaties gekoppeld zijn aan de originele tokenizer van OpenAI. Je zou een nieuw model helemaal opnieuw moeten trainen met je eigen tokenizer, wat het nut van het gebruik van het voorgegetrainde model tenietdoet.
Waarom worden sommige talen in veel meer tokens opgedeeld dan andere?
Dit komt doordat BPE en vergelijkbare algoritmen optimaliseren voor frequentie in de trainingsdata. Talen met een grote vertegenwoordiging in het trainingscorpus, met name Engels, worden efficiënt getokeniseerd. Talen met minder beschikbare bronnen worden gefragmenteerd in karakters of subwoorden, omdat hun patronen zelden de meest voorkomende combinaties waren. Deze 'tokenisatiebelasting' maakt de verwerking van sommige talen computationeel duurder.
Is SentencePiece beter dan BPE voor het trainen van tokenizers?
SentencePiece biedt voordelen voor bepaalde toepassingen. Het behandelt spaties als gewone tekens, waardoor het natuurlijker aanvoelt voor talen zonder woordgrenzen, zoals Japans of Chinees. Het ondersteunt ook meerdere coderingsalgoritmen, waaronder BPE en unigram-taalmodellen. BPE wordt nog steeds vaker gebruikt in Engelstalige modellen. De beste keuze hangt af van de talenmix en of je omkeerbare codering nodig hebt.
Hoe weet ik of mijn tokenizer problemen veroorzaakt in mijn model?
Let op ongebruikelijk hoge perplexiteit bij specifieke talen of domeinen, buitensporig lange sequenties in vergelijking met vergelijkbare teksten in veelvoorkomende talen, en slechte prestaties bij taken met zeldzame woorden of specialistische terminologie. Handmatige analyse van de tokenisatie-uitvoer – controleren hoe representatieve woorden worden opgesplitst – brengt problemen vaak snel aan het licht.
Wat is 'tokenizer explosion' en welke invloed heeft dit op modeltraining?
Een explosie van tokenizers treedt op wanneer een kleine wijziging in de invoer dramatisch verschillende tokenreeksen oplevert, meestal als gevolg van ambigue grensregels of de verwerking van voor- en achtervoegsels. Dit destabiliseert de modeltraining omdat het model inconsistente representaties van vergelijkbare invoer ziet. Goed getrainde tokenizers minimaliseren dit door consistente voorverwerking en robuuste samenvoegingsregels.
Trainen grote taalmodellen hun tokenizers ooit opnieuw?
Grote modelfamilies houden hun tokenizers doorgaans vast over verschillende versies heen voor achterwaartse compatibiliteit. Wanneer organisaties nieuwe tokenizers uitbrengen, zoals OpenAI deed tussen GPT-2 en GPT-3, gaat dit gepaard met volledig nieuwe modeltraining. De kosten en de verstoring die gepaard gaan met het wijzigen van tokenizers betekenen dat ze langzaam evolueren, vaak alleen met grote architectuurgeneraties.
Kan het trainen van tokenizers helpen bij domeinspecifieke toepassingen zoals medische of juridische NLP?
Absoluut. Domeinspecifieke tokenizers kunnen gespecialiseerde terminologie als afzonderlijke tokens opnemen in plaats van deze te fragmenteren. Dit verbetert zowel de efficiëntie als het begrip van het model. Veel biomedische NLP-projecten trainen aangepaste tokenizers op PubMed of klinische teksten om terminologie vast te leggen die algemene tokenizers onjuist zouden opsplitsen.
Waarom heeft ChatGPT soms moeite met simpele tel- of spellingstaken?
Deze beperking is deels terug te voeren op tokenisatie. De tokenizer ziet subwoordfragmenten, niet individuele tekens, dus het tellen van letters vereist dat het model informatie op tekenniveau uit token-embeddings terugleidt. Ook bij het spellen moet tokens worden ontleed in letters, iets wat het model nooit direct verwerkt. Deze taken zijn triviaal voor mensen, maar werkelijk moeilijk gezien de invoer op tokenniveau.

Oordeel

Kies voor het trainen van een tokenizer wanneer je tekst moet voorbewerken voor een nieuw taaldomein of wanneer bestaande tokenizers je specifieke vocabulaire slecht verwerken. Geef prioriteit aan modeltraining wanneer je doel is om krachtige taalsystemen te bouwen, en hergebruik bestaande tokenizers zoals die van GPT-2, BERT of Llama, tenzij je overtuigend bewijs hebt voor aangepaste tokenisatie.

Gerelateerde vergelijkingen

A/B-testen bij contentreleases versus eenmalige contentreleases

A/B-testen bij contentreleases houdt in dat varianten worden uitgerold naar verschillende doelgroepen en de prestaties worden gemeten, terwijl bij eenmalige contentreleases één versie in één keer naar iedereen wordt verzonden. Beide benaderingen zijn geschikt voor verschillende doelen: A/B-testen bevorderen datagestuurde optimalisatie, terwijl eenmalige releases prioriteit geven aan snelheid en eenvoud.

A/B-testen bij modelserving versus implementatie van één enkel model

A/B-testen bij het serveren van modellen leiden het verkeer tussen concurrerende modelversies om de prestaties in de praktijk te meten, terwijl bij de implementatie van één model één model naar alle gebruikers wordt verzonden. Teams kiezen tussen beide methoden op basis van risicotolerantie, verkeersvolume en de behoefte aan statistische validatie vóór de volledige uitrol.

Aanbevelingssystemen versus zoekmachines

Aanbevelingssystemen en zoekmachines helpen gebruikers allebei relevante content te vinden, maar ze werken op fundamenteel verschillende manieren. Zoekmachines reageren op expliciete zoekopdrachten, terwijl aanbevelingssystemen anticiperen op behoeften op basis van gedragspatronen. Inzicht in deze verschillen helpt te verduidelijken hoe moderne informatieontdekking daadwerkelijk werkt.

Aanbevelingssystemen versus zoekmachines

Aanbevelingssystemen suggereren proactief gepersonaliseerde items op basis van gebruikersgedrag en -voorkeuren, terwijl zoekmachines relevante resultaten ophalen als reactie op expliciete gebruikersvragen met behulp van indexerings- en rangschikkingsalgoritmen.

Aandacht in de menselijke cognitie versus aandachtmechanismen in AI

Menselijke aandacht is een flexibel cognitief systeem dat zintuiglijke input filtert op basis van doelen, emoties en overlevingsbehoeften, terwijl AI-aandachtsmechanismen wiskundige raamwerken zijn die input-tokens dynamisch wegen om de voorspellingskracht en het contextbegrip in machine learning-modellen te verbeteren. Beide systemen geven prioriteit aan informatie, maar ze werken volgens fundamenteel verschillende principes en beperkingen.