Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Transformatorbaserte Generative Modeller | Teoretiske Grunnlag
Generativ KI

bookTransformatorbaserte Generative Modeller

Introduksjon til transformere og selvoppmerksomhet

Transformere er en grunnleggende arkitektur innen moderne KI, spesielt innen naturlig språkbehandling (NLP) og generativ modellering. Først introdusert i artikkelen "Attention is All You Need" (Vaswani et al., 2017), forkaster transformere rekurrens til fordel for en mekanisme kalt selvoppmerksomhet, som gjør det mulig for modeller å vurdere alle deler av inndatasekvensen samtidig.

Selvoppmerksomhetsmekanisme

Selvoppmerksomhetsmekanismen gjør det mulig for modellen å vekte viktigheten av ulike tokens i en sekvens i forhold til hverandre. Dette gjøres ved hjelp av tre matriser utledet fra inndata-embeddingene:

  • Query (Q);
  • Key (K);
  • Value (V).

Oppmerksomhetsutdata beregnes som:

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax} \left( \frac{QK^T}{\sqrt{d_k}} \right)V

Hvor:

  • QQ, KK og VV er matriser utledet fra inndata.
  • dkd_k er dimensjonen til nøkkel-vektorene.
  • softmax\text{softmax} konverterer likhetspoengene til sannsynligheter.

Dette gjør det mulig for hvert token å fokusere på alle andre tokens og justere sin representasjon deretter.

Oversikt over transformerarkitektur

Transformer-modellen består av stablede enkoder- og dekoderlag:

  • Enkoder konverterer input til en kontekstualisert latent representasjon;
  • Dekoder genererer utdata-tokens ved å bruke enkoderens utdata og tidligere tokens.

Hvert lag inkluderer:

  • Multi-head selvoppmerksomhet;
  • Fremovermatede nevrale nettverk;
  • Lag-normalisering;
  • Residuale forbindelser.

Multi-head selvoppmerksomhet

I stedet for å beregne én enkelt oppmerksomhetsfunksjon, bruker transformer-modellen flere oppmerksomhetshoder. Hvert hode lærer å fokusere på ulike deler av sekvensen.

Multi-Head(Q,K,V)=Concat(head1,head2,...,headn)W0\text{Multi-Head}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, ... , \text{head}_n)W^0

Der hvert hode beregnes som:

headi=Attention(QWiQ,KWiK,VWiV)\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)

Der:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V er projeksjonsmatriser for forespørsler, nøkler og verdier;
  • W0W^0 projiserer de sammenkjedede hodene tilbake til den opprinnelige dimensjonen.

Fremovermatede nevrale nettverk

Hver transformer-blokk inkluderer et posisjonsvis fremovermatet nettverk som anvendes uavhengig på hver posisjon:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Består av to lineære lag med en ikke-linearitet (f.eks. ReLU) imellom;
  • Anvender samme transformasjon på alle posisjoner.

Lag-normalisering

Lag-normalisering normaliserer inputen over funksjonene (kanaler) i stedet for batch. Dette stabiliserer treningen og forbedrer konvergensen:

LayerNorm(x)=xμσγ+β\text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \beta

Hvor:

  • μ\mu er gjennomsnittet av funksjonene;
  • σ\sigma er standardavviket;
  • γ\gamma og β\beta er lærbare parametere.

Residuale forbindelser

Residuale forbindelser legger til inputen til hvert del-lag til dets output:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Dette hjelper med gradientflyt og muliggjør trening av dypere modeller;
  • Brukes rundt både selvoppmerksomhets- og fremovermatede lag.

I kun-dekoder-modeller (som GPT) brukes kun dekoderen med kausal (maskert) selvoppmerksomhet.

Generative Pre-trained Transformers (GPT)

GPT-modeller er kun-dekoder-transformere trent til å forutsi neste token på en autoregressiv måte:

P(x1,x2,...,xn)=t=1nP(xtx<t)P(x_1,x_2,...,x_n)=\prod_{t=1}^n{P(x_t|x_{<t})}

Nøkkelfunksjoner:

  • Trenet på store tekstdatasett;
  • Kan generere sammenhengende og variert tekst;
  • Utbredt bruk i applikasjoner som chatboter og kodegenerering.

BERT og maskert språkmodellering

BERT (Bidirectional Encoder Representations from Transformers) bruker kun enkoderen. Den trenes med maskert språkmodellering (MLM):

  • Tilfeldige tokens erstattes med en [MASK];
  • Modellen forutsier det opprinnelige tokenet basert på full kontekst.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Dette gjør BERT egnet for oppgaver som klassifisering, spørsmål og svar, og semantisk likhet.

Transformere og LLM-er

Transformere er ryggraden i store språkmodeller (LLM-er) som GPT-3, GPT-4, PaLM, LLaMA og Claude.

LLM-er bruker store datasett og hundrevis av milliarder parametere, noe som gjør dem i stand til å:

  • Forstå og generere menneskelig språk;
  • Utføre oversettelse, oppsummering, spørsmål og svar, resonnering;
  • Drive chatboter, dokumentanalysatorer og kodeassistenter.

Transformeres skalerbarhet og evne til å modellere langtrekkende avhengigheter gjør dem ideelle for disse modellene.

1. Hva er den primære innovasjonen introdusert av transformere?

2. Hva skiller BERT fra GPT?

3. Hvorfor er transformere ideelle for LLM-er?

question mark

Hva er den primære innovasjonen introdusert av transformere?

Select the correct answer

question mark

Hva skiller BERT fra GPT?

Select the correct answer

question mark

Hvorfor er transformere ideelle for LLM-er?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 8

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 4.76

