Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Transformer-Pohjaiset Generatiiviset Mallit | Teoreettiset Perusteet
Generatiivinen Tekoäly

bookTransformer-Pohjaiset Generatiiviset Mallit

Johdatus transformereihin ja itsehuomioon

Transformerit ovat keskeinen arkkitehtuuri nykyaikaisessa tekoälyssä, erityisesti luonnollisen kielen käsittelyssä (NLP) ja generatiivisessa mallinnuksessa. Transformer-arkkitehtuuri esiteltiin ensimmäisen kerran artikkelissa "Attention is All You Need" (Vaswani et al., 2017), jossa perinteinen rekursiivisuus korvattiin mekanismilla nimeltä itsehuomio (self-attention). Tämä mahdollistaa sen, että malli voi tarkastella kaikkia syötteen osia samanaikaisesti.

Itsehuomiomekanismi

Itsehuomiomekanismi mahdollistaa mallin arvioida eri tokenien merkitystä suhteessa toisiinsa sekvenssissä. Tämä toteutetaan kolmella matriisilla, jotka johdetaan syöteupotuksista:

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

Huomion (attention) tulos lasketaan seuraavasti:

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

Missä:

  • QQ, KK ja VV ovat syötteestä johdettuja matriiseja.
  • dkd_k on avainvektorien dimensio.
  • softmax\text{softmax} muuntaa samankaltaisuuspisteet todennäköisyyksiksi.

Tämän ansiosta jokainen token voi kiinnittää huomiota kaikkiin muihin tokeneihin ja mukauttaa omaa esitystään niiden perusteella.

Yleiskatsaus transformer-arkkitehtuuriin

Transformer-malli koostuu pinoitetuista kooderi- ja dekooderikerroksista:

  • Kooderi muuntaa syötteen kontekstuaaliseksi latentiksi esitykseksi;
  • Dekooderi tuottaa ulostulotokeneita käyttäen kooderin tuottamaa esitystä ja aiempia tokeneita.

Jokainen kerros sisältää:

  • Monipäinen itsehuomio (Multi-Head Self-Attention);
  • Syötteestä ulostuloon -neuroverkot (Feedforward Neural Networks);
  • Kerroksen normalisointi (Layer Normalization);
  • Jäännösyhteydet (Residual Connections).

Monipäinen itsehuomio (Multi-Head Self-Attention)

Sen sijaan, että laskettaisiin vain yksi huomiofunktio, transformer käyttää useita huomio-päitä. Jokainen pää oppii keskittymään eri osiin sekvenssiä.

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

Missä kukin pää lasketaan seuraavasti:

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

Missä:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V ovat kyselyiden, avainten ja arvojen projektiomatriiseja;
  • W0W^0 projisoi yhdistetyt päät takaisin alkuperäiseen ulottuvuuteen.

Syötteestä syötteeseen -neuroverkot

Jokainen transformer-lohko sisältää sijaintikohtaisen syötteestä syötteeseen -verkon, joka sovelletaan itsenäisesti jokaiseen sijaintiin:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Koostuu kahdesta lineaarisesta kerroksesta, joiden välissä on epälineaarisuus (esim. ReLU);
  • Soveltaa samaa muunnosta kaikkiin sijainteihin.

Kerrosnormalisointi

Kerrosnormalisointi normalisoi syötteen ominaisuuksien (kanavien) yli erän sijaan. Se vakauttaa koulutusta ja parantaa konvergenssia:

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

Missä:

  • μ\mu on ominaisuuksien keskiarvo;
  • σ\sigma on keskihajonta;
  • γ\gamma ja β\beta ovat opittavia parametreja.

Jäännösyhteydet

Jäännösyhteydet lisäävät jokaisen alikerroksen syötteen sen ulostuloon:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Auttaa gradientin kulussa ja mahdollistaa syvempien mallien koulutuksen;
  • Käytetään sekä itsehuomio- että syötteestä syötteeseen -kerrosten ympärillä.

Vain dekooderia käyttävissä malleissa (kuten GPT) käytetään vain dekooderia kausaalisen (maskatun) itsehuomion kanssa.

Generatiiviset esikoulutetut transformerit (GPT)

