Suurten kielimallien (LLM) arkkitehtuuri

Transformer-arkkitehtuuri: Nykyaikaisten LLM:ien perusta

Transformer-arkkitehtuuri edustaa perustavanlaatuista läpimurtoa luonnollisen kielen käsittelyssä ja muodostaa kaikkien nykyaikaisten suurten kielimallien (LLM) perustan. Toisin kuin aiemmat rekurrentteihin (RNN) tai konvoluutioverkkoihin (CNN) perustuvat lähestymistavat, transformerit hyödyntävät niin sanottua huomiomekanismia (attention mechanism), joka mahdollistaa pitkän aikavälin riippuvuuksien tehokkaan sieppaamisen tekstissä ilman sekventiaalista käsittelyä. Tämä arkkitehtoninen perusta on avainasemassa tehokkaalle kielimallien koulutusprosessille.

Transformer-arkkitehtuurin keskeinen ominaisuus on sen rinnakkaistettavuus – kaikki syötesekvenssin tokenit voidaan käsitellä samanaikaisesti, mikä nopeuttaa dramaattisesti sekä koulutusta että päättelyä (inferenssi). Standardi transformer koostuu enkooderista (koodausosa) ja dekooderista (dekoodausosa), joista nykyaikaiset LLM:t, kuten GPT, käyttävät pääasiassa vain dekooderiin perustuvaa arkkitehtuuria, kun taas BERTin kaltaiset mallit perustuvat vain enkooderiin. T5- tai BART-tyyppiset mallit hyödyntävät täydellistä enkooderi-dekooderi-arkkitehtuuria.

Transformer-mallien tekniset tiedot

Nykyaikaiset LLM:t, kuten GPT-4, Claude tai Llama 2, toteuttavat syviä transformer-arkkitehtuureja, joissa on kymmeniä tai jopa satoja kerroksia. Jokainen kerros (layer) käsittelee tietoa monipäisten huomiomekanismien (multi-head attention) ja eteenpäin syöttävien neuroverkkojen (feed-forward) avulla. Mallin suorituskyky määräytyy suurelta osin parametrien (painojen) lukumäärän perusteella, joka vaihtelee pienempien mallien muutamasta miljardista aina satoihin miljardeihin tai jopa biljooniin suurimmissa järjestelmissä.

Itsehuomiomekanismit (Self-attention) ja niiden toteutus

Itsehuomio (Self-attention, joskus kutsutaan myös skaalatuksi pistetulohuomioksi, scaled dot-product attention) on transformer-arkkitehtuurin keskeinen komponentti. Tämä mekanismi mahdollistaa mallin arvioida suhteita ja riippuvuuksia kaikkien sekvenssin tokenien välillä ja dynaamisesti määrittää, mihin tekstin osiin keskittyä tietyn sanan tai lausekkeen tulkinnassa.

Teknisestä näkökulmasta itsehuomio muuntaa jokaisen tokenin kolmeksi eri vektoriksi: kysely (Query, Q), avain (Key, K) ja arvo (Value, V). Seuraava huomiolaskenta sisältää Q- ja K-matriisien kertolaskun, tuloksen skaalauksen, softmax-funktion soveltamisen huomiopainojen saamiseksi ja lopuksi kertolaskun V-matriisin kanssa kontekstirikkaan esitysmuodon saamiseksi. Matemaattisesti tämä prosessi voidaan ilmaista yhtälöllä:

Attention(Q, K, V) = softmax(QKT / √dk)V

Monipäinen huomio (Multi-head attention)

Nykyaikaiset LLM:t hyödyntävät niin sanottua monipäistä huomiota (multi-head attention), joka mahdollistaa mallin seurata samanaikaisesti erilaisia suhteita tekstissä. Esimerkiksi yksi huomiopää (attention head) voi seurata syntaktisia suhteita, kun taas toinen keskittyy semanttiseen samankaltaisuuteen tai koreferenssisuhteisiin. Huomiopäiden lukumäärä on tärkeä hyperparametri, joka tyypillisesti vaihtelee pienempien mallien 12:sta aina 96:een tai useampaan suurimmissa järjestelmissä. Jokainen pää toimii alkuperäistä upotusvektoria (embedding vector) matalammassa ulottuvuudessa, mikä varmistaa laskennallisen tehokkuuden säilyttäen samalla mallin ilmaisukyvyn.

