Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Transformer-Baserede Generative Modeller | Teoretiske Grundlag
Generativ AI

bookTransformer-Baserede Generative Modeller

Introduktion til Transformers og Self-Attention

Transformers udgør en grundlæggende arkitektur inden for moderne AI, især i Natural Language Processing (NLP) og generativ modellering. Først introduceret i artiklen "Attention is All You Need" (Vaswani et al., 2017), fravælger transformers rekurrens til fordel for en mekanisme kaldet self-attention, som gør det muligt for modeller at tage alle dele af inputsekvensen i betragtning på én gang.

Self-Attention-mekanisme

Self-attention-mekanismen gør det muligt for modellen at vægte betydningen af forskellige tokens i en sekvens i forhold til hinanden. Dette udføres ved hjælp af tre matricer, der er afledt af input-embedding:

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

Attention-outputtet 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 matricer afledt af input.
  • dkd_k er dimensionen af key-vektorerne.
  • softmax\text{softmax} konverterer lighedsscorer til sandsynligheder.

Dette gør det muligt for hvert token at attendere til alle andre tokens og justere dets repræsentation tilsvarende.

Oversigt over Transformer-arkitektur

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

  • Encoder omdanner input til en kontekstualiseret latent repræsentation;
  • Decoder genererer output-tokens ved hjælp af encoderens output og tidligere tokens.

Hvert lag indeholder:

  • Multi-Head Self-Attention;
  • Feedforward neurale netværk;
  • Lag-normalisering;
  • Residualforbindelser.

Multi-Head Self-Attention

I stedet for at beregne en enkelt opmærksomhedsfunktion anvender transformer-modellen flere opmærksomhedshoveder. Hvert hoved lærer at fokusere på forskellige dele af 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

Hvor hvert hoved beregnes som:

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

Hvor:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V er projekteringsmatricer for forespørgsler, nøgler og værdier;
  • W0W^0 projicerer de sammenkædede hoveder tilbage til den oprindelige dimension.

Fuldstændigt forbundne neurale netværk

Hvert transformer-blok indeholder et positionsvist fuldt forbundet netværk, der anvendes uafhængigt på hver position:

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

Lag-normalisering

Lag-normalisering normaliserer inputtet på tværs af funktionerne (kanaler) i stedet for batch. Dette stabiliserer træningen og forbedrer konvergensen:

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

Hvor:

  • μ\mu er gennemsnittet af funktionerne;
  • σ\sigma er standardafvigelsen;
  • γ\gamma og β\beta er lærbare parametre.

Residuale forbindelser

Residuale forbindelser lægger inputtet fra hvert underlag til dets output:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Dette hjælper med gradientflow og muliggør træning af dybere modeller;
  • Anvendes omkring både selvopmærksomheds- og fuldt forbundne lag.

I kun-dekoder modeller (som GPT) anvendes kun dekoderen med kausal (maskeret) selvopmærksomhed.

Generative Pre-trained Transformers (GPT)

GPT-modeller er kun-dekoder-transformere trænet til at forudsige det næste token på en autoregressiv måde:

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øgleegenskaber:

  • Trænet på store tekstdatasæt;
  • Kan generere sammenhængende og varieret tekst;
  • Udbredt anvendt i applikationer som chatbots og kodegenerering.

BERT og Maskeret Sproglig Modellering

BERT (Bidirectional Encoder Representations from Transformers) anvender kun enkoderen. Den trænes med maskeret sproglig modellering (MLM):

  • Tilfældige tokens erstattes med en [MASK];
  • Modellen forudsiger det oprindelige token baseret på fuld kontekst.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Dette gør BERT velegnet til opgaver som klassifikation, spørgsmål og svar samt semantisk lighed.

Transformere og LLM'er

