AI-modeller och plattformar

Dekoderbaserade stora språkmodeller: En komplett guide

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

Stora språkmodeller (LLM) har revolutionerat området för naturlig språkbehandling (NLP) genom att demonstrera remarkabla förmågor i att generera mänsklig text, svara på frågor och assistera med en mängd olika språkrelaterade uppgifter. I kärnan av dessa kraftfulla modeller ligger dekoderbaserad transformerarkitektur, en variant av den ursprungliga transformerarkitekturen som föreslogs i den banbrytande artikeln “Attention is All You Need” av Vaswani et al.

I denna omfattande guide kommer vi att utforska de inre mekanismerna i dekoderbaserade LLM, grävande i de grundläggande byggstenarna, arkitektoniska innovationerna och implementeringsdetaljerna som har drivit dessa modeller till framkanten av NLP-forskning och tillämpningar.

Transformerarkitekturen: En påminnelse

Innan vi dyker in i specifikationerna för dekoderbaserade LLM, är det viktigt att återbesöka transformerarkitekturen, grunden som dessa modeller byggs på. Transformern introducerade ett nytt tillvägagångssätt för sekvensmodellering, som enbart förlitar sig på uppmärksamhetsmekanismer för att fånga långsiktiga beroenden i data, utan behov av återkommande eller konvolutionslager.

Transformers Arkitektur

Transformers Arkitektur

Den ursprungliga transformerarkitekturen består av två huvudkomponenter: en encoder och en decoder. Encodern bearbetar inmatningssekvensen och genererar en kontextualiserad representation, som sedan konsumeras av decodern för att producera utmatningssekvensen. Denna arkitektur var ursprungligen designad för maskinöversättningsuppgifter, där encodern bearbetar inmatningssatsen i källspråket och decodern genererar motsvarande sats i målspråket.

Självuppmärksamhet: Nyckeln till Transformers framgång

I hjärtat av transformern ligger självuppmärksamhetsmekanismen, en kraftfull teknik som tillåter modellen att väga och aggregera information från olika positioner i inmatningssekvensen. Till skillnad från traditionella sekvensmodeller, som bearbetar inmatningstoken sekventiellt, möjliggör självuppmärksamhet för modellen att fånga beroenden mellan valfria par av token, oavsett deras position i sekvensen.

Multiquery uppmärksamhet

Multiquery uppmärksamhet

Självuppmärksamhetsoperationen kan brytas ner i tre huvudsteg:

  1. Fråga, Nyckel och Värdeprojektioner: Inmatningssekvensen projiceras till tre separata representationer: frågor (Q), nycklar (K) och värden (V). Dessa projektioner erhålls genom att multiplicera inmatningen med lärd viktmatrix.
  2. Uppmärksamhetspoängberäkning: För varje position i inmatningssekvensen beräknas uppmärksamhetspoäng genom att ta dotprodukten mellan den motsvarande frågevektorn och alla nyckelvektorer. Dessa poäng representerar relevansen av varje position för den aktuella positionen som bearbetas.
  3. Vägt summa av värden: Uppmärksamhetspoängen normaliseras med en softmax-funktion, och de resulterande uppmärksamhetsviktorna används för att beräkna en vägd summa av värdevektorerna, vilket producerar utmatningsrepresentationen för den aktuella positionen.

Multi-huvuduppmärksamhet, en variant av självuppmärksamhetsmekanismen, tillåter modellen att fånga olika typer av relationer genom att beräkna uppmärksamhetspoäng över flera “huvuden” parallellt, var och en med sin egen uppsättning fråga-, nyckel- och värdeprojektioner.

Arkitektoniska varianter och konfigurationer

Medan de grundläggande principerna för dekoderbaserade LLM förblir konsekventa, har forskare utforskat olika arkitektoniska varianter och konfigurationer för att förbättra prestanda, effektivitet och generaliseringsförmåga. I detta avsnitt kommer vi att dyka in i de olika arkitektoniska valen och deras implikationer.

