AI-modellen en platforms

Het opwaarderen van grote taalmodellen met multi-tokenpredictie

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Grote taalmodellen (LLM’s) zoals GPT, LLaMA en anderen hebben de wereld stormenderhand veroverd met hun opmerkelijke vermogen om mensachtige tekst te begrijpen en te genereren. Echter, ondanks hun indrukwekkende capaciteiten, heeft de standaardmethode voor het trainen van deze modellen, bekend als “next-tokenpredictie”, enkele inherente beperkingen.

Bij next-tokenpredictie wordt het model getraind om het volgende woord in een sequentie te voorspellen, gegeven de voorgaande woorden. Hoewel deze benadering succesvol is gebleken, kan het leiden tot modellen die worstelen met lange-afstandafhankelijkheden en complexe redenetaak. Bovendien kan de mismatch tussen de teacher-forcingtrainingsregime en de autoregressieve generatieproces tijdens inferentie leiden tot suboptimale prestaties.

Een recent onderzoeksartikel van Gloeckle et al. (2024) van Meta AI introduceert een noviel trainingsparadigma genaamd “multi-tokenpredictie” dat gericht is op het aanpakken van deze beperkingen en het opwaarderen van grote taalmodellen. In dit blogbericht zullen we diep duiken in de kernconcepten, technische details en potentiële implicaties van deze baanbrekende onderzoeken.

Single-tokenpredictie: De conventionele benadering

Voordat we dieper duiken in de details van multi-tokenpredictie, is het essentieel om de conventionele benadering te begrijpen die de werkpaard van grote taalmodeltrainen is voor jaren – single-tokenpredictie, ook bekend als next-tokenpredictie.

Het next-tokenpredictieparadigma

In het next-tokenpredictieparadigma worden taalmodellen getraind om het volgende woord in een sequentie te voorspellen, gegeven de voorgaande context. Meer formeel wordt het model belast met het maximaliseren van de waarschijnlijkheid van het volgende token xt+1, gegeven de voorgaande tokens x1, x2, …, xt. Dit wordt typisch gedaan door de cross-entropieverlies te minimaliseren:

L = -Σt log P(xt+1 | x1, x2, …, xt)

Deze eenvoudige maar krachtige trainingsdoelstelling is de basis geweest van veel succesvolle grote taalmodellen, zoals GPT (Radford et al., 2018), BERT (Devlin et al., 2019) en hun varianten.

Teacher Forcing en Autoregressieve Generatie

Next-tokenpredictie is afhankelijk van een trainingsmethode genaamd “teacher forcing” waarbij het model de grondwaarheid voor elk toekomstig token wordt gegeven tijdens het trainen. Dit stelt het model in staat om te leren van de correcte context en doelsequenties, waardoor een stabielere en efficiëntere training mogelijk wordt.

Echter, tijdens inferentie of generatie werkt het model op een autoregressieve manier, waarbij het één token tegelijk voorspelt op basis van de eerder gegenereerde tokens. Deze mismatch tussen de trainingsregime (teacher forcing) en de inferentieregime (autoregressieve generatie) kan leiden tot potentiële discrepanties en suboptimale prestaties, vooral voor langere sequenties of complexe redenetaak.

Beperkingen van Next-tokenpredictie

Hoewel next-tokenpredictie opmerkelijk succesvol is geweest, heeft het ook enkele inherente beperkingen:

  1. Korte-termijnfocus: Door alleen het volgende token te voorspellen, kan het model worstelen met het vastleggen van lange-afstandafhankelijkheden en de algehele structuur en coherentie van de tekst, wat kan leiden tot inconsistenties of incoherente generaties.
  2. Lokale patroonlatching: Next-tokenpredictiemodellen kunnen zich vasthaken aan lokale patronen in de trainingsdata, waardoor het moeilijk wordt om te generaliseren naar out-of-distributionscenario’s of taken die meer abstracte redenatie vereisen.
  3. Redenecapaciteiten: Voor taken die meerdere stappen of complexe logische operaties vereisen, kan next-tokenpredictie mogelijk niet voldoende inductieve biases of representaties bieden om deze capaciteiten effectief te ondersteunen.
  4. Steekproefinefficiëntie: Vanwege de lokale aard van next-tokenpredictie kunnen modellen grotere trainingsdatasets vereisen om de benodigde kennis en redenecapaciteiten te verwerven, wat kan leiden tot potentiële steekproefinefficiënties.

