Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Transformatorbaserade Generativa Modeller | Teoretiska Grunder
Generativ AI

bookTransformatorbaserade Generativa Modeller

Introduktion till transformatorer och självuppmärksamhet

Transformatorer utgör en grundläggande arkitektur inom modern AI, särskilt inom Natural Language Processing (NLP) och generativ modellering. Först introducerade i artikeln "Attention is All You Need" (Vaswani et al., 2017), överger transformatorer rekurrens till förmån för en mekanism kallad självuppmärksamhet, vilket gör det möjligt för modeller att beakta alla delar av inmatningssekvensen samtidigt.

Självuppmärksamhetsmekanism

Självuppmärksamhetsmekanismen gör det möjligt för modellen att väga vikten av olika token i en sekvens i förhållande till varandra. Detta görs med hjälp av tre matriser härledda från inbäddningarna:

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

Uppmärksamhetsutdata beräknas som:

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

Där:

  • QQ, KK och VV är matriser härledda från inmatningen.
  • dkd_k är dimensionen på nyckelvektorerna.
  • softmax\text{softmax} omvandlar likhetspoängen till sannolikheter.

Detta gör att varje token kan uppmärksamma alla andra token och justera sin representation därefter.

Översikt av transformatorarkitektur

Transformermodellen består av staplade encoder- och decoderlager:

  • Encoder omvandlar indata till en kontextualiserad latent representation;
  • Decoder genererar utdata-token med hjälp av encoderns utdata och tidigare token.

Varje lager innehåller:

  • Multi-Head Self-Attention;
  • Feedforward-neurala nätverk;
  • Lagernormalisering;
  • Residuala kopplingar.

Multi-Head Self-Attention

Istället för att beräkna en enda attention-funktion använder transformern flera attention-huvuden. Varje huvud lär sig att fokusera på olika delar 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

Där varje huvud beräknas som:

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

Där:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V är projekteringsmatriser för queries, keys och values;
  • W0W^0 projicerar de sammanfogade huvudena tillbaka till ursprunglig dimension.

Feedforward-neurala nätverk

Varje transformerblock innehåller ett positionsvis feedforward-nätverk som tillämpas oberoende på varje position:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Består av två linjära lager med en icke-linjäritet (t.ex. ReLU) emellan;
  • Tillämpas samma transformation på alla positioner.

Lagernormalisering

Lagernormalisering normaliserar indata över funktionerna (kanalerna) istället för över batchen. Detta stabiliserar träningen och förbättrar konvergensen:

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

Där:

  • μ\mu är medelvärdet av funktionerna;
  • σ\sigma är standardavvikelsen;
  • γ\gamma och β\beta är lärbara parametrar.

Residuala kopplingar

Residuala kopplingar adderar indata för varje sublager till dess utdata:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Underlättar gradientflödet och möjliggör träning av djupare modeller;
  • Används kring både självuppmärksamhets- och feedforward-lagren.

I endast-dekoder-modeller (som GPT) används endast dekodern med kausal (maskerad) självuppmärksamhet.

Generativa Förtränade Transformatorer (GPT)

GPT-modeller är endast-dekoder-transformatorer som tränas för att förutsäga nästa token på ett autoregressivt sätt:

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

Viktiga egenskaper:

  • Tränade på storskaliga textdatamängder;
  • Kan generera sammanhängande och varierad text;
  • Används ofta i applikationer som chattbottar och kodgenerering.

BERT och Maskerad Språkmodellering

BERT (Bidirectional Encoder Representations from Transformers) använder endast enkodern. Den tränas med maskerad språkmodellering (MLM):

  • Slumpmässiga token ersätts med en [MASK];
  • Modellen förutsäger den ursprungliga token baserat på full kontext.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Detta gör BERT lämplig för uppgifter som klassificering, frågor och svar samt semantisk likhet.

Transformatorer och LLM:er

Transformatorer utgör grunden för stora språkmodeller (LLM:er) såsom GPT-3, GPT-4, PaLM, LLaMA och Claude.

LLM:er använder stora datamängder och hundratals miljarder parametrar, vilket gör det möjligt för dem att:

  • Förstå och generera mänskligt språk;
  • Utföra översättning, sammanfattning, frågor och svar, resonemang;
  • Driva chattbottar, dokumentanalysatorer och kodassistenter.

Transformatorers skalbarhet och förmåga att modellera långdistansberoenden gör dem idealiska för dessa modeller.

1. Vad är den primära innovationen som introducerades av transformers?

2. Vad skiljer BERT från GPT?

3. Varför är transformers idealiska för LLM:er?

question mark

Vad är den primära innovationen som introducerades av transformers?

Select the correct answer

question mark

Vad skiljer BERT från GPT?

Select the correct answer

question mark

Varför är transformers idealiska för LLM:er?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 8

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

Can you explain how self-attention works in more detail?

