In-Place Tokenizer Expansion for Pre-trained LLMs
Dit artikel introduceert een in-place methode voor tokenizer-expansie die vooraf getrainde LLM's upgrade door BPE-merges voort te zetten op een meertalige corpus en nieuwe embeddings te initialiseren via sub-token middeling, waardoor het aantal tokens aanzienlijk wordt verminderd en de decodeersnelheid voor talen zoals Hindi en Vietnamees wordt verbeterd zonder de modelkwaliteit op te offeren.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
De Taal van Machines: Een Korte Introductie
Stel je voor dat je een robot leert praten. Om dit te doen, kun je hem niet zomaar een woordenboek van elk woord in het universum geven; dat zou te zwaar zijn om te dragen. In plaats daarvan geef je hem een set bouwstenen. In de wereld van Kunstmatige Intelligentie worden deze blokken tokens genoemd. Denk aan tokens als de kleinste stukjes tekst die een computer begrijpt—soms een heel woord zoals "kat", maar vaak slechts een lettergreep zoals "kat" of zelfs een enkele letter zoals "k".
Wanneer een robot een taal leert, beslist hij hoe hij zinnen in deze blokken moet opdelen. Als hij eerst Engels leert, heeft hij misschien een speciaal blok voor het woord "de". Maar als je hem later vraagt om Hindi of Vietnamees te spreken, en hij was daar niet op voorbereid, dan moet hij die woorden misschien opdelen in piepkleine, inefficiënte stukjes, zoals "H-i-n-d-i" in plaats van "Hindi". Dit is als proberen een huis te bouwen met een hamer wanneer je eigenlijk een schroevendraaier nodig hebt; het werkt wel, maar het is traag, lomp en verspilt energie. Dit artikel behandelt het probleem van hoe je de "gereedschapskist" van een robot (zijn vocabulaire) kunt upgraden nadat hij al getraind is, zonder de hele robot vanaf nul opnieuw te hoeven bouwen.
Het Puzzelstukje van de Kapotte Gereedschapskist
Maak kennis met Jimmy en zijn team bij Liquid AI. Ze werkten aan een zeer slimme robot genaamd LFM2, die leeft op apparaten zoals telefoons en laptops. Deze robot was geweldig in Engels en programmeren, maar wanneer hij probeerde talen zoals Hindi, Vietnamees of Thais te spreken, struikelde hij. Waarom? Omdat zijn vocabulaire leek op een gereedschapskist die was ingepakt voor een reis naar Londen, en niet naar Bangkok. Wanneer de robot probeerde "Hindi" te schrijven, had hij niet één enkel blok voor het hele woord. In plaats daarvan moest hij vier of vijf piepkleine blokken gebruiken om het in elkaar te puzzelen. Dit maakte de robot traag, moe en hongerig naar batterijduur.
Het team stond voor een moeilijke keuze. Ze konden hun harde werk weggooien, een compleet nieuwe robot bouwen met een betere gereedschapskist en weer bij af beginnen. Of ze konden proberen een nieuwe set gereedschappen in de oude robot te smokkelen zonder hem kapot te maken. De tweede optie is als proberen een nieuwe lade toe te voegen aan een volledig geassembleerde, draaiende automotor terwijl de auto nog over de snelweg rijdt. De meeste mensen dachten dat dit onmogelijk of te riskant was.
De "In-Place" Upgrade
Het team ontdekte een slimme manier om precies dat te doen. Ze noemden het Tokenizer Expansion. In plaats van de oude gereedschapskist weg te gooien, behielden ze de originele gereedschappen en voegden ze simpelweg nieuwe toe aan het einde van de doos.
Dit is hoe ze het stap voor stap deden:
- De Slimme Kopieer-Plak: Ze namen de bestaande lijst met bouwstenen van de robot en vroegen hem om verder te leren met een mix van veel verschillende talen. Terwijl de robot nieuwe woorden leerde, gooide hij de oude blokken niet weg. In plaats daarvan creëerde hij nieuwe, grotere blokken voor woorden zoals "Hindi" of "Thais". Cruciaal was dat elk nieuw blok werd gebouwd door de oude, kleinere blokken die hij al kende aan elkaar te klikken. Het was alsof je beseft dat als je een "H"-blok en een "i"-blok hebt, je ze aan elkaar kunt klikken om een "Hi"-blok te maken, en dat vervolgens kunt klikken met "nd" en "i" om "Hindi" te maken.
- De Magische Lijm (Embedding Initialisatie): Nu had de robot nieuwe blokken, maar hij wist nog niet wat ze betekenden. Het team moest de robot leren wat deze nieuwe blokken vertegenwoordigden. Ze gebruikten een eenvoudige maar briljante truc: ze keken naar de oude blokken waaruit het nieuwe blok bestond en gaven het nieuwe blok de "gemiddelde" betekenis van die onderdelen. Als een nieuw blok uit drie oude blokken bestond, gaf het brein van de robot het de gemiddelde persoonlijkheid van die drie. Dit betekende dat de robot niet hoefde te gokken; hij begon met een zeer goede gok.
- De Twee-Fasen Training: De robot was nog niet klaar om een marathon te lopen. Als ze hem direct lieten rennen, zou hij struikelen. Dus deden ze een training in twee fasen:
- Fase 1: Ze bevroren de hersenen van de robot (alles behalve de nieuwe blokken) en lieten alleen de nieuwe blokken leren. Dit was als het laten wennen van de nieuwe laden in de gereedschapskist aan het vasthouden van spullen, zonder de rest van de auto te bewegen.
- Fase 2: Zodra de nieuwe blokken comfortabel waren, ontdoen ze de hele robot van de bevriezing en lieten ze hem weer oefenen in het lezen en schrijven in veel verschillende talen. Dit hielp de robot om te begrijpen hoe de nieuwe blokken in het grotere geheel pasten.
De Resultaten: Sneller, Slimmer en Lichter
De resultaten waren indrukwekkend. Door dit nieuwe, uitgebreide gereedschap te gebruiken, kon de robot veel efficiënter Hindi, Vietnamees en Thais spreken.
- Hindi tekst werd in 2,4 keer minder blokken opgedeeld.
- Vietnamees was 2,6 keer minder.
- Thais zag de grootste sprong en had 4,0 keer minder blokken nodig.
Omdat de robot minder blokken hoefde te verwerken om hetzelfde te zeggen, werd hij veel sneller. Het team schatte dat het spreken van deze talen op een telefoon 2,2 tot 3,7 keer sneller ging per karakter. Het was also̱ van wandelen overstappen op een fiets; de robot legde dezelfde afstand af in een fractie van de tijd.
Wat Ze Leerden (en Wat Ze Vermeden)
Het team leerde ook wat ze niet moesten doen, wat even belangrijk is.
- Raak de oude gereedschappen niet aan: In één experiment probeerden ze de robot de betekenis van zijn oude blokken opnieuw te laten leren terwijl ze de nieuwe toevoegden. Dit maakte de robot in de war en hij begon zichzelf te herhalen als een kapotte plaat. Ze kwamen tot de conclusie dat het geheim van succes was om de oude blokken precies zoals ze waren te houden.
- Lees niet alleen Engels: Toen ze probeerden de robot de nieuwe blokken te leren met voornamelijk Engelse teksten, werd de robot goed in het beantwoorden van meerkeuzevragen, maar slecht in het daadwerkelijk schrijven van zinnen. Hij kon het juiste antwoord kiezen, maar kon geen verhaal vertellen. Ze leerden dat ze hem een gebalanceerd dieet van veel talen moesten voeren om hem gezond te houden.
De Kernboodschap
Dit artikel laat zien dat je niet altijd een nieuwe robot hoeft te bouwen om hem een nieuwe taal te laten spreken. Als jij degene bent die de robot heeft gebouwd, kun je zijn vocabulaire halverwege zijn leven upgraden. Door zorgvuldig nieuwe gereedschappen toe te voegen en ze de juiste "gemiddelde" betekenis te geven, kun je de robot sneller en efficiënter maken voor iedereen, zonder de vaardigheden die hij al had te verliezen. Het is een praktisch recept om AI inclusiever en sneller te maken, direct op het apparaat in je zak.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.