GPT-mallit ovat vain dekooderia käyttäviä transformereita, jotka on koulutettu ennustamaan seuraava token autoregressiivisesti:

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

Keskeiset ominaisuudet:

  • Koulutettu laajoilla tekstiaineistoilla;
  • Pystyy tuottamaan johdonmukaista ja monipuolista tekstiä;
  • Laajasti käytössä sovelluksissa, kuten keskusteluroboteissa ja koodin generoinnissa.

BERT ja maskattu kielimallinnus

BERT (Bidirectional Encoder Representations from Transformers) käyttää ainoastaan enkooderia. Se koulutetaan maskatulla kielimallinnuksella (MLM):

  • Satunnaisia tokeneita korvataan [MASK]-tokenilla;
  • Malli ennustaa alkuperäisen tokenin koko kontekstin perusteella.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Tämä tekee BERTistä soveltuvan tehtäviin, kuten luokittelu, kysymys-vastaus ja semanttinen samankaltaisuus.

Transformerit ja LLM:t

Transformerit muodostavat perustan suurille kielimalleille (LLM), kuten GPT-3, GPT-4, PaLM, LLaMA ja Claude.

LLM:t hyödyntävät laajoja aineistoja ja satoja miljardeja parametreja, mikä mahdollistaa:

  • Ihmiskielen ymmärtämisen ja tuottamisen;
  • Käännöksen, tiivistämisen, kysymys-vastaus -tehtävät, päättelyn;
  • Keskustelurobottien, dokumenttianalysaattorien ja koodiavustajien toteutuksen.

Transformereiden skaalautuvuus ja kyky mallintaa pitkän kantaman riippuvuuksia tekevät niistä ihanteellisia näihin malleihin.

1. Mikä on transformereiden keskeinen innovaatio?

2. Mikä erottaa BERT:n GPT:stä?

3. Miksi transformerit soveltuvat erinomaisesti LLM-malleihin?

question mark

Mikä on transformereiden keskeinen innovaatio?

Select the correct answer

question mark

Mikä erottaa BERT:n GPT:stä?

Select the correct answer

question mark

Miksi transformerit soveltuvat erinomaisesti LLM-malleihin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 8

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 4.76

bookTransformer-Pohjaiset Generatiiviset Mallit

Pyyhkäise näyttääksesi valikon

Johdatus transformereihin ja itsehuomioon

Transformerit ovat keskeinen arkkitehtuuri nykyaikaisessa tekoälyssä, erityisesti luonnollisen kielen käsittelyssä (NLP) ja generatiivisessa mallinnuksessa. Transformer-arkkitehtuuri esiteltiin ensimmäisen kerran artikkelissa "Attention is All You Need" (Vaswani et al., 2017), jossa perinteinen rekursiivisuus korvattiin mekanismilla nimeltä itsehuomio (self-attention). Tämä mahdollistaa sen, että malli voi tarkastella kaikkia syötteen osia samanaikaisesti.

Itsehuomiomekanismi

Itsehuomiomekanismi mahdollistaa mallin arvioida eri tokenien merkitystä suhteessa toisiinsa sekvenssissä. Tämä toteutetaan kolmella matriisilla, jotka johdetaan syöteupotuksista:

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

Huomion (attention) tulos lasketaan seuraavasti:

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

Missä:

  • QQ, KK ja VV ovat syötteestä johdettuja matriiseja.
  • dkd_k on avainvektorien dimensio.
  • softmax\text{softmax} muuntaa samankaltaisuuspisteet todennäköisyyksiksi.

Tämän ansiosta jokainen token voi kiinnittää huomiota kaikkiin muihin tokeneihin ja mukauttaa omaa esitystään niiden perusteella.

Yleiskatsaus transformer-arkkitehtuuriin

Transformer-malli koostuu pinoitetuista kooderi- ja dekooderikerroksista:

  • Kooderi muuntaa syötteen kontekstuaaliseksi latentiksi esitykseksi;
  • Dekooderi tuottaa ulostulotokeneita käyttäen kooderin tuottamaa esitystä ja aiempia tokeneita.

Jokainen kerros sisältää:

  • Monipäinen itsehuomio (Multi-Head Self-Attention);
  • Syötteestä ulostuloon -neuroverkot (Feedforward Neural Networks);
  • Kerroksen normalisointi (Layer Normalization);
  • Jäännösyhteydet (Residual Connections).