Upotusulottuvuus (Embedding dimension) ja tokenien esitysmuodot

Upotusulottuvuus (embedding dimension) on keskeinen hyperparametri, joka määrittää yksittäisten tokenien vektoriesityksen koon kielimallissa. Nykyaikaisissa LLM:issä tämä arvo vaihtelee tyypillisesti pienempien mallien 768:sta aina 12288:aan tai suurempaan suurimmissa järjestelmissä. Suurempi upotusulottuvuus mahdollistaa hienovaraisempien semanttisten vivahteiden ja monimutkaisempien kielellisten suhteiden sieppaamisen, mutta samalla se lisää laskennallista vaativuutta ja mallin parametrien määrää.

Tokenien muuntaminen upotuksiksi sisältää hakutaulukon (lookup table), jossa jokaista mahdollista tokenia vastaa ainutlaatuinen upotusvektori. Näitä alkuperäisiä upotuksia rikastetaan edelleen sijaintitiedoilla niin sanottujen sijaintiupotusten (positional embeddings) avulla, jotka voidaan toteuttaa joko opittavina parametreina tai determinististen sinimuotoisten funktioiden avulla.

Upotusten kontekstikapasiteetti

Tärkeä näkökohta LLM:ien upotuksissa on niiden kontekstikapasiteetti, eli kyky säilyttää tietoa tokenien välisistä suhteista pitkien sekvenssien yli. Nykyaikaiset mallit, kuten GPT-4 tai Claude 3 Opus, saavuttavat 32 000–128 000 tokenin kokoisia konteksti-ikkunoita, mikä mahdollistaa pitkien asiakirjojen, monimutkaisten keskustelujen tai kehittyneiden ohjeiden käsittelyn. Sijaintiupotusten oikea toteutus on kriittistä konteksti-ikkunan tehokkaalle skaalaukselle, ja edistyneet mallit hyödyntävät tekniikoita, kuten RoPE (Rotary Position Embedding) tai ALiBi (Attention with Linear Biases), parantaakseen suorituskykyä pitkillä sekvensseillä.

Eteenpäin syöttävät neuroverkot (Feed-forward) LLM:issä

Eteenpäin syöttävät neuroverkot (Feed-forward neural networks, FFN) muodostavat jokaisen transformer-kerroksen toisen pääkomponentin itsehuomiomekanismin jälkeen. Kun huomio sieppaa tokenien välisiä suhteita, FFN käsittelee tietoa jokaiselle tokenille erikseen ja soveltaa epälineaarisia muunnoksia, jotka ovat avainasemassa mallin ilmaisukyvyn kannalta.

Tyypillinen FFN-toteutus transformerissa sisältää kaksi lineaarista muunnosta, joiden välissä on aktivointifunktio (yleisimmin ReLU tai GELU). Matemaattisesti tämä prosessi voidaan ilmaista seuraavasti:

FFN(x) = Linear2(Activation(Linear1(x)))

FFN:n parametrointi ja optimointi

Arkkitehtuurin kannalta keskeinen FFN-parametri on niin sanottu piiloulottuvuus (hidden dimension), joka määrittää välituloksen koon ensimmäisen lineaarisen muunnoksen jälkeen. Tämä arvo on tyypillisesti 4 kertaa suurempi kuin upotusulottuvuus, mikä varmistaa riittävän kapasiteetin monimutkaisten kuvioiden sieppaamiseen. Nykyaikaisissa arkkitehtuureissa, kuten PaLM tai Chinchilla, kokeillaan vaihtoehtoisia konfiguraatioita, mukaan lukien SwiGLU- tai GeGLU-aktivoinnit ja asiantuntijoiden sekoitus (mixtures-of-experts) -lähestymistavat, jotka parantavat edelleen FFN-komponenttien tehokkuutta.

Mielenkiintoinen näkökohta FFN-komponenteissa on, että ne muodostavat suurimman osan nykyaikaisten LLM:ien parametreista – tyypillisesti 60–70 % kaikista painoista. Tämä tekee niistä ensisijaisia ehdokkaita optimointitekniikoille, kuten karsinnalle (pruning, tarpeettomien painojen poistaminen), kvantisoinnille tai matalan asteen approksimaatiolle (low-rank approximation) tapauksissa, joissa mallin muistivaatimuksia on tarpeen vähentää.

