Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Transformereihin Perustuvat Generatiiviset Mallit | Osio
Generatiivinen Syväoppiminen

Transformereihin Perustuvat Generatiiviset Mallit

Pyyhkäise näyttääksesi valikon

Johdatus Transformereihin ja Itsehuomiointiin

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 ym., 2017), jossa perinteinen rekursiivisuus korvattiin mekanismilla nimeltä itsehuomiointi (self-attention), jonka avulla malli voi tarkastella kaikkia syötteen osia samanaikaisesti.

Itsehuomiointimekanismi

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

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

Huomioinnin 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 päällekkäisistä kooderin ja dekooderin kerroksista:

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

Jokainen kerros sisältää:

  • Monipäinen itsehuomio (Multi-Head Self-Attention);
  • Syötteestä syötteeseen -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 projektiomatriisit;
  • 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 koulutuksen 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 kausaalisella (maskatulla) itsehuomiolla.

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):

  • Satunnaiset tokenit 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ä sopivan luokitteluun, kysymys-vastaus-tehtäviin ja semanttiseen samankaltaisuuteen.

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, dokumenttianalysaattoreiden 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?

Valitse oikea vastaus

question mark

Mikä erottaa BERT:n GPT:stä?

Valitse oikea vastaus

question mark

Miksi transformerit soveltuvat erinomaisesti LLM-malleihin?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 9

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Transformereihin Perustuvat Generatiiviset Mallit

Johdatus Transformereihin ja Itsehuomiointiin

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 ym., 2017), jossa perinteinen rekursiivisuus korvattiin mekanismilla nimeltä itsehuomiointi (self-attention), jonka avulla malli voi tarkastella kaikkia syötteen osia samanaikaisesti.

Itsehuomiointimekanismi

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

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

Huomioinnin 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 päällekkäisistä kooderin ja dekooderin kerroksista:

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

Jokainen kerros sisältää:

  • Monipäinen itsehuomio (Multi-Head Self-Attention);
  • Syötteestä syötteeseen -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 projektiomatriisit;
  • 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 koulutuksen 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 kausaalisella (maskatulla) itsehuomiolla.

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):

  • Satunnaiset tokenit 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ä sopivan luokitteluun, kysymys-vastaus-tehtäviin ja semanttiseen samankaltaisuuteen.

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, dokumenttianalysaattoreiden ja koodiavustajien toteutuksen.

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

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 9
some-alt