AI-modeller och plattformar

Supercharging stora språkmodeller med multi-token förutsägelse

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Stora språkmodeller (LLM) som GPT, LLaMA och andra har tagit världen med storm med sin anmärkningsvärda förmåga att förstå och generera mänsklig text. Men trots deras imponerande förmågor har den standardmetod som används för att träna dessa modeller, känd som “nästa-token förutsägelse”, vissa inneboende begränsningar.

I nästa-token förutsägelse tränas modellen att förutsäga nästa ord i en sekvens med hänsyn till de föregående orden. Medan denna metod har visat sig vara framgångsrik, kan den leda till modeller som har svårt att hantera långsiktiga beroenden och komplexa resonemangsuppgifter. Dessutom kan diskrepansen mellan lärarstyrningsträningsregimen och den autoregressiva generationsprocessen under inferens leda till suboptimal prestanda.

En nylig forskningsartikel av Gloeckle et al. (2024) från Meta AI introducerar en ny träningsparadigm som kallas “multi-token förutsägelse” som syftar till att åtgärda dessa begränsningar och ge stora språkmodeller en skjuts. I den här bloggposten kommer vi att dyka djupt in i de grundläggande begreppen, tekniska detaljerna och de potentiella implikationerna av denna banbrytande forskning.

Enkel-token förutsägelse: Den konventionella metoden

Innan vi dyker in i detaljerna om multi-token förutsägelse, är det viktigt att förstå den konventionella metoden som har varit hästen i large language model-träning under många år – enkel-token förutsägelse, även känd som nästa-token förutsägelse.

Nästa-token förutsägelseparadigmet

I nästa-token förutsägelseparadigmet tränas språkmodeller att förutsäga nästa ord i en sekvens med hänsyn till den föregående kontexten. Mer formellt är modellen uppgiften att maximera sannolikheten för nästa token xt+1, given de föregående token x1, x2, …, xt. Detta görs vanligtvis genom att minimera korsentropiförlusten:

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

Detta enkla men kraftfulla träningsmål har varit grunden för många framgångsrika stora språkmodeller, som GPT (Radford et al., 2018), BERT (Devlin et al., 2019) och deras varianter.

Lärarstyrning och autoregressiv generation

Nästa-token förutsägelse bygger på en träningsmetod som kallas “lärarstyrning” där modellen tillhandahålls den korrekta kontexten och målsekvenserna under träning. Detta möjliggör för modellen att lära sig från den korrekta kontexten och målsekvenserna, vilket underlättar mer stabil och effektiv träning.

Men under inferens eller generation fungerar modellen på ett autoregressivt sätt, där den förutsäger ett token i taget baserat på de tidigare genererade token. Diskrepansen mellan träningsregimen (lärarstyrning) och inferensregimen (autoregressiv generation) kan leda till potentiella diskrepanser och suboptimal prestanda, särskilt för längre sekvenser eller komplexa resonemangsuppgifter.

Begränsningar av nästa-token förutsägelse

Medan nästa-token förutsägelse har varit anmärkningsvärt framgångsrik, har den också vissa inneboende begränsningar:

  1. Kortvarig fokus: Genom att endast förutsäga nästa token, kan modellen ha svårt att fånga långsiktiga beroenden och den övergripande strukturen och sammanhängigheten i texten, vilket kan leda till inkonsekvenser eller inkonsekventa generationer.
  2. Lokala mönster: Nästa-token förutsägelsemodeller kan fastna i lokala mönster i träningsdata, vilket gör det svårt att generalisera till utomdistributionsscenario eller uppgifter som kräver mer abstrakt resonemang.
  3. Resonemangsförmåga: För uppgifter som involverar flera steg eller logiska operationer, kan nästa-token förutsägelse inte ge tillräckliga induktiva biaser eller representationer för att stödja sådana förmågor effektivt.
  4. Exempel på ineffektivitet: På grund av den lokala naturen av nästa-token förutsägelse, kan modeller kräva större träningsdata för att förvärva den nödvändiga kunskapen och resonemangsförmågorna, vilket kan leda till potentiell exempel på ineffektivitet.

Dessa begränsningar har motiverat forskare att utforska alternativa träningsparadigm, som multi-token förutsägelse, som syftar till att åtgärda några av dessa brister och låsa upp nya förmågor för stora språkmodeller.

Genom att kontrastera den konventionella nästa-token förutsägelsemetoden med den nya multi-token förutsägelsemetoden, kan läsarna bättre förstå motivationen och de potentiella fördelarna med den senare, vilket skapar en grund för en djupare utforskning av denna banbrytande forskning.

Vad är multi-token förutsägelse?

Den viktigaste idén bakom multi-token förutsägelse är att träna språkmodeller att förutsäga flera framtida token samtidigt, snarare än bara nästa token. Specifikt under träning, är modellen uppgiften att förutsäga de nästa n token vid varje position i träningskorpusen, med n oberoende utmatningshuvuden som opererar ovanpå en delad modellstam.

