Kunstig intelligens
Dekoderbaserte store språkmodellene: En komplett veiledning
Store språkmodeller (LLMs) har revolusjonert feltet for naturlig språkbehandling (NLP) ved å demonstrere bemerkelsesverdige evner til å generere menneskelignende tekst, svare på spørsmål og hjelpe til med et bredt spekter av språkrelaterte oppgaver. I kjernen av disse kraftige modellene ligger transformatorarkitektur kun for dekoder, en variant av den originale transformatorarkitekturen som ble foreslått i den banebrytende artikkelen "Oppmerksomhet er alt du trenger” av Vaswani et al.
I denne omfattende veiledningen vil vi utforske den indre funksjonen til dekoderbaserte LLM-er, og dykke ned i de grunnleggende byggesteinene, arkitektoniske innovasjonene og implementeringsdetaljene som har drevet disse modellene til forkant av NLP-forskning og -applikasjoner.
Transformatorarkitekturen: En oppfriskning
Før du dykker inn i detaljene til dekoderbaserte LLM-er, er det viktig å se på transformatorarkitekturen på nytt, grunnlaget som disse modellene er bygget på. Transformatoren introduserte en ny tilnærming til sekvensmodellering, og baserte seg utelukkende på oppmerksomhetsmekanismer for å fange langdistanseavhengigheter i dataene, uten behov for tilbakevendende eller konvolusjonslag.
Den originale transformatorarkitekturen består av to hovedkomponenter: en koder og en dekoder. Koderen behandler inngangssekvensen og genererer en kontekstualisert representasjon, som deretter forbrukes av dekoderen for å produsere utgangssekvensen. Denne arkitekturen ble opprinnelig designet for maskinoversettelsesoppgaver, der koderen behandler inndatasetningen på kildespråket, og dekoderen genererer den tilsvarende setningen på målspråket.
Selvoppmerksomhet: nøkkelen til transformatorens suksess
I hjertet av transformator ligger selvoppmerksomhetsmekanismen, en kraftig teknikk som lar modellen veie og aggregere informasjon fra ulike posisjoner i inndatasekvensen. I motsetning til tradisjonelle sekvensmodeller, som behandler input-tokens sekvensielt, gjør selvoppmerksomhet modellen i stand til å fange opp avhengigheter mellom et hvilket som helst par tokens, uavhengig av deres plassering i sekvensen.
Selvoppmerksomhetsoperasjonen kan deles inn i tre hovedtrinn:
- Spørrings-, nøkkel- og verdiprognoser: Inndatasekvensen projiseres i tre separate representasjoner: spørsmål (Q), nøkler (K), og verdier (V). Disse fremskrivningene oppnås ved å multiplisere input med lærte vektmatriser.
- Beregning av oppmerksomhetspoeng: For hver posisjon i inndatasekvensen beregnes oppmerksomhetspoeng ved å ta punktproduktet mellom den tilsvarende spørringsvektoren og alle nøkkelvektorene. Disse poengsummene representerer relevansen av hver posisjon til den gjeldende stillingen som behandles.
- Vektet sum av verdier: Oppmerksomhetsskårene normaliseres ved hjelp av en softmax-funksjon, og de resulterende oppmerksomhetsvektene brukes til å beregne en vektet sum av verdivektorene, og produserer utdatarepresentasjonen for gjeldende posisjon.
Multi-head oppmerksomhet, en variant av selvoppmerksomhetsmekanismen, lar modellen fange opp forskjellige typer relasjoner ved å beregne oppmerksomhetsscore på tvers av flere ".” parallelt, hver med sitt eget sett med spørrings-, nøkkel- og verdiprojeksjoner.
Arkitektoniske varianter og konfigurasjoner
Mens kjerneprinsippene for dekoderbaserte LLM-er forblir konsistente, har forskere utforsket ulike arkitektoniske varianter og konfigurasjoner for å forbedre ytelse, effektivitet og generaliseringsevner. I denne delen skal vi fordype oss i de forskjellige arkitektoniske valgene og deres implikasjoner.
Arkitekturtyper
Dekoderbaserte LLM-er kan grovt klassifiseres i tre hovedtyper: koder-dekoder, årsaksdekoder og prefiksdekoder. Hver arkitekturtype viser distinkte oppmerksomhetsmønstre.
Enkoder-dekoderarkitektur
Basert på vanilla Transformer-modellen, består koder-dekoder-arkitekturen av to stabler: en koder og en dekoder. Koderen bruker stablede flerhode-selvoppmerksomhetslag for å kode inngangssekvensen og generere latente representasjoner. Dekoderen utfører deretter kryssoppmerksomhet på disse representasjonene for å generere målsekvensen. Selv om de er effektive i ulike NLP-oppgaver, er det få LLM-er, som f.eks Flan-T5, ta i bruk denne arkitekturen.
Årsaksdekoderarkitektur
Den kausale dekoderarkitekturen inneholder en enveis oppmerksomhetsmaske, som lar hvert inndatatoken kun ivareta tidligere tokens og seg selv. Både input- og output-tokens behandles i samme dekoder. Kjente modeller som GPT-1, GPT-2 og GPT-3 er bygget på denne arkitekturen, med GPT-3 som viser bemerkelsesverdige læringsevner i kontekst. Mange LLM-er, inkludert OPT, BLOOM og Gopher, har vidt tatt i bruk årsaksdekodere.
Prefiksdekoderarkitektur
Også kjent som ikke-årsaksdekoderen, modifiserer prefiksdekoderarkitekturen maskeringsmekanismen til årsaksdekodere for å muliggjøre toveis oppmerksomhet over prefiks-tokens og enveis oppmerksomhet på genererte tokens. I likhet med koder-dekoder-arkitekturen kan prefiksdekodere kode prefikssekvensen toveis og forutsi utdata-tokens autoregressivt ved å bruke delte parametere. LLM-er basert på prefiksdekodere inkluderer GLM130B og U-PaLM.
Alle tre arkitekturtypene kan utvides ved å bruke blanding av eksperter (MoE) skaleringsteknikk, som sparsomt aktiverer et undersett av nevrale nettverksvekter for hver inngang. Denne tilnærmingen har blitt brukt i modeller som Switch Transformer og GLaM, med økende antall eksperter eller total parameterstørrelse som viser betydelige ytelsesforbedringer.
Transformator med kun dekoder: Omfavner den autoregressive naturen
Mens den originale transformatorarkitekturen ble designet for sekvens-til-sekvens-oppgaver som maskinoversettelse, kan mange NLP-oppgaver, som språkmodellering og tekstgenerering, innrammes som autoregressive problemer, der modellen genererer ett token om gangen, betinget av tidligere genererte tokens.
Gå inn i transformatoren kun for dekoder, en forenklet variant av transformatorarkitekturen som kun beholder dekoderkomponenten. Denne arkitekturen er spesielt godt egnet for autoregressive oppgaver, ettersom den genererer utdatamerker én etter én, og utnytter de tidligere genererte tokenene som inputkontekst.
Nøkkelforskjellen mellom transformatoren som kun er for dekoder og den originale transformatordekoderen ligger i selvoppmerksomhetsmekanismen. I innstillingen kun for dekoder, er selvoppmerksomhetsoperasjonen modifisert for å forhindre at modellen tar vare på fremtidige tokens, en egenskap kjent som kausalitet. Dette oppnås gjennom en teknikk som kalles "maskert selvoppmerksomhet", der oppmerksomhetsscore som tilsvarer fremtidige posisjoner settes til negativ uendelig, og maskerer dem effektivt under softmax-normaliseringstrinnet.
Arkitektoniske komponenter i dekoderbaserte LLM-er
Mens kjerneprinsippene for selvoppmerksomhet og maskert selvoppmerksomhet forblir de samme, har moderne dekoderbaserte LLM-er introdusert flere arkitektoniske innovasjoner for å forbedre ytelse, effektivitet og generaliseringsevner. La oss utforske noen av nøkkelkomponentene og teknikkene som brukes i toppmoderne LLM-er.
Input representasjon
Før de behandler inngangssekvensen, bruker dekoderbaserte LLM-er tokeniserings- og innebyggingsteknikker for å konvertere råteksten til en numerisk representasjon som passer for modellen.
tokenization: Tokeniseringsprosessen konverterer inndatateksten til en sekvens av tokens, som kan være ord, underord eller til og med individuelle tegn, avhengig av tokeniseringsstrategien som brukes. Populære tokeniseringsteknikker for LLM-er inkluderer Byte-Pair Encoding (BPE), SentencePiece og WordPiece. Disse metodene tar sikte på å finne en balanse mellom vokabularstørrelse og representasjonsgranularitet, slik at modellen kan håndtere sjeldne ord eller ord utenfor vokabularet effektivt.
Token-innbygginger: Etter tokenisering blir hvert token kartlagt til en tett vektorrepresentasjon kalt en token-innbygging. Disse innebyggingene læres under treningsprosessen og fanger opp semantiske og syntaktiske forhold mellom tokens.
Posisjonelle innstøpninger: Transformatormodeller behandler hele inngangssekvensen samtidig, og mangler den iboende forestillingen om tokenposisjoner som er tilstede i tilbakevendende modeller. For å inkorporere posisjonsinformasjon, legges posisjonelle innbygginger til token-innbyggingene, slik at modellen kan skille mellom tokens basert på deres posisjoner i sekvensen. Tidlige LLM-er brukte faste posisjonelle innebygginger basert på sinusformede funksjoner, mens nyere modeller har utforsket lærbare posisjonelle innebygginger eller alternative posisjonelle kodingsteknikker som roterende posisjonsinnleiringer.
Oppmerksomhetsblokker med flere hoder
Kjernebyggesteinene til dekoderbaserte LLM-er er multi-head oppmerksomhetslag, som utfører den maskerte selvoppmerksomhetsoperasjonen beskrevet tidligere. Disse lagene er stablet flere ganger, med hvert lag som tar seg av utdataene fra det forrige laget, slik at modellen kan fange opp stadig mer komplekse avhengigheter og representasjoner.
Oppmerksomhetshoder: Hvert oppmerksomhetslag med flere hode består av flere "oppmerksomhetshoder", hver med sitt eget sett med spørrings-, nøkkel- og verdiprojeksjoner. Dette gjør at modellen kan ivareta ulike aspekter av input samtidig, og fange ulike relasjoner og mønstre.
Restforbindelser og lagnormalisering: For å lette opplæringen av dype nettverk og redusere problemet med forsvinnende gradient, bruker dekoderbaserte LLM-er restforbindelser og lagnormaliseringsteknikker. Resterende koblinger legger til input fra et lag til utgangen, slik at gradienter kan flyte lettere under tilbakepropagering. Lagnormalisering hjelper til med å stabilisere aktiveringene og gradientene, og forbedrer treningens stabilitet og ytelse ytterligere.
Fremmatingslag
I tillegg til oppmerksomhetslag med flere hoder, inneholder dekoderbaserte LLM-er feed-forward-lag, som bruker et enkelt feed-forward nevralt nettverk til hver posisjon i sekvensen. Disse lagene introduserer ikke-lineariteter og gjør det mulig for modellen å lære mer komplekse representasjoner.
Aktiveringsfunksjoner: Valget av aktiveringsfunksjon i feed-forward-lagene kan påvirke modellens ytelse betydelig. Mens tidligere LLM-er stolte på den mye brukte ReLU-aktiveringen, har nyere modeller tatt i bruk mer sofistikerte aktiveringsfunksjoner som Gaussian Error Linear Unit (GELU) eller SwiGLU-aktivering, som har vist forbedret ytelse.
Sparsom oppmerksomhet og effektive transformatorer
Selv om selvoppmerksomhetsmekanismen er kraftig, kommer den med en kvadratisk beregningskompleksitet med hensyn til sekvenslengden, noe som gjør den beregningsmessig dyr for lange sekvenser. For å møte denne utfordringen har flere teknikker blitt foreslått for å redusere beregnings- og minnekravene til selvoppmerksomhet, noe som muliggjør effektiv behandling av lengre sekvenser.
Sparsom oppmerksomhet: Sparsomme oppmerksomhetsteknikker, som den som brukes i GPT-3-modellen, ivaretar selektivt et undersett av posisjoner i inndatasekvensen, i stedet for å beregne oppmerksomhetspoeng for alle posisjoner. Dette kan redusere beregningskompleksiteten betydelig, samtidig som rimelig ytelse opprettholdes.
Skyvevindu oppmerksomhet: Introdusert i Mistral 7B-modellen, er skyvevinduoppmerksomhet (SWA) en enkel, men effektiv teknikk som begrenser oppmerksomhetsspennet til hver token til en fast vindusstørrelse. Denne tilnærmingen utnytter transformatorlagenes evne til å overføre informasjon på tvers av flere lag, og øker effektivt oppmerksomhetsspennet uten den kvadratiske kompleksiteten til full selvoppmerksomhet.
Rolling Buffer Cache: For ytterligere å redusere minnekravene, spesielt for lange sekvenser, bruker Mistral 7B-modellen en rullende bufferbuffer. Denne teknikken lagrer og gjenbruker de beregnede nøkkel- og verdivektorene for en fast vindusstørrelse, og unngår redundante beregninger og minimerer minnebruk.
Oppmerksomhet for gruppert søk: Introdusert i LLaMA 2-modellen er grouped query attention (GQA) en variant av oppmerksomhetsmekanismen for flere spørringer som deler oppmerksomhetshoder inn i grupper, der hver gruppe deler en felles nøkkel- og verdimatrise. Denne tilnærmingen skaper en balanse mellom effektiviteten av oppmerksomhet med flere søk og ytelsen til standard selvoppmerksomhet, og gir forbedrede slutningstider samtidig som resultater av høy kvalitet opprettholdes.