Blog

Pareton AI-kesäalkeet

Tatu

Tatu Lahtela

Software Architect

Date

10.7.2025

AI summer

Onko olo, että ei ymmärrä yhtään, miten nykyiset AI-himmelit toimivat? 

Tässä Pareton AI-kesäalkeet, jolla pääset ehkä taas kärryille ja pidemmällekin, jos aika käy pitkäksi. Otetaan LLM, eli isot kielimallit, tarkasteluun. 

Aloita menemällä ulkoilemaan tai tuijottamaan järveä. Virkeällä mielellä kaikki on helpompaa. Itse keskityn lähinnä tähän. Palataan asiaan sitten taas elokuussa.

Vielä täällä? Aloitetaan alkeista. Miten LLM toimii? Lue Arstechnica(1) artikkeli aiheesta. Mene ja lue tuo juttu, niin kuin ihan oikeasti, ja tule sitten takaisin. Toivottavasti sen jälkeen sinulla on jonkinlainen käsitys peruskäsitteistä, kuten vektorit, muuntajat (transformer), muuntajien aliosat kuten huomio-mekanismi (attention) eli mikä liittyy mihinkin, seuraavan sanan todennäköisyyslaskenta (feed-forward), joka laskee todennäköisyydet seuraavalle sanalle jne. Mikäli jokin osa meni yli hilseen, mene ChatGPT:hen, Geminiin, Copilottiin ja kysy tarkennusta. Mallit osaavat itse selittää oman toimintansa oikein hyvin.

Yksinkertaistettuna kielimallit on siis luotu plaraamalla miljoonia ja miljoonia sivuja tekstiä, kuvia ja ääntä ja muodostaa niistä valtavan yhteyksien verkon. Mieti sitä “kaikki liittyy kaikkeen” -meemiukkoa(2) fläppitaululla. LLM on se ukko ja taulu. Fläppitaululla on kaikki sanat jossain kohtaa (ja sanan lähistöllä on siihen liittyvät toiset sanat).  

Kun kysyt jotain, esimerkiksi “Pekka pelaa koiraa. Mitä Pekka tekee?” Mitä tapahtuu? Kielimalli alkaa useammassa muuntajakerroksessa päättelemään - siis etsimään todennäköisintä seuraavaa sanaa - mitä kysytään ja mitä halutaan takaisin. Yksi kerros huolehtii, että oikeinkirjoitus menee oikein. Toinen, että puhutaan koirista. Kolmas liittää sanan “pelaa” sanaan koira, eli varmaan ei puhuta elävästä koirasta vaan jostain muusta. Neljäs huomaa, että Wikipediasta löytyy peli nimeltä koira(3). Monen kerroksen läpi mentyä lopputuloksena yksi sana, joka on mallin mielestä todennäköisesti hyvä vastaus alkusyötteeseen, esimerkiksi “Pekka”. Sitten, kun sana on vastauksessa, vastaus syötetään malliin takaisin ja prosessi alkaa alusta. Mallista voisi tulla vaikka seuraavaksi “pelaa” “korttipeliä” ja lopuksi “.”.

Malli ei “osaa” suomea - kieliopillisesti oikean näköinen lause on vain todennäköisin vastaus sarjasta sanoja. Tämä toimii hämmästyttävän hyvin, mutta tätä luonnetta ei voi unohtaa - sen tuottama vastaus on aina todennäköisyyksiä. Eli vastaus voi olla myös satua. Kuten tässä tapauksessa - ChatGPT vastasi “Pekka matkii tai esittää koiraa leikillään tai esityksessä.”  Tehtävänanto oli epäilemättä epämääräinen, joten samaa oli vastauskin.

Kielimallit on siis malleja, jotka voidaan tiivistää yhteen tiedostoon kovalevylläsi. Voit ladata malleja vaikka Ollama(4):sta. Ohjeet omalla koneella ajeluun vaikka tästä(5). Mitä isompi ja älykkäämpi malli sen enemmän se vaatii koneeltasi vääntöä - ennen kaikkea näytönohjaimen muistia. Muuten saat odotella seuraavaa ehdotettua sanaa varsin pitkään. Mutta pienetkin mallit, joita voi omalla koneella hyvinkin ajaa, toimivat jo oikein hyvin vaikkapa puheen muuntamiseksi tekstiksi.

Teknisempi loppulisäys: Yllä oleva juttu jättää oleellisen osan - tokenisoijan - välistä. Siihen kannattaa kyllä tutustua heti seuraavaksi esimerkiksi ChristopherGS(6) jutusta. Juttu on jo varsin tekninen, mutta avaa hyvin, miten tietokoneelle sanat näyttäytyvät oikeasti sanan osina (token). Mitä tästä tokenisoijasta siis seuraa? Kielimallit eivät näe kokonaisia sanoja, vaan sanan osia ja voivat hukata oleellisia yksityiskohtia.

Klassinen esimerkki on “how many rs are there in strawberry (*)”, mutta nykymallit on tämän erikseen opetellut. Tämän parantamiseen nykyiset mallien kehittäjät ovat tehneet paljon hommia, mutta asia kannattaa tiedostaa.

Linkit:

  1. https://arstechnica.com/science/2023/07/a-jargon-free-explanation-of-how-ai-large-language-models-work/
  2. https://knowyourmeme.com/memes/pepe-silvia
  3. https://fi.wikipedia.org/wiki/Koira_(korttipeli)
  4. https://ollama.com/library
  5. https://www.kdnuggets.com/ollama-tutorial-running-llms-locally-made-super-simple
  6. https://christophergs.com/blog/understanding-llm-tokenization 

Haluatko kuulla lisää? Ota yhteyttä!