Till exempel, med en 4-token förutsägelsekonfiguration, skulle modellen tränas för att förutsäga de nästa 4 token på en gång, med hänsyn till den föregående kontexten. Denna metod uppmuntrar modellen att fånga långsiktiga beroenden och utveckla en bättre förståelse för den övergripande strukturen och sammanhängigheten i texten.

Ett exempel

För att bättre förstå begreppet multi-token förutsägelse, låt oss överväga ett enkelt exempel. Antag att vi har följande mening:

“Den snabba bruna räven hoppar över den late hunden.”

I den standardmässiga nästa-token förutsägelsemetoden, skulle modellen tränas för att förutsäga nästa ord med hänsyn till den föregående kontexten. Till exempel, med kontexten “Den snabba bruna räven hoppar över den”, skulle modellen vara uppgiften att förutsäga nästa ord, “late”.

Med multi-token förutsägelse, skulle modellen tränas för att förutsäga flera framtida ord samtidigt. Till exempel, om vi ställer in n=4, skulle modellen tränas för att förutsäga de nästa 4 orden samtidigt. Med samma kontext “Den snabba bruna räven hoppar över den”, skulle modellen vara uppgiften att förutsäga sekvensen “late hunden “. (Observera mellanslaget efter “hunden” för att indikera slutet på meningen).

Genom att träna modellen för att förutsäga flera framtida token samtidigt, uppmuntrar det modellen att fånga långsiktiga beroenden och utveckla en bättre förståelse för den övergripande strukturen och sammanhängigheten i texten.

Tekniska detaljer

Författarna föreslår en enkel men effektiv arkitektur för att implementera multi-token förutsägelse. Modellen består av en delad transformerstam som producerar en latent representation av indatakontexten, följt av n oberoende transformerlager (utmatningshuvuden) som förutsäger de respektive framtida token.

Under träning, är fram- och bakåtpasserna noggrant orkestrerade för att minimera GPU-minnesanvändningen. Den delade stammen beräknar den latenta representationen, och sedan utför varje utmatningshuvud sekventiellt sitt fram- och bakåtpass, ackumulerande gradienter på stamnivå. Denna metod undviker att materialisera alla logitvektorer och deras gradienter samtidigt, vilket minskar den maximala GPU-minnesanvändningen från O(nV + d) till O(V + d), där V är ordlistans storlek och d är dimensionen av den latenta representationen.

Minneseffektiv implementation

En av utmaningarna i att träna multi-token förutsägelsemodeller är att minska deras GPU-minnesanvändning. Eftersom ordlistans storlek (V) vanligtvis är mycket större än dimensionen av den latenta representationen (d), blir logitvektorer en flaskhals för GPU-minnesanvändning.

För att åtgärda denna utmaning, föreslår författarna en minneseffektiv implementation som noggrant anpassar sekvensen av fram- och bakåtpass. Istället för att materialisera alla logitvektorer och deras gradienter samtidigt, beräknar implementationen sekventiellt fram- och bakåtpass för varje oberoende utmatningshuvud, ackumulerande gradienter på stamnivå.

Denna metod undviker att lagra alla logitvektorer och deras gradienter i minnet samtidigt, vilket minskar den maximala GPU-minnesanvändningen från O(nV + d) till O(V + d), där n är antalet framtida token som förutsägs.

Fördelar med multi-token förutsägelse

Forskningsartikeln presenterar flera övertygande fördelar med att använda multi-token förutsägelse för att träna stora språkmodeller:

  1. Ökad exempel effektivitet: Genom att uppmuntra modellen att förutsäga flera framtida token samtidigt, driver multi-token förutsägelse modellen mot bättre exempel effektivitet. Författarna demonstrerar signifikanta förbättringar i prestanda på kodförståelse och generationsuppgifter, med modeller upp till 13B parametrar som löser cirka 15% fler problem i genomsnitt.
  2. Snabbare inferens: De extra utmatningshuvudena som tränas med multi-token förutsägelse kan utnyttjas för själv-spekulativ dekodning, en variant av spekulativ dekodning som tillåter parallell token förutsägelse. Detta resulterar i upp till 3x snabbare inferenstider över en stor mängd batchstorlekar, även för stora modeller.
  3. Främjande av långsiktiga beroenden: Multi-token förutsägelse uppmuntrar modellen att fånga långsiktiga beroenden och mönster i data, vilket är särskilt fördelaktigt för uppgifter som kräver förståelse och resonemang över större kontexter.
  4. Algoritmiskt resonemang: Författarna presenterar experiment på syntetiska uppgifter som demonstrerar överlägsenheten hos multi-token förutsägelsemodeller i utvecklingen av induktionshuvuden och algoritmiskt resonemang, särskilt för mindre modellstorlekar.
  5. Sammanhängighet och konsekvens: Genom att träna modellen att förutsäga flera framtida token samtidigt, uppmuntrar multi-token förutsägelse utvecklingen av sammanhängande och konsekventa representationer. Detta är särskilt fördelaktigt för uppgifter som kräver generering av längre, mer sammanhängande text, som berättelser, artiklar eller instruktionsmanualer.
  6. Ökad generalisering: Författarnas experiment på syntetiska uppgifter tyder på att multi-token förutsägelsemodeller utvisar bättre generaliseringsförmåga, särskilt i utomdistributionsscenario. Detta kan bero på modellens förmåga att fånga långsiktiga mönster och beroenden, vilket kan hjälpa den att extrapolera mer effektivt till osedda scenarier.

