AI-modeller og platforme
Decoder-baserede store sprogmodeller: En komplet guide
Store sprogmodeller (LLMâer) har revolutioneret omrÃĨdet for naturlig sprogbehandling (NLP) ved at demonstrere bemÃĶrkelsesvÃĶrdige evner i generering af menneske-lignende tekst, besvarende af spÃļrgsmÃĨl og hjÃĶlpe med en lang rÃĶkke sprog-relaterede opgaver. I hjertet af disse kraftfulde modeller ligger decoder-only transformer-arkitekturen, en variant af den oprindelige transformer-arkitektur, der blev foreslÃĨet i den seminale artikel âAttention is All You Needâ af Vaswani et al.
I denne omfattende guide vil vi udforske de indre mekanismer i decoder-baserede LLMâer, dykke ned i de grundlÃĶggende byggesten, arkitektoniske innovationer og implementeringsdetaljer, der har fÃļrt disse modeller til fronten af NLP-forskning og -anvendelser.
Transformer-arkitekturen: En opfriskning
FÃļr vi dykker ned i detaljerne om decoder-baserede LLMâer, er det essentiel at gensende transformer-arkitekturen, som er fundamentet for disse modeller. Transformeren introducerede en ny tilgang til sekvensmodellering, der kun afhÃĶnger af attention-mekanismer til at fange lange afhÃĶngigheder i data, uden behov for rekurrente eller convolutionelle lag.
Den oprindelige transformer-arkitektur bestÃĨr af to hovedkomponenter: en encoder og en decoder. Encoderen behandler input-sekvensen og genererer en kontekstualiseret reprÃĶsentation, der derefter forbruges af decoderen til at producere output-sekvensen. Denne arkitektur var oprindeligt designed til maskinoversÃĶttelse, hvor encoderen behandler input-sÃĶtningen i kilde-sproget, og decoderen genererer den tilsvarende sÃĶtning i mÃĨl-sproget.
Selv-attention: NÃļglen til Transformers succes
I hjertet af transformeren ligger selv-attention-mekanismen, en kraftfuld teknik, der tillader modellen at vÃĶgte og aggregere information fra forskellige positioner i input-sekvensen. I modsÃĶtning til traditionelle sekvensmodeller, der behandler input-token sekventielt, tillader selv-attention modellen at fange afhÃĶngigheder mellem enhver par token, uanset deres position i sekvensen.
Selv-attention-operationen kan deles op i tre hovedtrin:
- Query, Key og Value-projektioner: Input-sekvensen projiceres pÃĨ tre separate reprÃĶsentationer: queries (Q), keys (K) og values (V). Disse projektioner opnÃĨs ved at multiplicere input med lÃĶrende vÃĶgtmatricer.
- Attention-score-beregning: For hver position i input-sekvensen beregnes attention-scores ved at tage dot-produktet mellem den tilsvarende query-vektor og alle key-vektorer. Disse scores reprÃĶsenterer relevansen af hver position til den aktuelle position, der behandles.
- VÃĶgtet sum af Values: Attention-scores normaliseres ved hjÃĶlp af en softmax-funktion, og de resulterende attention-vÃĶgte bruges til at beregne en vÃĶgtet sum af value-vektorerne, hvilket producerer output-reprÃĶsentationen for den aktuelle position.
Multi-head attention, en variant af selv-attention-mekanismen, tillader modellen at fange forskellige typer af relationer ved at beregne attention-scores pÃĨ tvÃĶrs af multiple âhovederâ i parallel, hver med sin egen sÃĶt af query-, key- og value-projektioner.
Arkitektoniske varianter og konfigurationer
Selvom de grundlÃĶggende principper for decoder-baserede LLMâer forbliver konsekvente, har forskere udforsket forskellige arkitektoniske varianter og konfigurationer for at forbedre ydeevnen, effektiviteten og generaliserings-evnen. I dette afsnit vil vi dykke ned i de forskellige arkitektoniske valg og deres implikationer.
Arkitekturtyper
Decoder-baserede LLMâer kan bredt klassificeres i tre hovedtyper: encoder-decoder, causal decoder og prefix decoder. Hver arkitekturtype udviser distinkte attention-mÃļnstre.
Encoder-Decoder-Arkitektur
Baseret pÃĨ den oprindelige Transformer-model, bestÃĨr encoder-decoder-arkitekturen af to stable: en encoder og en decoder. Encoderen bruger stablede multi-head selv-attention-lag til at kodificere input-sekvensen og generere latente reprÃĶsentationer. Decoderen udfÃļrer derefter cross-attention pÃĨ disse reprÃĶsentationer til at generere output-sekvensen. Selvom denne arkitektur er effektiv i forskellige NLP-opgaver, adopterer fÃĨ LLMâer, sÃĨsom Flan-T5, denne arkitektur.
Causal Decoder-Arkitektur
Causal decoder-arkitekturen inkorporerer en unidirektional attention-maske, der tillader hver input-token at lytte til kun tidligere token og sig selv. BÃĨde input- og output-token behandles inden for samme decoder. Notable modeller som GPT-1, GPT-2 og GPT-3 er bygget pÃĨ denne arkitektur, med GPT-3, der viser bemÃĶrkelsesvÃĶrdige in-context-lÃĶrings-evner. Mange LLMâer, herunder OPT, BLOOM og Gopher, har bredt adopteret causal decodere.
Prefix Decoder-Arkitektur
OgsÃĨ kendt som den ikke-kausale decoder, modificerer prefix decoder-arkitekturen masking-mekanismen i causal decodere til at aktivere bidirektionel attention over prefix-token og unidirektionel attention pÃĨ genererede token. Ligesom encoder-decoder-arkitekturen kan prefix-decodere kodificere prefix-sekvensen bidirektionelt og forudsige output-token autoregressivt ved hjÃĶlp af fÃĶlles parametre. LLMâer baseret pÃĨ prefix-decodere inkluderer GLM130B og U-PaLM.
Alle tre arkitekturtyper kan udvides ved hjÃĶlp af mixture-of-experts (MoE)-skaleringsteknikken, der sparsomt aktiverer en undermÃĶngde af neurale netvÃĶrksvÃĶgte for hver input. Denne tilgang er blevet anvendt i modeller som Switch Transformer og GLaM, hvor Ãļgning af antallet af eksperter eller total parameterstÃļrrelse har vist betydelige ydeevnesforbedringer.
Decoder-Only Transformer: Embracing the Autoregressive Nature
Selvom den oprindelige transformer-arkitektur var designed til sekvens-til-sekvens-opgaver som maskinoversÃĶttelse, kan mange NLP-opgaver, sÃĨsom sprogmodellering og tekstgenerering, vÃĶre rammet som autoregressive problemer, hvor modellen genererer ÃĐt token ad gangen, betinget af tidligere genererede token.
Indgangen til decoder-only transformer, en simplificeret variant af transformer-arkitekturen, der kun beholder decoder-komponenten. Denne arkitektur er sÃĶrligt velegnet til autoregressive opgaver, da den genererer output-token ÃĐt ad gangen, udnyttende tidligere genererede token som input-kontekst.
Den vÃĶsentlige forskel mellem decoder-only transformer og den oprindelige transformer-decoder ligger i selv-attention-mekanismen. I decoder-only-indstillingen modificeres selv-attention-operationen til at forhindre, at modellen lytter til fremtidige token, en egenskab kendt som kausalitet. Dette opnÃĨs gennem en teknik kaldet âmasked selv-attentionâ, hvor attention-scores, der svarer til fremtidige positioner, sÃĶttes til negative uendelighed, effektivt maskeret under softmax-normaliseringssteget.
Arkitektoniske komponenter af Decoder-baserede LLMâer
Selvom de grundlÃĶggende principper for selv-attention og masked selv-attention forbliver de samme, har moderne decoder-baserede LLMâer introduceret flere arkitektoniske innovationer for at forbedre ydeevnen, effektiviteten og generaliserings-evnen. Lad os udforske nogle af de nÃļglekomponenter og -teknikker, der anvendes i state-of-the-art LLMâer.
Input-reprÃĶsentation
FÃļr behandlingen af input-sekvensen anvender decoder-baserede LLMâer tokenisering og embedding-teknikker til at konvertere den rÃĨ tekst til en numerisk reprÃĶsentation, der er egnet for modellen.
Tokenisering: Tokeniseringprocessen konverterer input-teksten til en sekvens af token, der kan vÃĶre ord, subord eller selv enkelttegn, afhÃĶngigt af den valgte tokeniseringstrategi. PopulÃĶre tokeniseringsteknikker for LLMâer inkluderer Byte-Pair Encoding (BPE), SentencePiece og WordPiece. Disse metoder sÃļger at finde en balance mellem vocabulÃĶrstÃļrrelse og reprÃĶsentationsgranularitet, hvilket tillader modellen at hÃĨndtere sjÃĶldne eller udenfor-vocabulÃĶr-ord effektivt.
Token-embeddings: Efter tokenisering tildeles hvert token en tÃĶt vektorreprÃĶsentation kaldet en token-embedding. Disse embeddings lÃĶres under trÃĶningsprocessen og fanger semantiske og syntaktiske relationer mellem token.
Positionelle embeddings: Transformer-modeller behandler hele input-sekvensen samtidig, mangler den indbyggede forestilling om token-positioner, der er til stede i rekurrente modeller. For at inkorporere positionelle oplysninger tilfÃļjes positionelle embeddings til token-embeddings, hvilket tillader modellen at skelne mellem token baseret pÃĨ deres position i sekvensen. Tidlige LLMâer anvendte faste positionelle embeddings baseret pÃĨ sinusfunktioner, mens mere nyere modeller har udforsket lÃĶrbare positionelle embeddings eller alternative positionskodningsteknikker som rotary positionelle embeddings.
Multi-Head Attention Blocks
De grundlÃĶggende byggesten i decoder-baserede LLMâer er multi-head attention-lag, der udfÃļrer den masked selv-attention-operation, der blev beskrevet tidligere. Disse lag stablet multiple gange, hvor hvert lag lytter til outputtet fra det foregÃĨende lag, hvilket tillader modellen at fange stadig mere komplekse afhÃĶngigheder og reprÃĶsentationer.
Attention-hoveder: Hvert multi-head attention-lag bestÃĨr af multiple âattention-hovederâ, hver med sit eget sÃĶt af query-, key- og value-projektioner. Dette tillader modellen at lytte til forskellige aspekter af input-sekvensen samtidig, hvilket fanger forskellige relationer og mÃļnstre.
Residuelle forbindelser og lag-normalisering: For at lette trÃĶningen af dybe netvÃĶrk og mindske det forsvindende gradient-problem, anvender decoder-baserede LLMâer residuelle forbindelser og lag-normaliseringsteknikker. Residuelle forbindelser tilfÃļjer inputtet af et lag til dets output, hvilket tillader graderne at flyde mere let under backpropagation. Lag-normalisering hjÃĶlper med at stabilisere aktiveringerne og graderne, hvilket yderligere forbedrer trÃĶningsstabiliteten og ydeevnen.
Feed-Forward Layers
Ud over multi-head attention-lag inkorporerer decoder-baserede LLMâer feed-forward-lag, der anvender et simpelt feed-forward neuralt netvÃĶrk til hver position i sekvensen. Disse lag introducerer ikke-lineÃĶre transformationer og tillader modellen at lÃĶre mere komplekse reprÃĶsentationer.
Aktivationsfunktioner: Valget af aktivationsfunktion i feed-forward-lagene kan have en betydelig indvirkning pÃĨ modellens ydeevne. Selvom tidligere LLMâer afhÃĶngigt af den bredt anvendte ReLU-aktivationsfunktion, har mere nyere modeller adopteret mere avancerede aktivationsfunktioner som Gaussian Error Linear Unit (GELU) eller SwiGLU-aktivationsfunktionen, der har vist forbedret ydeevne.
Sparse Attention og Effektive Transformers
Selvom selv-attention-mekanismen er kraftfuld, kommer den med en kvadratisk beregningskompleksitet i forhold til sekvenslÃĶngden, hvilket gÃļr den beregningsmÃĶssigt dyrt for lange sekvenser. For at imÃļdegÃĨ denne udfordring er flere teknikker blevet foreslÃĨet for at reducere de beregnings- og hukommelseskrav til selv-attention, hvilket muliggÃļr effektiv behandling af lÃĶngere sekvenser.
Sparse Attention: Sparse attention-teknikker, sÃĨsom den anvendt i GPT-3-modellen, tillader modellen at lytte til en undermÃĶngde af positioner i input-sekvensen, i stedet for at beregne attention-scores for alle positioner. Dette kan betydeligt reducere den beregningskompleksitet, mens ydeevnen forbliver rimelig.
Sliding Window Attention: Introduceret i Mistral 7B-modellen, er sliding window attention (SWA) en simpel, men effektiv teknik, der begrÃĶnser attention-omfanget for hver token til en fast vinduestÃļrrelse. Denne tilgang udnytter transformer-lagernes evne til at overfÃļre information pÃĨ tvÃĶrs af multiple lag, hvilket effektivt Ãļger attention-omfanget uden den kvadratiske kompleksitet af fuld selv-attention.
Rullende Buffer Cache: For yderligere at reducere hukommelseskrav, isÃĶr for lange sekvenser, anvender Mistral 7B-modellen en rullende buffer-cache. Denne teknik gemmer og genanvender de beregnede key- og value-vektorer for en fast vinduestÃļrrelse, undgÃĨr redundant beregning og minimiserer hukommelsesbrug.
Grupperet Query Attention: Introduceret i LLaMA 2-modellen, er gruppet query attention (GQA) en variant af multi-query attention-mekanismen, der inddeler attention-hoveder i grupper, hvor hver gruppe deler en fÃĶlles key- og value-matrix. Denne tilgang finder en balance mellem effektiviteten af multi-query attention og ydeevnen af standard selv-attention, hvilket giver forbedret inferenstid, mens kvaliteten af resultaterne opretholdes.
















