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.
