Mallin kvantisointi ja muut optimointitekniikat

Kvantisointi on keskeinen optimointitekniikka, joka mahdollistaa LLM:ien muistivaatimusten vähentämisen säilyttäen suurimman osan niiden kyvyistä. Periaate perustuu mallin parametrien muuntamiseen korkeasta tarkkuudesta (tyypillisesti 32-bittiset liukuluvut) matalampaan tarkkuuteen (16-bittinen, 8-bittinen tai jopa 4-bittinen esitysmuoto). Oikein toteutettu kvantisointi voi pienentää mallin kokoa jopa 8-kertaisesti minimaalisella vaikutuksella vastausten laatuun.

Nykyaikaiset lähestymistavat, kuten GPTQ, AWQ tai QLoRA, toteuttavat kehittyneitä kvantisointialgoritmeja, jotka optimoivat prosessin painojen tilastollisten ominaisuuksien ja niiden tärkeyden perusteella mallin tarkkuudelle. Koulutuksen jälkeinen kvantisointi (Post-training quantization, PTQ) soveltaa pakkausta jo koulutettuun malliin, kun taas kvantisointitietoinen koulutus (quantization-aware training, QAT) integroi kvantisointinäkökohtia suoraan koulutusprosessiin.

Muut optimointitekniikat

Kvantisoinnin lisäksi nykyaikaiset LLM:t hyödyntävät useita muita optimointitekniikoita:

Mallin karsinta (Model pruning) - vähemmän tärkeiden painojen tai kokonaisten mallikomponenttien systemaattinen poistaminen niiden vaikutuksen perusteella lopputuloksen suorituskykyyn

Tiedon tislaus (Knowledge distillation) - pienemmän "opiskelija"-mallin kouluttaminen jäljittelemään suuremman "opettaja"-mallin käyttäytymistä

Matalan asteen adaptaatio (Low-rank adaptation) - valittujen mallikomponenttien muokkaaminen matalan asteen matriiseilla, mikä mahdollistaa tehokkaan hienosäädön (fine-tuning) minimaalisilla muistivaatimuksilla

Harva huomio (Sparse attention) - huomiomekanismien toteutus, joiden ei tarvitse arvioida suhteita kaikkien tokenien välillä, vaan ne keskittyvät vain potentiaalisesti relevantteihin pareihin

Mallin jakaminen (Model sharding) ja hajautettu käsittely

Mallin jakaminen (Model sharding) on tekniikka suurten kielimallien parametrien ja laskennan jakamiseksi useille laskentalaitteille (GPU/TPU), mikä mahdollistaa sellaisten mallien tehokkaan koulutuksen ja käyttöönoton, jotka ovat liian suuria mahtuakseen yhden kiihdyttimen muistiin. Jakamiseen on neljä pääasiallista lähestymistapaa, joilla kullakin on omat etunsa ja rajoituksensa.

Tensoriparallellisuus (Tensor Parallelism) jakaa yksittäiset matriisit ja tensorit segmentteihin, jotka käsitellään samanaikaisesti eri laitteilla. Tämä lähestymistapa minimoi viestinnän aiheuttaman yleiskustannuksen, mutta vaatii nopeita yhteyksiä kiihdyttimien välillä.

Liukuhihnaparallellisuus (Pipeline Parallelism) jakaa kokonaisia mallikerroksia eri laitteille, jotka käsittelevät dataa peräkkäin liukuhihnan tavoin. Tämä lähestymistapa hyödyntää muistia tehokkaasti, mutta voi johtaa laitteiden epätasaiseen kuormitukseen.

Edistyneet jakelustrategiat

3D-parallellisuus (3D Parallelism) yhdistää tensori- ja liukuhihnaparallellisuuden dataparallellismiin (eri eränäytteiden käsittely eri laitteilla), mikä mahdollistaa käytettävissä olevien laskentaresurssien maksimaalisen hyödyntämisen erittäin suurten mallien koulutuksessa.

ZeRO (Zero Redundancy Optimizer) poistaa redundanssin optimointitilojen, gradienttien ja malliparametrien tallennuksessa GPU:iden välillä. ZeRO-3, edistynein variantti, jakaa mallin yksittäiset parametrit siten, että kukin GPU tallentaa vain pienen osan koko mallista, mikä mahdollistaa useiden miljardien parametrien mallien kouluttamisen jopa suhteellisen rajallisilla laitteistojärjestelmillä.