Transformere udgør grundlaget for Large Language Models (LLM'er) såsom GPT-3, GPT-4, PaLM, LLaMA og Claude.

LLM'er anvender store datasæt og hundredvis af milliarder parametre, hvilket gør det muligt for dem at:

  • Forstå og generere menneskesprog;
  • Udføre oversættelse, opsummering, spørgsmål og svar, ræsonnement;
  • Drive chatbots, dokumentanalysatorer og kodeassistenter.

Transformeres skalerbarhed og evne til at modellere langtrækkende afhængigheder gør dem ideelle til disse modeller.

1. Hvad er den primære innovation, som transformere har introduceret?

2. Hvad adskiller BERT fra GPT?

3. Hvorfor er transformere ideelle til LLM'er?

question mark

Hvad er den primære innovation, som transformere har introduceret?

Select the correct answer

question mark

Hvad adskiller BERT fra GPT?

Select the correct answer

question mark

Hvorfor er transformere ideelle til LLM'er?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 8

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 4.76

bookTransformer-Baserede Generative Modeller

Stryg for at vise menuen

Introduktion til Transformers og Self-Attention

Transformers udgør en grundlæggende arkitektur inden for moderne AI, især i Natural Language Processing (NLP) og generativ modellering. Først introduceret i artiklen "Attention is All You Need" (Vaswani et al., 2017), fravælger transformers rekurrens til fordel for en mekanisme kaldet self-attention, som gør det muligt for modeller at tage alle dele af inputsekvensen i betragtning på én gang.

Self-Attention-mekanisme

Self-attention-mekanismen gør det muligt for modellen at vægte betydningen af forskellige tokens i en sekvens i forhold til hinanden. Dette udføres ved hjælp af tre matricer, der er afledt af input-embedding:

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

Attention-outputtet 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 matricer afledt af input.
  • dkd_k er dimensionen af key-vektorerne.
  • softmax\text{softmax} konverterer lighedsscorer til sandsynligheder.

Dette gør det muligt for hvert token at attendere til alle andre tokens og justere dets repræsentation tilsvarende.

Oversigt over Transformer-arkitektur

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

  • Encoder omdanner input til en kontekstualiseret latent repræsentation;
  • Decoder genererer output-tokens ved hjælp af encoderens output og tidligere tokens.

Hvert lag indeholder:

  • Multi-Head Self-Attention;
  • Feedforward neurale netværk;
  • Lag-normalisering;
  • Residualforbindelser.

Multi-Head Self-Attention

I stedet for at beregne en enkelt opmærksomhedsfunktion anvender transformer-modellen flere opmærksomhedshoveder. Hvert hoved lærer at fokusere på forskellige dele af 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

Hvor hvert hoved beregnes som:

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

Hvor:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V er projekteringsmatricer for forespørgsler, nøgler og værdier;
  • W0W^0 projicerer de sammenkædede hoveder tilbage til den oprindelige dimension.

Fuldstændigt forbundne neurale netværk

Hvert transformer-blok indeholder et positionsvist fuldt forbundet netværk, der anvendes uafhængigt på hver position:

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

Lag-normalisering

Lag-normalisering normaliserer inputtet på tværs af funktionerne (kanaler) i stedet for batch. Dette stabiliserer træningen og forbedrer konvergensen:

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

Hvor:

  • μ\mu er gennemsnittet af funktionerne;
  • σ\sigma er standardafvigelsen;
  • γ\gamma og β\beta er lærbare parametre.

Residuale forbindelser

Residuale forbindelser lægger inputtet fra hvert underlag til dets output:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Dette hjælper med gradientflow og muliggør træning af dybere modeller;
  • Anvendes omkring både selvopmærksomheds- og fuldt forbundne lag.

I kun-dekoder modeller (som GPT) anvendes kun dekoderen med kausal (maskeret) selvopmærksomhed.

Generative Pre-trained Transformers (GPT)

GPT-modeller er kun-dekoder-transformere trænet til at forudsige det næste token på en autoregressiv måde:

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øgleegenskaber:

  • Trænet på store tekstdatasæt;
  • Kan generere sammenhængende og varieret tekst;
  • Udbredt anvendt i applikationer som chatbots og kodegenerering.

BERT og Maskeret Sproglig Modellering

BERT (Bidirectional Encoder Representations from Transformers) anvender kun enkoderen. Den trænes med maskeret sproglig modellering (MLM):

  • Tilfældige tokens erstattes med en [MASK];
  • Modellen forudsiger det oprindelige token baseret på fuld kontekst.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Dette gør BERT velegnet til opgaver som klassifikation, spørgsmål og svar samt semantisk lighed.

Transformere og LLM'er

Transformere udgør grundlaget for Large Language Models (LLM'er) såsom GPT-3, GPT-4, PaLM, LLaMA og Claude.

LLM'er anvender store datasæt og hundredvis af milliarder parametre, hvilket gør det muligt for dem at:

  • Forstå og generere menneskesprog;
  • Udføre oversættelse, opsummering, spørgsmål og svar, ræsonnement;
  • Drive chatbots, dokumentanalysatorer og kodeassistenter.

Transformeres skalerbarhed og evne til at modellere langtrækkende afhængigheder gør dem ideelle til disse modeller.

1. Hvad er den primære innovation, som transformere har introduceret?

2. Hvad adskiller BERT fra GPT?

3. Hvorfor er transformere ideelle til LLM'er?

question mark

Hvad er den primære innovation, som transformere har introduceret?

Select the correct answer

question mark

Hvad adskiller BERT fra GPT?

Select the correct answer

question mark

Hvorfor er transformere ideelle til LLM'er?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 8
some-alt