Deze beperkingen hebben onderzoekers gemotiveerd om alternatieve trainingsparadigma’s te onderzoeken, zoals multi-tokenpredictie, die gericht is op het aanpakken van enkele van deze tekortkomingen en het ontgrendelen van nieuwe capaciteiten voor grote taalmodellen.

Door de conventionele next-tokenpredictiebenadering te contrasteren met de noviele multi-tokenpredictietechniek, kunnen lezers beter waarderen waarom en hoe deze laatste benadering nuttig kan zijn, waardoor de basis wordt gelegd voor een diepere verkenning van deze baanbrekende onderzoeken.

Wat is Multi-tokenpredictie?

Het kernidee achter multi-tokenpredictie is om taalmodellen te trainen om meerdere toekomstige tokens tegelijk te voorspellen, in plaats van alleen het volgende token. Specifiek wordt het model tijdens het trainen belast met het voorspellen van de volgende n tokens op elke positie in de trainingscorpus, met behulp van n onafhankelijke outputheads die bovenop een gedeelde modelstam opereren.

Voorbeeld: met een 4-tokenpredictie-opstelling zou het model getraind worden om de volgende 4 tokens tegelijk te voorspellen, gegeven de voorgaande context. Deze benadering moedigt het model aan om lange-afstandafhankelijkheden te vastleggen en een beter begrip te ontwikkelen van de algehele structuur en coherentie van de tekst.

Een Voorbeeld

Om beter te begrijpen wat multi-tokenpredictie is, laten we een eenvoudig voorbeeld overwegen. Stel dat we de volgende zin hebben:

“De snelle bruine vos springt over de luie hond.”

In de standaard next-tokenpredictiebenadering zou het model getraind worden om het volgende woord te voorspellen, gegeven de voorgaande context. Voorbeeld: gegeven de context “De snelle bruine vos springt over de”, zou het model belast worden met het voorspellen van het volgende woord, “luie”.

Met multi-tokenpredictie zou het model getraind worden om meerdere toekomstige woorden tegelijk te voorspellen. Voorbeeld: als we n=4 instellen, zou het model getraind worden om de volgende 4 woorden tegelijk te voorspellen. Gegeven dezelfde context “De snelle bruine vos springt over de”, zou het model belast worden met het voorspellen van de sequentie “luie hond “. (Let op de spatie na “hond” om het einde van de zin aan te geven).

Door het model te trainen om meerdere toekomstige tokens tegelijk te voorspellen, wordt het aangemoedigd om lange-afstandafhankelijkheden te vastleggen en een beter begrip te ontwikkelen van de algehele structuur en coherentie van de tekst.

Technische Details

De auteurs stellen een eenvoudige maar effectieve architectuur voor om multi-tokenpredictie te implementeren. Het model bestaat uit een gedeelde transformerstam die een latenterepresentatie van de invoercontext produceert, gevolgd door n onafhankelijke transformerlagen (outputheads) die de respectieve toekomstige tokens voorspellen.

Tijdens het trainen worden de voorwaartse en achterwaartse passes zorgvuldig georkestreerd om de GPU-geheugenvoetafdruk te minimaliseren. De gedeelde stam berekent de latenterepresentatie, en vervolgens voert elke outputhead sequentieel zijn voorwaartse en achterwaartse pass uit, accumuleert gradients op het niveau van de stam. Deze benadering voorkomt dat alle logitvectoren en hun gradients tegelijkertijd worden gematerialiseerd, waardoor de piek-GPU-geheugengebruik van O(nV + d) naar O(V + d) wordt teruggebracht, waarbij V de woordenlijstgrootte is en d de dimensie van de latenterepresentatie is.

De Geheugenefficiënte Implementatie

Een van de uitdagingen bij het trainen van multi-tokenpredictoren is het reduceren van hun GPU-geheugengebruik. Aangezien de woordenlijstgrootte (V) typisch veel groter is dan de dimensie van de latenterepresentatie (d), worden logitvectoren de GPU-geheugengebruiksbottleneck.