Monipäinen itsehuomio (Multi-Head Self-Attention)

Sen sijaan, että laskettaisiin vain yksi huomiofunktio, transformer käyttää useita huomio-päitä. Jokainen pää oppii keskittymään eri osiin sekvenssiä.

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

Missä kukin pää lasketaan seuraavasti:

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

Missä:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V ovat kyselyiden, avainten ja arvojen projektiomatriiseja;
  • W0W^0 projisoi yhdistetyt päät takaisin alkuperäiseen ulottuvuuteen.

Syötteestä syötteeseen -neuroverkot

Jokainen transformer-lohko sisältää sijaintikohtaisen syötteestä syötteeseen -verkon, joka sovelletaan itsenäisesti jokaiseen sijaintiin:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Koostuu kahdesta lineaarisesta kerroksesta, joiden välissä on epälineaarisuus (esim. ReLU);
  • Soveltaa samaa muunnosta kaikkiin sijainteihin.

Kerrosnormalisointi

Kerrosnormalisointi normalisoi syötteen ominaisuuksien (kanavien) yli erän sijaan. Se vakauttaa koulutusta ja parantaa konvergenssia:

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

Missä:

  • μ\mu on ominaisuuksien keskiarvo;
  • σ\sigma on keskihajonta;
  • γ\gamma ja β\beta ovat opittavia parametreja.

Jäännösyhteydet

Jäännösyhteydet lisäävät jokaisen alikerroksen syötteen sen ulostuloon:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Auttaa gradientin kulussa ja mahdollistaa syvempien mallien koulutuksen;
  • Käytetään sekä itsehuomio- että syötteestä syötteeseen -kerrosten ympärillä.

Vain dekooderia käyttävissä malleissa (kuten GPT) käytetään vain dekooderia kausaalisen (maskatun) itsehuomion kanssa.

Generatiiviset esikoulutetut transformerit (GPT)

GPT-mallit ovat vain dekooderia käyttäviä transformereita, jotka on koulutettu ennustamaan seuraava token autoregressiivisesti:

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

Keskeiset ominaisuudet:

  • Koulutettu laajoilla tekstiaineistoilla;
  • Pystyy tuottamaan johdonmukaista ja monipuolista tekstiä;
  • Laajasti käytössä sovelluksissa, kuten keskusteluroboteissa ja koodin generoinnissa.

BERT ja maskattu kielimallinnus

BERT (Bidirectional Encoder Representations from Transformers) käyttää ainoastaan enkooderia. Se koulutetaan maskatulla kielimallinnuksella (MLM):

  • Satunnaisia tokeneita korvataan [MASK]-tokenilla;
  • Malli ennustaa alkuperäisen tokenin koko kontekstin perusteella.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Tämä tekee BERTistä soveltuvan tehtäviin, kuten luokittelu, kysymys-vastaus ja semanttinen samankaltaisuus.

Transformerit ja LLM:t

Transformerit muodostavat perustan suurille kielimalleille (LLM), kuten GPT-3, GPT-4, PaLM, LLaMA ja Claude.

LLM:t hyödyntävät laajoja aineistoja ja satoja miljardeja parametreja, mikä mahdollistaa:

  • Ihmiskielen ymmärtämisen ja tuottamisen;
  • Käännöksen, tiivistämisen, kysymys-vastaus -tehtävät, päättelyn;
  • Keskustelurobottien, dokumenttianalysaattorien ja koodiavustajien toteutuksen.

Transformereiden skaalautuvuus ja kyky mallintaa pitkän kantaman riippuvuuksia tekevät niistä ihanteellisia näihin malleihin.

1. Mikä on transformereiden keskeinen innovaatio?

2. Mikä erottaa BERT:n GPT:stä?

3. Miksi transformerit soveltuvat erinomaisesti LLM-malleihin?

question mark

Mikä on transformereiden keskeinen innovaatio?

Select the correct answer

question mark

Mikä erottaa BERT:n GPT:stä?

Select the correct answer

question mark

Miksi transformerit soveltuvat erinomaisesti LLM-malleihin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 8
some-alt