Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Transformatorbaserte Generative Modeller | Seksjon
Practice
Projects
Quizzes & Challenges
Quizer
Challenges
/
Generativ Dyp Læring

bookTransformatorbaserte Generative Modeller

Sveip for å vise menyen

Introduksjon til transformere og selvoppmerksomhet

Transformere er en grunnleggende arkitektur innen moderne KI, spesielt innen naturlig språkprosessering (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 likhetsscorene til sannsynligheter.

Dette gjør at hvert token kan fokusere på alle andre tokens og justere sin representasjon deretter.

Oversikt over transformerarkitektur

Transformer-modellen består av stablede encoder- og decoder-lag:

  • Encoder konverterer input til en kontekstualisert latent representasjon;
  • Decoder genererer utgangstoken ved å bruke encoderens output og tidligere token.

Hvert lag inkluderer:

  • Multi-Head Self-Attention;
  • Fremovermatede nevrale nettverk;
  • Lag-normalisering;
  • Residuale forbindelser.

Multi-Head Self-Attention

I stedet for å beregne én enkelt oppmerksomhetsfunksjon, bruker transformer-modellen flere oppmerksomhetshoder. Hver 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 hver 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 queries, keys og values;
  • 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 (for eksempel ReLU) mellom;
  • 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 fremovermatingslagene.

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;
  • Utstrakt brukt 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 predikerer den opprinnelige token 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 Large Language Models (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 1. Kapittel 9

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

Seksjon 1. Kapittel 9
some-alt