Arkitekturtyper

Dekoderbaserade LLM kan grovt delas in i tre huvudtyper: encoder-decoder, causal decoder och prefix decoder. Varje arkitekturtyp uppvisar distinkta uppmärksamhetsmönster.

Encoder-Decoder Arkitektur

Baserad på den ursprungliga Transformer-modellen består encoder-decoder-arkitekturen av två stackar: en encoder och en decoder. Encodern använder staplade multi-huvuduppmärksamhetslager för att koda inmatningssekvensen och generera latent representation, som sedan konsumeras av decodern för att producera målsekvensen. Medan denna arkitektur är effektiv i olika NLP-uppgifter, antar få LLM, såsom Flan-T5, denna arkitektur.

Kausal Dekoderarkitektur

Dekoderbaserad arkitektur inkorporerar en unidirektionell uppmärksamhetsmask, som tillåter varje inmatningstoken att uppmärksamma endast tidigare token och sig själv. Både in- och utmatningstoken bearbetas inom samma decoder. Noterbara modeller som GPT-1, GPT-2 och GPT-3 bygger på denna arkitektur, med GPT-3 som visar remarkabla in-context-lärandeförmågor. Många LLM, inklusive OPT, BLOOM och Gopher, har bredvid accepterat kausala dekodrar.

Prefix Dekoderarkitektur

Även känd som den icke-kausala dekodern, modifierar prefixdekoderarkitekturen maskeringsmekanismen för kausala dekodrar för att möjliggöra bidirektionell uppmärksamhet över prefixtoken och unidirektionell uppmärksamhet på genererade token. Liksom encoder-decoder-arkitekturen kan prefixdekodrar koda prefixsekvensen bidirektionellt och förutsäga utmatningstoken autoregressivt med hjälp av delade parametrar. LLM baserade på prefixdekodrar inkluderar GLM130B och U-PaLM.

Alla tre arkitekturtyper kan utökas med hjälp av mixture-of-experts (MoE)-tekniken, som sparsamt aktiverar en undermängd av neurala nätverksviktiga för varje inmatning. Denna metod har använts i modeller som Switch Transformer och GLaM, med ökning av antalet experter eller total parameterstorlek som visar signifikanta prestandaförbättringar.

Dekoderbaserad Transformer: Embracing the Autoregressive Nature

Medan den ursprungliga transformerarkitekturen var designad för sekvens-till-sekvens-uppgifter som maskinöversättning, kan många NLP-uppgifter, såsom språkmodellering och textgenerering, ramas in som autoregressiva problem, där modellen genererar en token i taget, villkorad av tidigare genererade token.

Dekoderbaserad transformer, en förenklad variant av transformerarkitekturen, behåller endast dekoderkomponenten. Denna arkitektur är särskilt lämplig för autoregressiva uppgifter, eftersom den genererar utmatningstoken ett i taget, utnyttjande tidigare genererade token som inmatningskontext.

Den viktigaste skillnaden mellan dekoderbaserad transformer och den ursprungliga transformerdekodern ligger i självuppmärksamhetsmekanismen. I dekoderbaserad inställning modifieras självuppmärksamhetsoperationen för att förhindra att modellen uppmärksammar framtida token, en egenskap som kallas kausalitet. Detta uppnås genom en teknik som kallas “maskerad självuppmärksamhet”, där uppmärksamhetspoäng som motsvarar framtida positioner sätts till negativ oändlighet, effektivt maskerande dem under softmax-normaliseringssteget.

Arkitektoniska komponenter i dekoderbaserade LLM

Medan de grundläggande principerna för självuppmärksamhet och maskerad självuppmärksamhet förblir desamma, har moderna dekoderbaserade LLM introducerat flera arkitektoniska innovationer för att förbättra prestanda, effektivitet och generaliseringsförmåga. Låt oss utforska några av de viktigaste komponenterna och teknikerna som används i state-of-the-art LLM.

