Kunstig intelligens
Dekoderbaserte store språkmodeller: En komplett guide
Store språkmodeller (LLM) har revolusjonert feltet naturlig språkbehandling (NLP) ved å vise bemerkelsesverdige evner i å generere menneskelignende tekst, svare på spørsmål og assistere med en rekke språkrelaterte oppgaver. I kjernen av disse kraftfulle modellene ligger dekoder-bare transformerarkitektur, en variant av den opprinnelige transformerarkitekturen som ble foreslått i den-seminal artikkelen “Attention is All You Need” av Vaswani et al.
I denne omfattende guiden vil vi utforske de indre mekanismene i dekoderbaserte LLM, dykke ned i de grunnleggende byggesteinene, arkitektoniske innovasjoner og implementeringsdetaljer som har skyvet disse modellene til fronten av NLP-forskning og -applikasjoner.
Transformerarkitekturen: En oppfriskning
Før vi dykker ned i detaljene om dekoderbaserte LLM, er det essensielt å gjenskue transformerarkitekturen, grunnlaget som disse modellene er bygget på. Transformeren innførte en ny tilnærming til sekvensmodellering, som bare avhenger av oppmerksomhetsmekanismer for å fange lange avhengigheter i data, uten behov for rekursive eller konvolusjonslag.
Den opprinnelige transformerarkitekturen består av to hovedkomponenter: en encoder og en dekoder. Encoderen prosesserer inndatasekvensen og genererer en kontekstualisert representasjon, som dekoderen deretter forbruker for å produsere utdatasekvensen. Denne arkitekturen var opprinnelig designet for maskinoversettelse, hvor encoderen prosesserer inndatasettet i kildespråket, og dekoderen genererer det tilsvarende settet i målspråket.
Selv-oppmerksomhet: Nøkkelen til transformers suksess
I hjertet av transformer ligger selv-oppmerksomhetsmekanismen, en kraftfull teknikk som tillater modellen å veie og aggregere informasjon fra forskjellige posisjoner i inndatasekvensen. I motsetning til tradisjonelle sekvensmodeller, som prosesserer inndata-token sekvensielt, tillater selv-oppmerksomhet modellen å fange avhengigheter mellom noen par token, uavhengig av deres posisjon i sekvensen.
Selv-oppmerksomhetsoperasjonen kan deles inn i tre hovedtrinn:
- Spørring, nøkkel og verdi-projeksjoner: Inndatasekvensen 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 vektmatriser.
- Oppmerksomhetspoeng-beregning: For hver posisjon i inndatasekvensen, beregnes oppmerksomhetspoeng ved å ta punktproduktet mellom den tilsvarende spørringsvektoren og alle nøkkelvektorer. Disse poengene representerer relevansen av hver posisjon til den nåværende posisjonen som prosesseres.
- Vektsum av verdier: Oppmerksomhetspoengene normaliseres ved å bruke en softmax-funksjon, og de resulterende oppmerksomhetsvektene brukes til å beregne en vektsum av verdi-vektorene, som produserer utgangsrepresentasjonen for den nåværende posisjonen.
Multi-hode oppmerksomhet, en variant av selv-oppmerksomhetsmekanismen, tillater modellen å fange forskjellige typer relasjoner ved å beregne oppmerksomhetspoeng over flere “hoder” samtidig, hver med sin egen sett av spørring-, nøkkel- og verdi-projeksjoner.
Arkitektoniske varianter og konfigurasjoner
Selv om de grunnleggende prinsippene for dekoderbaserte LLM er konsistente, har forskere utforsket ulike arkitektoniske varianter og konfigurasjoner for å forbedre ytelse, effisiens og generaliserings-evner. I dette avsnittet vil vi dykke ned i de ulike arkitektoniske valg og deres implikasjoner.
Arkitekturtyper
Dekoderbaserte LLM kan deles inn i tre hovedtyper: encoder-dekoder, kausale dekodere og prefiksdekodere. Hver arkitekturtype viser distinkte oppmerksomhetsmø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-oppmerksomhetslag for å kode inndatasekvensen og generere latente representasjoner. Dekoderen utfører deretter kryss-oppmerksomhet på disse representasjonene for å generere målsekvensen. Selv om denne arkitekturen er effektiv i ulike NLP-oppdrag, bruker få LLM, som Flan-T5, denne arkitekturen.
Kausale Dekoder-Arkitektur
Den kausale dekoder-arkitekturen inkorporerer en unidireksjonal oppmerksomhetsmaske, som tillater hver inndata-token å bare se på tidligere token og seg selv. Både inndata- og utgangstoken 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 kontekstlærings-evner. Mange LLM, inkludert OPT, BLOOM og Gopher, har bredt adoptert kausale dekodere.
Prefiksdekoder-Arkitektur
Også kjent som den ikke-kausale dekoderen, modifiserer prefiksdekoder-arkitekturen maskeringsmekanismen i kausale dekodere for å aktivere to-veiskommunikasjon over prefikstoken og en-veiskommunikasjon på genererte token. Liksom encoder-dekoder-arkitekturen, kan prefiksdekodere kode prefiksekvensen to-veis og forutsi utgangstoken autoregressivt ved å bruke felles parametre. LLM basert på prefiksdekodere inkluderer GLM130B og U-PaLM.
Alle tre arkitekturtyper kan utvides ved å bruke mixture-of-experts (MoE)-skaleringsteknikken, som sparsomt aktiverer en undergruppe av neurale nettverksvektorer for hver inndata. Denne tilnærmingen er brukt i modeller som Switch Transformer og GLaM, med økning av antall eksperter eller total parameterstørrelse som viser betydelige ytelsesforbedringer.
Dekoder-bare Transformer: Omfavnelse av den autoregressive naturen
Selv om den opprinnelige transformer-arkitekturen var designet for sekvens-til-sekvens-oppdrag som maskinoversettelse, kan mange NLP-oppdrag, som språkmodellering og tekstgenerering, rammes inn som autoregressive problemer, hvor modellen genererer ett token om gangen, betinget av tidligere genererte token.
Dekoder-bare transformer er en forenklet variant av transformer-arkitekturen som bare beholder dekoder-komponenten. Denne arkitekturen er spesielt godt egnet for autoregressive oppdrag, da den genererer utgangstoken ett om gangen, utnyttende tidligere genererte token som inndatakontekst.
Den nøkkelmessige forskjellen mellom dekoder-bare transformer og den opprinnelige transformer-dekoder ligger i selv-oppmerksomhetsmekanismen. I dekoder-bare settingen modifiseres selv-oppmerksomhetsoperasjonen for å forhindre modellen i å se på fremtidige token, en egenskap kjent som kausalitet. Dette oppnås gjennom en teknikk kalt “maskert selv-oppmerksomhet”, hvor oppmerksomhetspoeng som tilhører fremtidige posisjoner settes til negativ uendelig, effektivt maskerende dem ut under softmax-normaliseringstrinnet.
Arkitektoniske komponenter av dekoderbaserte LLM
Selv om de grunnleggende prinsippene for selv-oppmerksomhet og maskert selv-oppmerksomhet forblir de samme, har moderne dekoderbaserte LLM introdusert flere arkitektoniske innovasjoner for å forbedre ytelse, effisiens og generaliserings-evner. La oss utforske noen av de nøkkelkomponentene og teknikkene som er brukt i state-of-the-art LLM.
Inndatarepresentasjon
Før prosessering av inndatasekvensen, bruker dekoderbaserte LLM tokenisering og innlejringsteknikker for å konvertere råteksten til en numerisk representasjon som er egnet for modellen.
Tokenisering: Tokeniseringsprosessen konverterer inndata til en sekvens av token, som kan være ord, subord eller selv enkelttegn, avhengig av tokeniseringsstrategien som er brukt. Populære tokeniseringsmetoder for LLM inkluderer Byte-Pair Encoding (BPE), SentencePiece og WordPiece. Disse metodene søker å finne en balanse mellom ordboksstørrelse og representasjonsgranularitet, som tillater modellen å håndtere sjeldne eller utenfor-ordboksord effektivt.
Token-innlejring: Etter tokenisering, blir hver token kartlagt til en tett vektorrepresentasjon kalt en token-innlejring. Disse innlejringene lærer under trening og fanger semantiske og syntaktiske relasjoner mellom token.
Posisjonsinnlejring: Transformer-modeller prosesserer hele inndatasekvensen samtidig, mangler den innebygde forestillingen om tokenposisjoner som er til stede i rekursive modeller. For å inkorporere posisjonsinformasjon, legges posisjonsinnlejring til token-innlejringene, som tillater modellen å skille mellom token basert på deres posisjoner i sekvensen. Tidlige LLM brukte faste posisjonsinnlejring basert på sinusfunksjoner, mens mer nylige modeller har utforsket lærbar posisjonsinnlejring eller alternative posisjonskodingsteknikker som rotary posisjonsinnlejring.
Multi-hode oppmerksomhetsblokker
Kjernebyggesteinene i dekoderbaserte LLM er multi-hode oppmerksomhetslag, som utfører den maskerte selv-oppmerksomhetsoperasjonen som beskrevet tidligere. Disse lagene er stablet flere ganger, med hver lag som ser på utgangen av det forrige laget, som tillater modellen å fange stadig mer komplekse avhengigheter og representasjoner.
Oppmerksomhets-hoder: Hver multi-hode oppmerksomhetslag består av flere “oppmerksomhets-hoder”, hver med sin egen sett av spørring-, nøkkel- og verdi-projeksjoner. Dette tillater modellen å se på forskjellige aspekter av inndata samtidig, fange diverse relasjoner og mønster.
Residuelle forbindelser og lag-normalisering: For å fasilitere trening av dype nettverk og mitigere det forsvinnende gradient-problemet, bruker dekoderbaserte LLM residuelle forbindelser og lag-normaliseringsteknikker. Residuelle forbindelser legger til inndata til utgangen av et lag, som tillater gradientene å flyte mer lett under bakoverpropagasjon. Lag-normalisering hjelper til å stabilisere aktiveringene og gradientene, videre forbedrer treningstabilitet og ytelse.
Feed-forward-lag
I tillegg til multi-hode oppmerksomhetslag, inkorporerer dekoderbaserte LLM feed-forward-lag, som anvender et enkelt feed-forward neuralt nettverk til hver posisjon i sekvensen. Disse lagene introduserer ikke-lineæriteter og tillater modellen å lære mer komplekse representasjoner.
Aktiveringsfunksjoner: Valget av aktiveringsfunksjon i feed-forward-lagene kan ha en betydelig innvirkning på modellens ytelse. Mens tidligere LLM avhengig av den bredt brukte ReLU-aktiveringsfunksjonen, har mer nylige modeller adoptert mer sofistikerte aktiveringsfunksjoner som Gaussian Error Linear Unit (GELU) eller SwiGLU-aktiveringen, som har vist forbedret ytelse.
Sparse oppmerksomhet og effektive transformer
Selv om selv-oppmerksomhetsmekanismen er kraftfull, kommer den med en kvadratisk beregningskompleksitet i forhold til sekvenslengden, gjør det komputasjonsmessig dyrt for lange sekvenser. For å møte denne utfordringen, er flere teknikkene foreslått for å redusere beregnings- og minnekrevende selv-oppmerksomhet, som muliggjør effektiv prosessering av lengre sekvenser.
Sparse oppmerksomhet: Sparse oppmerksomhets-teknikker, som den ene som er brukt i GPT-3-modellen, ser selektivt på en undergruppe av posisjoner i inndatasekvensen, i stedet for å beregne oppmerksomhetspoeng for alle posisjoner. Dette kan betydelig redusere beregningskompleksiteten mens den holder en rimelig ytelse.
Glidevindu-oppmerksomhet: Innført i Mistral 7B-modellen, er glidevindu-oppmerksomhet (SWA) en enkel, men effektiv teknikk som begrenser oppmerksomhetsspennet for hver token til en fast vindu-størrelse. Denne tilnærmingen utnytter evnen til transformer-lag til å overføre informasjon over flere lag, effektivt økende oppmerksomhetsspennet uten den kvadratiske kompleksiteten til full selv-oppmerksomhet.
Rullende buffer-cache: For å ytterligere redusere minnekrev, 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, unngående redundante beregninger og minimiserer minnebruk.
Gruppe-forespørsel-oppmerksomhet: Innført i LLaMA 2-modellen, er gruppe-forespørsel-oppmerksomhet (GQA) en variant av multi-forespørsel-oppmerksomhetsmekanismen som deler oppmerksomhets-hoder i grupper, hver med sin egen felles nøkkel- og verdi-matrise. Denne tilnærmingen finner en balanse mellom effisiensen til multi-forespørsel-oppmerksomhet og ytelsen til standard selv-oppmerksomhet, som gir forbedret inferenstid samtidig som den holder høykvalitetsresultater.