Tehokkaiden jakamisstrategioiden toteutus vaatii erikoistuneita kehyksiä, kuten DeepSpeed, Megatron-LM tai Mesh TensorFlow, jotka automatisoivat jakelun ja synkronoinnin monimutkaisia näkökohtia. Nämä kehykset toteuttavat usein lisäoptimointeja, kuten gradientin tarkistuspisteet (gradient checkpointing), sekatarkkuuskoulutuksen (mixed-precision training) tai aktivoinnin uudelleenlaskennan (activation recomputation) tehokkuuden parantamiseksi ja muistivaatimusten vähentämiseksi.

Nykyaikaisten kielimallien arkkitehtuurien vertailu

Nykyaikaisten LLM:ien väliset arkkitehtoniset erot ovat avainasemassa niiden kyvykkyyksien, tehokkuuden ja soveltuvuuden kannalta eri sovelluksiin. Vaikka kaikki hyödyntävät transformer-perustaa, yksittäisten komponenttien toteutuksessa on merkittäviä vaihteluita, jotka vaikuttavat niiden suorituskykyyn ja ominaisuuksiin.

GPT-arkkitehtuuri (Generative Pre-trained Transformer) käyttää vain dekooderiin perustuvaa lähestymistapaa autoregressiivisellä tekstin generoinnilla, mikä tekee siitä ihanteellisen generatiivisiin tehtäviin. Uudemmat versiot, kuten GPT-4, toteuttavat edistyneitä tekniikoita sekä arkkitehtuuritasolla (suurempi konteksti-ikkuna, multimodaaliset syötteet) että koulutustasolla (RLHF, konstitutiiviset lähestymistavat).

PaLM-arkkitehtuuri (Pathways Language Model) Googlesta esitteli innovaatioita, kuten SwiGLU-aktivoinnit, monikyselyhuomion (multi-query attention) ja skaalatun RoPE:n, mikä mahdollisti tehokkaamman skaalautumisen satoihin miljardeihin parametreihin. Gemini, PaLM:n seuraaja, integroi edelleen multimodaalisia kykyjä suoraan mallin arkkitehtuuriin.

Erikoistuneet arkkitehtuurit ja uudet lähestymistavat

Asiantuntijoiden sekoitukset (Mixture of Experts, MoE), kuten Mixtral, edustavat hybridilähestymistapaa, jossa kukin tokeni käsitellään vain erikoistuneiden "asiantuntija"-verkkojen osajoukolla. Tämä tekniikka mahdollistaa mallin parametrien määrän dramaattisen kasvattamisen säilyttäen samalla samankaltaisen laskennallisen vaativuuden päättelyn aikana.

Tila-avaruusmallit (State-space models), kuten Mamba, edustavat potentiaalista vaihtoehtoa transformereille, yhdistäen rekurrenttien ja konvoluutiolähestymistapojen edut lineaariseen skaalautuvuuteen sekvenssin pituuden suhteen. Nämä mallit ovat erityisen lupaavia erittäin pitkien kontekstien (100 000+ tokenia) käsittelyyn.

Valittaessa arkkitehtuuria tiettyyn sovellukseen on harkittava kompromisseja tarkkuuden, laskennallisen tehokkuuden, muistivaatimusten ja erityiskykyjen, kuten pitkäkestoisen muistin tai multimodaalisen käsittelyn, välillä. Uusin tutkimus keskittyy hybridilähestymistapoihin, jotka yhdistävät eri arkkitehtuurien vahvuuksia, sekä tekniikoihin, kuten tiedonhakuun perustuvaan generointiin (retrieval-augmented generation), jotka laajentavat mallien kykyjä eksplisiittisellä pääsyllä ulkoiseen tietoon.

Explicaire-tiimi
Explicairen ohjelmistoasiantuntijoiden tiimi

Tämän artikkelin on luonut Explicairen tutkimus- ja kehitystiimi. Explicaire on erikoistunut edistyneiden teknologisten ohjelmistoratkaisujen, mukaan lukien tekoälyn, toteuttamiseen ja integrointiin yritysprosesseihin. Lisätietoja yrityksestämme.