Inmatningsrepresentation

Innan bearbetning av inmatningssekvensen använder dekoderbaserade LLM tokenisering och inbäddningstekniker för att omvandla råtexten till en numerisk representation som är lämplig för modellen.

vektorinbäddning

vektorinbäddning

Tokenisering: Tokeniseringsprocessen omvandlar inmatningstexten till en sekvens av token, som kan vara ord, subord, eller enskilda tecken, beroende på tokeniseringsstrategin som används. Populära tokeniseringsmetoder för LLM inkluderar Byte-Pair Encoding (BPE), SentencePiece och WordPiece. Dessa metoder syftar till att hitta en balans mellan ordförrådets storlek och representationsgranularitet, vilket gör det möjligt för modellen att hantera sällsynta eller out-of-vocabulary-ord effektivt.

Tokeninbäddningar: Efter tokenisering mappas varje token till en tät vektorrepresentation som kallas tokeninbäddning. Dessa inbäddningar lärdes under träningsprocessen och fångar semantiska och syntaktiska relationer mellan token.

Positionsinbäddningar: Transformermodeller bearbetar hela inmatningssekvensen samtidigt, utan den inbyggda notionen om tokenpositioner som finns i återkommande modeller. För att införa positionsinformation läggs positionsinbäddningar till tokeninbäddningarna, vilket gör det möjligt för modellen att skilja mellan token baserat på deras positioner i sekvensen. Tidiga LLM använde fasta positionsinbäddningar baserade på sinusoidala funktioner, medan mer moderna modeller har utforskat lärbart positionsinbäddningar eller alternativa positionskodningstekniker som roterande positionsinbäddningar.

Multi-huvuduppmärksamhetsblock

De grundläggande byggstenarna i dekoderbaserade LLM är multi-huvuduppmärksamhetslager, som utför den maskerade självuppmärksamhetsoperation som beskrivits tidigare. Dessa lager är staplade flera gånger, med varje lager som uppmärksammar utmatningen från det föregående lagret, vilket gör det möjligt för modellen att fånga alltmer komplexa beroenden och representationer.

Uppmärksamhetsenheter: Varje multi-huvuduppmärksamhetslager består av flera “uppmärksamhetsenheter”, var och en med sin egen uppsättning fråga-, nyckel- och värdeprojektioner. Detta gör det möjligt för modellen att uppmärksamma olika aspekter av inmatningssekvensen samtidigt, fångande olika relationer och mönster.

Residualanslutningar och lagernormalisering: För att underlätta träningsprocessen för djupa nätverk och mildra det försvinnande gradientproblemet använder dekoderbaserade LLM residualanslutningar och lagernormaliseringstekniker. Residualanslutningar lägger till inmatningen till utmatningen av ett lager, vilket gör det möjligt för grader att flöda mer fritt under backpropagation. Lagernormalisering hjälper till att stabilisera aktiveringarna och grader, vilket ytterligare förbättrar träningsstabiliteten och prestandan.

Feed-Forward-lager

Förutom multi-huvuduppmärksamhetslager inkorporerar dekoderbaserade LLM feed-forward-lager, som tillämpar ett enkelt feed-forward-neuronnätverk till varje position i sekvensen. Dessa lager introducerar icke-linjäriteter och möjliggör för modellen att lära sig mer komplexa representationer.

Aktiveringsfunktioner: Valet av aktiveringsfunktion i feed-forward-lagren kan ha en betydande inverkan på modellens prestanda. Medan tidiga LLM förlitade sig på den allmänt använda ReLU-aktiveringsfunktionen, har mer moderna modeller antagit mer avancerade aktiveringsfunktioner som Gaussian Error Linear Unit (GELU) eller SwiGLU-aktiveringen, som har visat förbättrad prestanda.

Sparad uppmärksamhet och effektiva transformer

