AI-modeller och plattformar
Dekoderbaserade stora språkmodeller: En komplett guide
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.
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.
Självuppmärksamhetsoperationen kan brytas ner i tre huvudsteg:
- 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.
- 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.
- 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.
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.
