Exempel och intuitioner

För att ge mer intuition om varför multi-token förutsägelse fungerar så bra, låt oss överväga några exempel:

  1. Kodgenerering: I sammanhanget med kodgenerering, kan förutsägelse av flera token samtidigt hjälpa modellen att förstå och generera mer komplexa kodstrukturer. Till exempel, när man genererar en funktionsdefinition, kan förutsägelse av bara nästa token inte ge tillräcklig kontext för modellen att generera hela funktions-signaturen korrekt. Men genom att förutsäga flera token samtidigt, kan modellen bättre fånga beroenden mellan funktionsnamn, parametrar och returtyp, vilket leder till mer exakt och sammanhängande kodgenerering.
  2. Naturligt språkresonemang: Överväg ett scenario där en språkmodell är uppgiften att besvara en fråga som kräver resonemang över flera steg eller bitar av information. Genom att förutsäga flera token samtidigt, kan modellen bättre fånga beroenden mellan de olika komponenterna i resonemangsprocessen, vilket leder till mer sammanhängande och exakta svar.
  3. Långformad textgenerering: När man genererar långformad text, som berättelser, artiklar eller rapporter, kan det vara svårt för språkmodeller som tränats med nästa-token förutsägelse att upprätthålla sammanhängighet och konsekvens över en längre period. Multi-token förutsägelse uppmuntrar modellen att utveckla representationer som fångar den övergripande strukturen och flödet i texten, vilket kan leda till mer sammanhängande och konsekventa långformade generationer.

Begränsningar och framtida riktningar

Medan resultaten i artikeln är imponerande, finns det några begränsningar och öppna frågor som motiverar ytterligare undersökning:

  1. Optimalt antal token: Artikeln undersöker olika värden på n (antalet framtida token som ska förutsägas) och finner att n=4 fungerar bra för många uppgifter. Men det optimala värdet på n kan bero på den specifika uppgiften, datamängden och modellstorleken. Utveckling av principiella metoder för att bestämma det optimala n kan leda till ytterligare prestandaförbättringar.
  2. Ordlistans storlek och tokenisering: Författarna noterar att den optimala ordlistans storlek och tokeniseringsstrategi för multi-token förutsägelsemodeller kan skilja sig från de som används för nästa-token förutsägelsemodeller. Utforskning av detta aspekt kan leda till bättre avvägningar mellan komprimerad sekvenslängd och beräknings-effektivitet.
  3. Bihjälpande förutsägelseförluster: Författarna föreslår att deras arbete kan väcka intresse för att utveckla nya bihjälpande förutsägelseförluster för stora språkmodeller, utöver den standardmässiga nästa-token förutsägelsen. Utredning av alternativa bihjälpande förluster och deras kombinationer med multi-token förutsägelse är en spännande forskningsriktning.
  4. Teoretisk förståelse: Medan artikeln tillhandahåller några intuitioner och empiriska bevis för effektiviteten av multi-token förutsägelse, vore en djupare teoretisk förståelse av varför och hur denna metod fungerar så bra värdefull.

Slutsats

Forskningsartikeln “Bättre och snabbare stora språkmodeller via multi-token förutsägelse” av Gloeckle et al. introducerar en ny träningsparadigm som har potentialen att betydligt förbättra prestanda och förmågor hos stora språkmodeller. Genom att träna modeller att förutsäga flera framtida token samtidigt, uppmuntrar multi-token förutsägelse utvecklingen av långsiktiga beroenden, algoritmiskt resonemang och bättre exempel effektivitet.

Den tekniska implementationen som föreslås av författarna är enkel men effektiv, vilket gör det möjligt att tillämpa denna metod på storskalig språkmodellsträning. Dessutom kan den extra utmatningshuvudena som tränas med multi-token förutsägelse utnyttjas för själv-spekulativ dekodning, vilket resulterar i upp till 3x snabbare inferenstider.

Medan det fortfarande finns öppna frågor och områden för ytterligare undersökning, representerar denna forskning ett spännande steg framåt i fältet stora språkmodeller. När efterfrågan på mer kapabla och effektiva språkmodeller fortsätter att växa, kan multi-token förutsägelse bli en viktig komponent i nästa generation av dessa kraftfulla AI-system.

Jag har tillbringat de senaste fem åren med att dyka djupt in i den fascinerande världen av Maskinlärning och Djupinlärning. Min passion och expertis har lett mig till att bidra till över 50 olika mjukvaruprojekt, med särskild fokus på AI/ML. Min pågående nyfikenhet har också lett mig mot Naturlig Språkbehandling, ett område som jag är angelägen om att utforska vidare.