Medan självuppmärksamhetsmekanismen är kraftfull, kommer den med en kvadratisk beräkningskomplexitet i förhållande till sekvenslängden, vilket gör den beräkningsmässigt dyr för långa sekvenser. För att tackla denna utmaning har flera tekniker föreslagits för att minska de beräknings- och minneskraven för självuppmärksamhet, möjliggörande effektiv bearbetning av längre sekvenser.

Sparad uppmärksamhet: Sparad uppmärksamhetstekniker, såsom den som används i GPT-3-modellen, uppmärksammar selektivt en undermängd av positioner i inmatningssekvensen, snarare än att beräkna uppmärksamhetspoäng för alla positioner. Detta kan signifikant minska den beräkningsmässiga komplexiteten samtidigt som rimlig prestanda upprätthålls.

Glidande fönsteruppmärksamhet: Introducerad i Mistral 7B-modellen, är glidande fönsteruppmärksamhet (SWA) en enkel men effektiv teknik som begränsar uppmärksamhetsomfånget för varje token till en fast fönsterstorlek. Detta tillvägagångssätt utnyttjar transformerlagrens förmåga att överföra information över flera lager, effektivt ökande uppmärksamhetsomfånget utan den kvadratiska komplexiteten för fullständig självuppmärksamhet.

Rullande buffertcache: För att ytterligare minska minneskraven, särskilt för långa sekvenser, använder Mistral 7B-modellen en rullande buffertcache. Denna teknik lagrar och återanvänder de beräknade nyckel- och värdevektorerna för en fast fönsterstorlek, undvikande redundanta beräkningar och minimerande minnesanvändning.

Grupperad frågeuppmärksamhet: Introducerad i LLaMA 2-modellen, är grupperad frågeuppmärksamhet (GQA) en variant av den multi-frågeuppmärksamhetsmekanismen som delar upp uppmärksamhetsenheter i grupper, var och en med en gemensam nyckel- och värde-matrix. Detta tillvägagångssätt balanserar effektiviteten i multi-frågeuppmärksamhet och prestandan i standard självuppmärksamhet, vilket ger förbättrade inferenstider samtidigt som högkvalitativa resultat upprätthålls.

Grupperad frågeuppmärksamhet

Grupperad frågeuppmärksamhet

Modellstorlek och skalning

En av de definierande egenskaperna hos moderna LLM är deras enorma storlek, med antalet parametrar som sträcker sig från miljarder till hundratals miljarder. Att öka modellstorleken har varit en avgörande faktor för att uppnå state-of-the-art-prestanda, eftersom större modeller kan fånga mer komplexa mönster och relationer i data.

Parameterantal: Antalet parametrar i en dekoderbaserad LLM bestäms primärt av inbäddningsdimensionen (d_model), antalet uppmärksamhetsenheter (n_heads), antalet lager (n_layers) och ordförrådets storlek (vocab_size). Till exempel har GPT-3-modellen 175 miljarder parametrar, med d_model = 12288, n_heads = 96, n_layers = 96 och vocab_size = 50257.

Modellparallellism: Träning och distribution av sådana enorma modeller kräver betydande beräkningsresurser och specialiserad hårdvara. För att övervinna denna utmaning har modellparallellismstekniker använts, där modellen delas över flera GPU:er eller TPU:er, med varje enhet ansvarig för en del av beräkningarna.

Mixture-of-Experts: En annan strategi för att skala LLM är mixture-of-experts (MoE)-arkitekturen, som kombinerar flera expertmodeller, var och en specialiserad på en specifik undermängd av data eller uppgift. Mistral 8x7B-modellen är ett exempel på en MoE-modell som använder Mistral 7B som basmodell, uppnående överlägsen prestanda samtidigt som beräknings-effektivitet upprätthålls.

Inferens och textgenerering

En av de primära användningsområdena för dekoderbaserade LLM är textgenerering, där modellen genererar sammanhängande och naturligt ljudande text baserat på en given prompt eller kontext.

