AI-modeller og plattformer
Dekoderbaserte store språkmodeller: En komplett guide
Store språkmodeller (LLM) har revolusjonert feltet naturlig språkbehandling (NLP) ved å demonstrere bemerkelsesverdige evner i å generere menneskelignende tekst, svare på spørsmål og assisterer med en rekke språkrelaterte oppgaver. I kjernen av disse kraftfulle modellene ligger dekoder-bare transformer-arkitekturen, en variant av den opprinnelige transformer-arkitekturen som ble foreslått i den seminar-papiren “Attention is All You Need” av Vaswani et al.
I denne omfattende guiden vil vi utforske de indre mekanismene i dekoder-baserte LLM, dykke ned i de grunnleggende byggesteinene, arkitektoniske innovasjoner og implementeringsdetaljer som har fremmet disse modellene til fronten av NLP-forskning og -applikasjoner.
Transformer-arkitekturen: En oppfriskning
Før vi dykker ned i detaljene om dekoder-baserte LLM, er det essensielt å besøke transformer-arkitekturen, grunnlaget som disse modellene er bygget på. Transformeren introduserte en ny tilnærming til sekvensmodellering, som bare avhenger av oppmerksomhetsmekanismer for å fange lange avhengigheter i data, uten behov for resursive eller konvolusjonslag.
Den opprinnelige transformer-arkitekturen består av to hovedkomponenter: en encoder og en dekoder. Encoderen prosesserer inndata-sekvensen og genererer en kontekstualisert representasjon, som dekoderen deretter forbruker for å produsere utdata-sekvensen. Denne arkitekturen var opprinnelig designet for maskinoversettelse, hvor encoderen prosesserer inndata-setningen i kilde-språket, og dekoderen genererer den tilsvarende setningen i mål-språket.
Selv-oppmerksomhet: Nøkkelen til Transformerens suksess
I hjertet av transformeren ligger selv-oppmerksomhets-mekanismen, en kraftfull teknikk som tillater modellen å veie og aggregere informasjon fra forskjellige posisjoner i inndata-sekvensen. I motsetning til tradisjonelle sekvens-modeller, som prosesserer inndata-token sekvensielt, tillater selv-oppmerksomhet modellen å fange avhengigheter mellom noen token, uavhengig av deres posisjon i sekvensen.
Selv-oppmerksomhets-operasjonen kan deles inn i tre hovedtrinn:
- Spørring, nøkkel og verdi-projeksjoner: Inndata-sekvensen projiseres inn i tre separate representasjoner: spørringer (Q), nøkler (K) og verdier (V). Disse projeksjonene er oppnådd ved å multiplisere inndata med lærte vekt-matriser.
- Oppmerksomhets-score-beregning: For hver posisjon i inndata-sekvensen, beregnes oppmerksomhets-scorer ved å ta punktproduktet mellom den tilsvarende spørrings-vektoren og alle nøkkel-vektorer. Disse scorer representerer relevansen av hver posisjon til den nåværende posisjonen som prosesseres.
- Vekt-sum av verdier: Oppmerksomhets-scorer normaliseres ved å bruke en softmax-funksjon, og de resulterende oppmerksomhets-vektene brukes til å beregne en vekt-sum av verdi-vektorene, og produserer utgangs-representasjonen for den nåværende posisjonen.
Multi-hode-oppmerksomhet, en variant av selv-oppmerksomhets-mekanismen, tillater modellen å fange forskjellige typer relasjoner ved å beregne oppmerksomhets-scorer over flere “hoder” i parallell, hver med sin egen sett av spørrings-, nøkkel- og verdi-projeksjoner.
Arkitektoniske varianter og konfigurasjoner
Selv om de grunnleggende prinsippene for dekoder-baserte LLM er konsistente, har forskere utforsket forskjellige arkitektoniske varianter og konfigurasjoner for å forbedre ytelsen, effektiviteten og generaliserings-evnen. I denne seksjonen vil vi dykke ned i de forskjellige arkitektoniske valg og deres implikasjoner.
Arkitektur-typer
Dekoder-baserte LLM kan deles inn i tre hoved-typer: encoder-dekoder, kausale dekodere og prefiks-dekodere. Hver arkitektur-type utviser distinkte oppmerksomhets-mønster.
Encoder-Dekoder-Arkitektur
Basert på den vanlige Transformer-modellen, består encoder-dekoder-arkitekturen av to staker: en encoder og en dekoder. Encoderen bruker stakkede multi-hode selv-oppmerksomhets-lag for å kode inndata-sekvensen og generere latente representasjoner. Dekoderen utfører deretter kryss-oppmerksomhet på disse representasjonene for å generere mål-sekvensen. Selv om denne arkitekturen er effektiv i flere NLP-oppdrag, har få LLM, som Flan-T5, adoptert denne arkitekturen.
Kausale Dekoder-Arkitektur
Kausale dekoder-arkitekturen inkorporerer en unidireksjonal oppmerksomhets-maske, som tillater hver inndata-token å oppmerke bare på tidligere token og seg selv. Begge inndata- og utgangs-token prosesseres innen samme dekoder. Notable modeller som GPT-1, GPT-2 og GPT-3 er bygget på denne arkitekturen, med GPT-3 som viser bemerkelsesverdige in-context-lærings-evner. Mange LLM, inkludert OPT, BLOOM og Gopher, har bredt adoptert kausale dekodere.
Prefiks-Dekoder-Arkitektur
Også kjent som den ikke-kausale dekoderen, modifiserer prefiks-dekoder-arkitekturen maskerings-mekanismen i kausale dekodere for å aktivere to-veis oppmerksomhet over prefiks-token og en-veis oppmerksomhet på genererte token. Liksom encoder-dekoder-arkitekturen, kan prefiks-dekodere kode prefiks-sekvensen to-veis og forutsi utgangs-token autoregressivt ved å bruke felles parametre. LLM basert på prefiks-dekodere inkluderer GLM130B og U-PaLM.
Alle tre arkitektur-typer kan utvides ved å bruke mixture-of-experts (MoE)-skaleringsteknikken, som sparsomt aktiverer en undergruppe av neurale nettverks-vektorer for hver inndata. Denne tilnærmingen er blitt brukt i modeller som Switch Transformer og GLaM, med økning av antall eksperter eller total parameter-størrelse som viser betydelige ytelsesforbedringer.
Dekoder-Only-Transformer: Embracing the Autoregressive Nature
Selv om den opprinnelige transformer-arkitekturen var designet for sekvens-til-sekvens-oppdrag, kan mange NLP-oppdrag, som språk-modellering og tekst-generering, rammes inn som autoregressive-problemer, hvor modellen genererer ett token om gangen, betinget av tidligere genererte token.
Dekoder-only-transformeren, en forenklet variant av transformer-arkitekturen, beholder bare dekoder-komponenten. Denne arkitekturen er spesielt godt egnet for autoregressive-oppdrag, da den genererer utgangs-token ett om gangen, utnyttende tidligere genererte token som inndata-kontekst.
Den viktigste forskjellen mellom dekoder-only-transformeren og den opprinnelige transformer-dekoderen ligger i selv-oppmerksomhets-mekanismen. I dekoder-only-innstillinger, modifiseres selv-oppmerksomhets-operasjonen for å forhindre modellen fra å oppmerke på fremtidige token, en egenskap kjent som kausalitet. Dette oppnås gjennom en teknikk kalt “maskert selv-oppmerksomhet”, hvor oppmerksomhets-scorer som tilsvarer fremtidige posisjoner settes til negativ uendelig, effektivt maskerende dem ut under softmax-normaliserings-trinnet.
Arkitektoniske komponenter i Dekoder-baserte LLM
Selv om de grunnleggende prinsippene for selv-oppmerksomhet og maskert selv-oppmerksomhet forblir de samme, har moderne dekoder-baserte LLM introdusert flere arkitektoniske innovasjoner for å forbedre ytelsen, effektiviteten og generaliserings-evnen. La oss utforske noen av de viktigste komponentene og teknikkene som brukes i state-of-the-art LLM.
Inndata-representasjon
Før inndata-sekvensen prosesseres, bruker dekoder-baserte LLM tokenisering og innbeddingsteknikker for å konvertere råteksten til en numerisk representasjon som er egnet for modellen.
Tokenisering: Tokeniserings-prosessen konverterer inndata-teksten til en sekvens av token, som kan være ord, sub-ord eller selv enkelt-tegn, avhengig av tokeniserings-strategien som brukes. Populære tokeniserings-teknikker for LLM inkluderer Byte-Pair Encoding (BPE), SentencePiece og WordPiece. Disse metodene forsøker å finne en balanse mellom vokabular-størrelse og representasjons-granularitet, som tillater modellen å håndtere sjeldne eller utenfor-vokabular-ord effektivt.
Token-innbedding: Etter tokenisering, blir hver token kartlagt til en tett vektor-representasjon kalt en token-innbedding. Disse innbeddingene lærer under trening og fanger semantiske og syntaktiske relasjoner mellom token.
Posisjons-innbedding: Transformer-modeller prosesserer hele inndata-sekvensen samtidig, og mangler den innebygde forestillingen om token-posisjoner som finnes i resursive modeller. For å inkorporere posisjons-informasjon, legges posisjons-innbedding til token-innbedding, som tillater modellen å skille mellom token basert på deres posisjoner i sekvensen. Tidlige LLM brukt faste posisjons-innbedding basert på sinus-funksjoner, mens mer nylige modeller har utforsket lærbar posisjons-innbedding eller alternative posisjons-kodingsteknikker som rotary posisjons-innbedding.
Multi-hode-oppmerksomhets-blokker
De grunnleggende byggesteinene i dekoder-baserte LLM er multi-hode-oppmerksomhets-lag, som utfører den maskerte selv-oppmerksomhets-operasjonen som beskrevet tidligere. Disse lagene er stakkede flere ganger, med hver lag som oppmerker på utgangen av det forrige laget, og tillater modellen å fange stadig mer komplekse avhengigheter og representasjoner.
Oppmerksomhets-hoder: Hver multi-hode-oppmerksomhets-lag består av flere “oppmerksomhets-hoder”, hver med sitt eget sett av spørrings-, nøkkel- og verdi-projeksjoner. Dette tillater modellen å oppmerke på forskjellige aspekter av inndata samtidig, og fange diverse relasjoner og mønster.
Residuelle forbindelser og lag-normalisering: For å lette trening av dype nettverk og minimere det forsvinnende gradient-problemet, bruker dekoder-baserte LLM residuelle forbindelser og lag-normaliseringsteknikker. Residuelle forbindelser legger til inndata av et lag til dens utgang, og tillater gradientene å flyte mer lett under bakover-propagering. Lag-normalisering hjelper å stabilisere aktiveringene og gradientene, og forbedrer ytelsen og stabiliteten.
Feed-Forward-lag
I tillegg til multi-hode-oppmerksomhets-lag, inkorporerer dekoder-baserte LLM feed-forward-lag, som anvender et enkelt feed-forward neuralt nettverk til hver posisjon i sekvensen. Disse lagene introduserer ikke-lineære og tillater modellen å lære mer komplekse representasjoner.
Aktiverings-funksjoner: Valget av aktiverings-funksjon i feed-forward-lagene kan ha en betydelig innvirkning på modellens ytelse. Mens tidligere LLM avhengig av den bredt brukte ReLU-aktiverings-funksjonen, har mer nylige modeller adoptert mer sofistikerte aktiverings-funksjoner som Gaussian Error Linear Unit (GELU) eller SwiGLU-aktiveringen, som har vist forbedret ytelse.
Sparse oppmerksomhet og effektive transformatorer
Selv om selv-oppmerksomhets-mekanismen er kraftfull, kommer den med en kvadratisk beregningskompleksitet i forhold til sekvens-lengden, og gjør det beregningsmessig dyrt for lange sekvenser. For å møte denne utfordringen, er flere tekniker blitt foreslått for å redusere de beregningsmessige og minnes-kravene til selv-oppmerksomhet, og muliggjør effektiv prosessering av lengre sekvenser.
Sparse oppmerksomhet: Sparse oppmerksomhets-teknikker, som den som brukes i GPT-3-modellen, oppmerker selektivt på en undergruppe av posisjoner i inndata-sekvensen, i stedet for å beregne oppmerksomhets-scorer for alle posisjoner. Dette kan signifikant redusere den beregningsmessige kompleksiteten, samtidig som den opprettholder rimelig ytelse.
Glide-vindu-oppmerksomhet: Introdusert i Mistral 7B-modellen, er glide-vindu-oppmerksomhet (SWA) en enkel, men effektiv teknikk som begrenser oppmerksomhets-omfanget for hver token til en fast vindu-størrelse. Denne tilnærmingen utnytter evnen til transformer-lag til å overføre informasjon over flere lag, og effektivt øker oppmerksomhets-omfanget uten den kvadratiske kompleksiteten til full selv-oppmerksomhet.
Rullende buffer-cache: For å ytterligere redusere minnes-krav, spesielt for lange sekvenser, bruker Mistral 7B-modellen en rullende buffer-cache. Denne teknikken lagrer og gjenbruker de beregnede nøkkel- og verdi-vektorene for en fast vindu-størrelse, og unngår redundante beregninger og minimerer minnes-bruk.
Gruppert spørrings-oppmerksomhet: Introdusert i LLaMA 2-modellen, er gruppert spørrings-oppmerksomhet (GQA) en variant av multi-spørrings-oppmerksomhets-mekanismen som deler oppmerksomhets-hoder i grupper, hvor hver gruppe deler en felles nøkkel- og verdi-matrise. Denne tilnærmingen finner en balanse mellom effektiviteten til multi-spørrings-oppmerksomhet og ytelsen til standard selv-oppmerksomhet, og gir forbedret inferens-tid samtidig som den opprettholder høykvalitets-resultater.
