Om deze uitdaging aan te pakken, stellen de auteurs een geheugenefficiënte implementatie voor die de sequentie van voorwaartse en achterwaartse operaties zorgvuldig aanpast. In plaats van alle logitvectoren en hun gradients tegelijkertijd te materialiseren, computeert de implementatie sequentieel de voorwaartse en achterwaartse passes voor elke onafhankelijke outputhead, accumuleert gradients op het niveau van de stam.

Deze benadering voorkomt dat alle logitvectoren en hun gradients tegelijkertijd in het geheugen worden opgeslagen, waardoor de piek-GPU-geheugengebruik van O(nV + d) naar O(V + d) wordt teruggebracht, waarbij n het aantal toekomstige tokens is dat wordt voorspeld.

Voordelen van Multi-tokenpredictie

Het onderzoeksartikel presenteert verschillende overtuigende voordelen van het gebruik van multi-tokenpredictie voor het trainen van grote taalmodellen:

  1. Verbeterde Steekproefefficiëntie: Door het model aan te moedigen om meerdere toekomstige tokens tegelijk te voorspellen, stimuleert multi-tokenpredictie de model tot betere steekproefefficiëntie. De auteurs demonstreren significante verbeteringen in prestaties op codebegrip en generatietaken, met modellen tot 13B parameters die ongeveer 15% meer problemen oplossen.
  2. Snelere Inferentie: De extra outputheads getraind met multi-tokenpredictie kunnen worden gebruikt voor zelf-speculatieve decoding, een variant van speculatieve decoding die parallelle tokenpredictie mogelijk maakt. Dit resulteert in tot 3x snellere inferentietijden over een breed bereik van batchgroottes, zelfs voor grote modellen.
  3. Bevordering van Lange-afstandafhankelijkheden: Multi-tokenpredictie moedigt het model aan om lange-afstandafhankelijkheden en patronen in de data te vastleggen, wat vooral gunstig is voor taken die begrip en redenatie over grotere contexten vereisen.
  4. Algoritmische Redenatie: De auteurs presenteren experimenten op synthetische taken die de superioriteit van multi-tokenpredictiemodellen aantonen in het ontwikkelen van inductiehoofden en algoritmische redenatiecapaciteiten, vooral voor kleinere modelgroottes.
  5. Coherentie en Consistentie: Door het model te trainen om meerdere toekomstige tokens tegelijk te voorspellen, stimuleert multi-tokenpredictie de ontwikkeling van coherente en consistente representaties. Dit is vooral gunstig voor taken die het genereren van langere, meer coherente tekst vereisen, zoals verhalen, artikelen of instructiehandleidingen.
  6. Verbeterde Generalisatie: De experimenten van de auteurs op synthetische taken suggereren dat multi-tokenpredictiemodellen betere generalisatiecapaciteiten vertonen, vooral in out-of-distributioninstellingen. Dit kan te wijten zijn aan het vermogen van het model om lange-afstandpatronen en afhankelijkheden te vastleggen, waardoor het beter kan extrapoleren naar ongeziene scenario’s.

Voorbeelden en Intuïties

Om meer intuïtie te geven over waarom multi-tokenpredictie zo goed werkt, laten we enkele voorbeelden overwegen:

  1. Codegeneratie: In de context van codegeneratie kan het voorspellen van meerdere tokens tegelijk het model helpen om complexere codestructuren te begrijpen en te genereren. Bijvoorbeeld, wanneer een functiedefinitie wordt gegenereerd, kan het voorspellen van alleen het volgende token niet voldoende context bieden voor het model om de hele functiesignatuur correct te genereren. Echter, door meerdere tokens tegelijk te voorspellen, kan het model beter de afhankelijkheden tussen de functienaam, parameters en retourtype vastleggen, waardoor meer accurate en coherente codegeneratie mogelijk wordt.
  2. Natuurlijke Taalredenatie: Overweeg een scenario waarin een taalmodel wordt belast met het beantwoorden van een vraag die redenatie over meerdere stappen of stukken informatie vereist. Door meerdere tokens tegelijk te voorspellen, kan het model beter de afhankelijkheden tussen de verschillende componenten van het redenatieproces vastleggen, waardoor meer coherente en accurate antwoorden mogelijk worden.
  3. Langformaattekstgeneratie: Wanneer langformaattekst wordt gegenereerd, zoals verhalen, artikelen of rapporten, kan het moeilijk zijn voor taalmodellen die met next-tokenpredictie zijn getraind om coherentie en consistentie over een langere periode te behouden. Multi-tokenpredictie moedigt het model aan om representaties te ontwikkelen die de algehele structuur en flow van de tekst vastleggen, waardoor meer coherente en consistente langformaatgeneraties mogelijk worden.