What is the difference between encoder and decoder in transformers?

How does multi-head attention improve model performance?

Awesome!

Completion rate improved to 4.76

bookTransformatorbaserade Generativa Modeller

Svep för att visa menyn

Introduktion till transformatorer och självuppmärksamhet

Transformatorer utgör en grundläggande arkitektur inom modern AI, särskilt inom Natural Language Processing (NLP) och generativ modellering. Först introducerade i artikeln "Attention is All You Need" (Vaswani et al., 2017), överger transformatorer rekurrens till förmån för en mekanism kallad självuppmärksamhet, vilket gör det möjligt för modeller att beakta alla delar av inmatningssekvensen samtidigt.

Självuppmärksamhetsmekanism

Självuppmärksamhetsmekanismen gör det möjligt för modellen att väga vikten av olika token i en sekvens i förhållande till varandra. Detta görs med hjälp av tre matriser härledda från inbäddningarna:

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

Uppmärksamhetsutdata beräknas som:

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

Där:

  • QQ, KK och VV är matriser härledda från inmatningen.
  • dkd_k är dimensionen på nyckelvektorerna.
  • softmax\text{softmax} omvandlar likhetspoängen till sannolikheter.

Detta gör att varje token kan uppmärksamma alla andra token och justera sin representation därefter.

Översikt av transformatorarkitektur

Transformermodellen består av staplade encoder- och decoderlager:

  • Encoder omvandlar indata till en kontextualiserad latent representation;
  • Decoder genererar utdata-token med hjälp av encoderns utdata och tidigare token.

Varje lager innehåller:

  • Multi-Head Self-Attention;
  • Feedforward-neurala nätverk;
  • Lagernormalisering;
  • Residuala kopplingar.

Multi-Head Self-Attention

Istället för att beräkna en enda attention-funktion använder transformern flera attention-huvuden. Varje huvud lär sig att fokusera på olika delar 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

Där varje huvud beräknas som:

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

Där:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V är projekteringsmatriser för queries, keys och values;
  • W0W^0 projicerar de sammanfogade huvudena tillbaka till ursprunglig dimension.

Feedforward-neurala nätverk

Varje transformerblock innehåller ett positionsvis feedforward-nätverk som tillämpas oberoende på varje position:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Består av två linjära lager med en icke-linjäritet (t.ex. ReLU) emellan;
  • Tillämpas samma transformation på alla positioner.

Lagernormalisering

Lagernormalisering normaliserar indata över funktionerna (kanalerna) istället för över batchen. Detta stabiliserar träningen och förbättrar konvergensen:

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

Där:

  • μ\mu är medelvärdet av funktionerna;
  • σ\sigma är standardavvikelsen;
  • γ\gamma och β\beta är lärbara parametrar.

Residuala kopplingar

Residuala kopplingar adderar indata för varje sublager till dess utdata:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Underlättar gradientflödet och möjliggör träning av djupare modeller;
  • Används kring både självuppmärksamhets- och feedforward-lagren.

I endast-dekoder-modeller (som GPT) används endast dekodern med kausal (maskerad) självuppmärksamhet.

Generativa Förtränade Transformatorer (GPT)

GPT-modeller är endast-dekoder-transformatorer som tränas för att förutsäga nästa token på ett autoregressivt sätt:

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

Viktiga egenskaper:

  • Tränade på storskaliga textdatamängder;
  • Kan generera sammanhängande och varierad text;
  • Används ofta i applikationer som chattbottar och kodgenerering.

BERT och Maskerad Språkmodellering

BERT (Bidirectional Encoder Representations from Transformers) använder endast enkodern. Den tränas med maskerad språkmodellering (MLM):

  • Slumpmässiga token ersätts med en [MASK];
  • Modellen förutsäger den ursprungliga token baserat på full kontext.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Detta gör BERT lämplig för uppgifter som klassificering, frågor och svar samt semantisk likhet.

Transformatorer och LLM:er

Transformatorer utgör grunden för stora språkmodeller (LLM:er) såsom GPT-3, GPT-4, PaLM, LLaMA och Claude.

LLM:er använder stora datamängder och hundratals miljarder parametrar, vilket gör det möjligt för dem att:

  • Förstå och generera mänskligt språk;
  • Utföra översättning, sammanfattning, frågor och svar, resonemang;
  • Driva chattbottar, dokumentanalysatorer och kodassistenter.

Transformatorers skalbarhet och förmåga att modellera långdistansberoenden gör dem idealiska för dessa modeller.

1. Vad är den primära innovationen som introducerades av transformers?

2. Vad skiljer BERT från GPT?

3. Varför är transformers idealiska för LLM:er?

question mark

Vad är den primära innovationen som introducerades av transformers?

Select the correct answer

question mark

Vad skiljer BERT från GPT?

Select the correct answer

question mark

Varför är transformers idealiska för LLM:er?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 8
some-alt