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 | Sektion
Generativ Deep Learning

bookTransformer-Baserede Generative Modeller

Stryg for at vise menuen

Introduktion til Transformers og Selv-Opmærksomhed

Transformers udgør en grundlæggende arkitektur inden for moderne AI, især inden for 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 selv-opmærksomhed, som gør det muligt for modeller at tage alle dele af inputsekvensen i betragtning på én gang.

Selv-Opmærksomhedsmekanisme

Selv-opmærksomhedsmekanismen gør det muligt for modellen at vægte vigtigheden 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).

Opmærksomhedsoutputtet 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 nøglevektorerne.
  • softmax\text{softmax} konverterer lighedsscorer til sandsynligheder.

Dette gør det muligt for hvert token at rette opmærksomhed mod alle andre tokens og justere sin repræsentation derefter.

Oversigt over Transformer-arkitektur

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

  • Encoder konverterer input til en kontekstualiseret latent repræsentation;
  • Decoder genererer output-tokens ved at bruge 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å tværs af alle positioner.

Lag-normalisering

Lag-normalisering normaliserer inputtet på tværs af funktionerne (kanaler) i stedet for batch. Det 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 til 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 encoderen. 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) som GPT-3, GPT-4, PaLM, LLaMA og Claude.

LLM'er anvender store datasæt og hundredvis af milliarder af parametre, hvilket gør dem i stand til 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 introduceret af transformere?

2. Hvad adskiller BERT fra GPT?

3. Hvorfor er transformere ideelle til LLM'er?

question mark

Hvad er den primære innovation introduceret af transformere?

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 1. Kapitel 9

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

Sektion 1. Kapitel 9
some-alt