Autoregressiv dekodning: Under inferens genererar dekoderbaserade LLM text på ett autoregressivt sätt, förutsägande en token i taget baserat på tidigare genererade token och inmatningsprompten. Denna process fortsätter tills en förutbestämd stoppkriterium uppnås, såsom att nå en maximal sekvenslängd eller generera en sekvensslut-token.

Urvalstrategier: För att generera divers och realistisk text kan olika urvalstrategier användas, såsom top-k-urval, top-p-urval (även känd som kärnurval) eller temperaturskalning. Dessa tekniker kontrollerar handelsavtalet mellan diversitet och sammanhängande text genom att justera sannolikhetsfördelningen över ordförrådet.

Promptteknik: Kvaliteten och specificiteten hos inmatningsprompten kan ha en betydande inverkan på den genererade texten. Promptteknik, konsten att skapa effektiva promptrar, har uppstått som en avgörande aspekt av att utnyttja LLM för olika uppgifter, vilket möjliggör för användare att styra modellens genereringsprocess och uppnå önskade utmatningar.

Mänsklig-i-loopen-dekodning: För att ytterligare förbättra kvaliteten och sammanhängande texten har tekniker som Reinforcement Learning from Human Feedback (RLHF) använts. I detta tillvägagångssätt tillhandahåller mänskliga bedömare feedback på modellens genererade text, som sedan används för att finjustera modellen, effektivt anpassande den till mänskliga preferenser och förbättrande dess utmatningar.

Framsteg och framtida riktningar

Området för dekoderbaserade LLM utvecklas snabbt, med ny forskning och genombrott som kontinuerligt flyttar gränserna för vad dessa modeller kan uppnå. Här är några noterbara framsteg och potentiella framtida riktningar:

Effektiva transformer-variationer: Medan sparad uppmärksamhet och glidande fönsteruppmärksamhet har gjort betydande framsteg i att förbättra effektiviteten hos dekoderbaserade LLM, är forskare aktivt engagerade i att utforska alternativa transformer-arkitekturer och uppmärksamhetsmekanismer för att ytterligare minska beräkningskraven samtidigt som prestanda upprätthålls eller förbättras.

Flervägs-LLM: Att utöka LLM:ers förmågor bortom text, syftar flervägs-modeller till att integrera flera modaliteter, såsom bilder, ljud eller video, i en enda enhetlig ram. Detta öppnar upp spännande möjligheter för tillämpningar som bildbeskrivning, visuell frågesvar och multimedieinnehållsgenerering.

Styrd generering: Att möjliggöra finjusterad kontroll över den genererade texten är en utmanande men viktig riktning för LLM. Tekniker som styrd textgenerering och promptjustering syftar till att ge användare mer granulär kontroll över olika attribut hos den genererade texten, såsom stil, ton eller specifik innehållskrav.

Slutsats

Dekoderbaserade LLM har uppstått som en transformerande kraft inom området för naturlig språkbehandling, flyttande gränserna för vad som är möjligt med språkgenerering och förståelse. Från deras humbla början som en förenklad variant av transformerarkitekturen har dessa modeller utvecklats till högt avancerade och kraftfulla system, som utnyttjar toppmoderna tekniker och arkitektoniska innovationer.

Medan vi fortsätter att utforska och förbättra dekoderbaserade LLM, kan vi förvänta oss att se ännu mer remarkabla prestationer inom språkrelaterade uppgifter, samt integrationen av dessa modeller i en mängd olika tillämpningar och domäner. Det är dock avgörande att hantera de etiska övervägandena, tolkningsutmaningarna och potentiella fördomarna som kan uppstå från den omfattande distributionen av dessa kraftfulla modeller.

Genom att ligga i framkanten av forskningen, främja öppen samverkan och upprätthålla ett starkt engagemang för ansvarsfull AI-utveckling kan vi låsa upp den fulla potentialen hos dekoderbaserade LLM, samtidigt som vi ser till att de utvecklas och används på ett säkert, etiskt och gynnsamt sätt för samhället.

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.