bookTransformatorbaserte Generative Modeller

Sveip for å vise menyen

Introduksjon til transformere og selvoppmerksomhet

Transformere er en grunnleggende arkitektur innen moderne KI, spesielt innen naturlig språkbehandling (NLP) og generativ modellering. Først introdusert i artikkelen "Attention is All You Need" (Vaswani et al., 2017), forkaster transformere rekurrens til fordel for en mekanisme kalt selvoppmerksomhet, som gjør det mulig for modeller å vurdere alle deler av inndatasekvensen samtidig.

Selvoppmerksomhetsmekanisme

Selvoppmerksomhetsmekanismen gjør det mulig for modellen å vekte viktigheten av ulike tokens i en sekvens i forhold til hverandre. Dette gjøres ved hjelp av tre matriser utledet fra inndata-embeddingene:

  • Query (Q);
  • Key (K);
  • Value (V).

Oppmerksomhetsutdata beregnes som:

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax} \left( \frac{QK^T}{\sqrt{d_k}} \right)V

Hvor:

  • QQ, KK og VV er matriser utledet fra inndata.
  • dkd_k er dimensjonen til nøkkel-vektorene.
  • softmax\text{softmax} konverterer likhetspoengene til sannsynligheter.

Dette gjør det mulig for hvert token å fokusere på alle andre tokens og justere sin representasjon deretter.

Oversikt over transformerarkitektur

Transformer-modellen består av stablede enkoder- og dekoderlag:

  • Enkoder konverterer input til en kontekstualisert latent representasjon;
  • Dekoder genererer utdata-tokens ved å bruke enkoderens utdata og tidligere tokens.

Hvert lag inkluderer:

  • Multi-head selvoppmerksomhet;
  • Fremovermatede nevrale nettverk;
  • Lag-normalisering;
  • Residuale forbindelser.

Multi-head selvoppmerksomhet

I stedet for å beregne én enkelt oppmerksomhetsfunksjon, bruker transformer-modellen flere oppmerksomhetshoder. Hvert hode lærer å fokusere på ulike deler av sekvensen.

Multi-Head(Q,K,V)=Concat(head1,head2,...,headn)W0\text{Multi-Head}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, ... , \text{head}_n)W^0

Der hvert hode beregnes som:

headi=Attention(QWiQ,KWiK,VWiV)\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)

Der:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V er projeksjonsmatriser for forespørsler, nøkler og verdier;
  • W0W^0 projiserer de sammenkjedede hodene tilbake til den opprinnelige dimensjonen.

Fremovermatede nevrale nettverk

Hver transformer-blokk inkluderer et posisjonsvis fremovermatet nettverk som anvendes uavhengig på hver posisjon:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Består av to lineære lag med en ikke-linearitet (f.eks. ReLU) imellom;
  • Anvender samme transformasjon på alle posisjoner.

Lag-normalisering

Lag-normalisering normaliserer inputen over funksjonene (kanaler) i stedet for batch. Dette stabiliserer treningen og forbedrer konvergensen:

LayerNorm(x)=xμσγ+β\text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \beta

Hvor:

  • μ\mu er gjennomsnittet av funksjonene;
  • σ\sigma er standardavviket;
  • γ\gamma og β\beta er lærbare parametere.

Residuale forbindelser

Residuale forbindelser legger til inputen til hvert del-lag til dets output:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Dette hjelper med gradientflyt og muliggjør trening av dypere modeller;
  • Brukes rundt både selvoppmerksomhets- og fremovermatede lag.

I kun-dekoder-modeller (som GPT) brukes kun dekoderen med kausal (maskert) selvoppmerksomhet.

Generative Pre-trained Transformers (GPT)

GPT-modeller er kun-dekoder-transformere trent til å forutsi neste token på en autoregressiv måte:

P(x1,x2,...,xn)=t=1nP(xtx<t)P(x_1,x_2,...,x_n)=\prod_{t=1}^n{P(x_t|x_{<t})}

Nøkkelfunksjoner:

  • Trenet på store tekstdatasett;
  • Kan generere sammenhengende og variert tekst;
  • Utbredt bruk i applikasjoner som chatboter og kodegenerering.

BERT og maskert språkmodellering

BERT (Bidirectional Encoder Representations from Transformers) bruker kun enkoderen. Den trenes med maskert språkmodellering (MLM):

  • Tilfeldige tokens erstattes med en [MASK];
  • Modellen forutsier det opprinnelige tokenet basert på full kontekst.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Dette gjør BERT egnet for oppgaver som klassifisering, spørsmål og svar, og semantisk likhet.

Transformere og LLM-er

Transformere er ryggraden i store språkmodeller (LLM-er) som GPT-3, GPT-4, PaLM, LLaMA og Claude.

LLM-er bruker store datasett og hundrevis av milliarder parametere, noe som gjør dem i stand til å:

  • Forstå og generere menneskelig språk;
  • Utføre oversettelse, oppsummering, spørsmål og svar, resonnering;
  • Drive chatboter, dokumentanalysatorer og kodeassistenter.

Transformeres skalerbarhet og evne til å modellere langtrekkende avhengigheter gjør dem ideelle for disse modellene.

1. Hva er den primære innovasjonen introdusert av transformere?

2. Hva skiller BERT fra GPT?

3. Hvorfor er transformere ideelle for LLM-er?

question mark

Hva er den primære innovasjonen introdusert av transformere?

Select the correct answer

question mark

Hva skiller BERT fra GPT?

Select the correct answer

question mark

Hvorfor er transformere ideelle for LLM-er?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 8
some-alt