Beperkingen en Toekomstige Richtingen

Hoewel de resultaten in het artikel indrukwekkend zijn, zijn er enkele beperkingen en open vragen die verdere onderzoek vereisen:

  1. Optimaal Aantal Tokens: Het artikel onderzoekt verschillende waarden van n (het aantal toekomstige tokens dat moet worden voorspeld) en vindt dat n=4 goed werkt voor veel taken. Echter, de optimale waarde van n kan afhankelijk zijn van de specifieke taak, dataset en modelgrootte. Het ontwikkelen van principiële methoden voor het bepalen van de optimale n kan leiden tot verdere prestatieverbeteringen.
  2. Woordenlijstgrootte en Tokenisatie: De auteurs merken op dat de optimale woordenlijstgrootte en tokenisatiestrategie voor multi-tokenpredictiemodellen kunnen verschillen van die gebruikt voor next-tokenpredictiemodellen. Het onderzoeken van dit aspect kan leiden tot betere compromissen tussen gecomprimeerde sequentielengte en computationele efficiëntie.
  3. Auxiliare Voorspellingsverliezen: De auteurs suggereren dat hun werk interesse kan wekken in het ontwikkelen van noviele auxiliare voorspellingsverliezen voor grote taalmodellen, voorbij de standaard next-tokenpredictie. Het onderzoeken van alternatieve auxiliare verliezen en hun combinaties met multi-tokenpredictie is een interessante onderzoeksrichting.
  4. Theoretisch Begrip: Hoewel het artikel enkele intuïties en empirische bewijzen voor de effectiviteit van multi-tokenpredictie biedt, zou een dieper theoretisch begrip van waarom en hoe deze benadering zo goed werkt, waardevol zijn.

Conclusie

Het onderzoeksartikel “Better & Faster Large Language Models via Multi-token Prediction” van Gloeckle et al. introduceert een noviel trainingsparadigma dat het potentieel heeft om de prestaties en capaciteiten van grote taalmodellen aanzienlijk te verbeteren. Door modellen te trainen om meerdere toekomstige tokens tegelijk te voorspellen, stimuleert multi-tokenpredictie de ontwikkeling van lange-afstandafhankelijkheden, algoritmische redenatiecapaciteiten en betere steekproefefficiëntie.

De technische implementatie die de auteurs voorstellen is elegant en computationeel efficiënt, waardoor het mogelijk wordt om deze benadering toe te passen op grote taalmodeltrainen. Bovendien kan de mogelijkheid om zelf-speculatieve decoding te gebruiken voor snellere inferentie een significant praktisch voordeel zijn.

Hoewel er nog open vragen en onderzoeksrichtingen zijn, vertegenwoordigt dit onderzoek een interessante stap voorwaarts in het veld van grote taalmodellen. Aangezien de vraag naar meer capabele en efficiënte taalmodellen blijft groeien, kan multi-tokenpredictie een sleutelcomponent worden in de volgende generatie van deze krachtige AI-systemen.

Ik heb de afgelopen vijf jaar doorgebracht met het onderdompelen van mezelf in de fascinerende wereld van Machine Learning en Deep Learning. Mijn passie en expertise hebben me geleid om bij te dragen aan meer dan 50 diverse software-engineeringprojecten, met een bijzondere focus op AI/ML. Mijn voortdurende nieuwsgierigheid heeft me ook aangetrokken tot Natural Language Processing, een vakgebied dat ik graag verder wil verkennen.