Tekoälyn sanasto aloittelijalle
Tekoälystä puhuttaessa vastaan tulee nopeasti termejä kuten LLM, prompti, token, konteksti, RAG, agentti ja MCP. Osa termeistä kuulostaa teknisiltä, vaikka niiden perusidea on lopulta melko yksinkertainen.
Tässä tekoälyn sanastossa käydään läpi tärkeimpiä termejä ilman turhaa teknistä sanastoa. Tavoitteena ei ole selittää kaikkia yksityiskohtia, vaan antaa käsitys siitä, mitä eri termit tarkoittavat ja miten ne liittyvät toisiinsa.
Neuroverkko
Neuroverkko on koneoppimismalli, jonka rakenne on saanut inspiraationsa biologisista hermoverkoista.
Neuroverkko koostuu suuresta määrästä laskennallisia yksiköitä, joita kutsutaan usein neuroneiksi. Ne käsittelevät saamiaan arvoja ja välittävät tuloksia verkon seuraaville osille.
Yksittäinen neuroni tekee varsin yksinkertaisen laskutoimituksen. Kun niitä yhdistetään valtavia määriä ja verkkoa koulutetaan suurella aineistolla, järjestelmä voi kuitenkin oppia tunnistamaan hyvinkin monimutkaisia rakenteita.
Neuroverkkoja käytetään esimerkiksi kuvien tunnistamiseen, puheen käsittelyyn, ennustamiseen ja tekstin tuottamiseen.
Myös nykyiset suuret kielimallit perustuvat neuroverkkoihin.
Transformer
Transformer on neuroverkon arkkitehtuuri, johon suurin osa nykyisistä suurista kielimalleista perustuu.
Transformer esiteltiin vuonna 2017, ja yksi sen keskeisistä ideoista on niin sanottu attention, eli huomiomekanismi.
Sen avulla malli voi arvioida, mitkä tekstin osat ovat olennaisia toistensa kannalta.
Esimerkiksi lauseessa:
Matti laittoi puhelimen pöydälle, koska hän ei enää tarvinnut sitä.
mallin täytyy ymmärtää, mihin sanat ”hän” ja ”sitä” viittaavat. Huomiomekanismi auttaa mallia muodostamaan tällaisia yhteyksiä tekstin eri osien välille.
Transformer-arkkitehtuurin ansiosta neuroverkkoja on pystytty kouluttamaan erittäin suurilla tekstimäärillä. Tämä on yksi tärkeimmistä nykyisten kielimallien kehityksen mahdollistaneista tekniikoista.
LLM
LLM tulee sanoista Large Language Model, eli suuri kielimalli.
LLM on tekoälymalli, joka on koulutettu käsittelemään ja tuottamaan kieltä. Esimerkiksi ChatGPT:n kaltaisten palveluiden taustalla toimii yksi tai useampi kielimalli.
Kielimalli ei käsittele tekstiä samalla tavalla kuin ihminen. Yksinkertaistettuna se ennustaa saamansa tekstin perusteella, mikä olisi sopiva jatko.
Jos kirjoitat:
Suomen pääkaupunki on…
malli pystyy päättelemään, että hyvin todennäköinen jatko on Helsinki.
Sama perusperiaate toimii myös huomattavasti monimutkaisemmissa tehtävissä.
Suuret kielimallit voivat esimerkiksi kirjoittaa tekstiä, tiivistää dokumentteja, kääntää kieliä, ohjelmoida, analysoida aineistoa ja keskustella käyttäjän kanssa.
LLM ei siis ole sama asia kuin tekoäly kokonaisuudessaan. Se on yksi tekoälymallien tyyppi.
Token
Kielimalli ei yleensä käsittele tekstiä suoraan sanoina. Sen sijaan teksti jaetaan pienempiin osiin, joita kutsutaan tokeneiksi.
Token voi olla kokonainen sana, sanan osa, numero, välimerkki tai muu tekstin osa.
Esimerkiksi pitkä suomalainen yhdyssana saattaa muodostua useasta tokenista, kun taas yleinen lyhyt sana voi muodostaa vain yhden.
Tokenit ovat tärkeitä, koska kielimallien käsittelemän tekstin määrä ilmoitetaan usein tokeneina.
Myös tekoälypalveluiden API-hinnoittelu perustuu usein käsiteltyjen tokenien määrään.
Mitä enemmän tekstiä lähetetään mallille ja mitä pidemmän vastauksen se tuottaa, sitä enemmän tokeneita käsitellään.
Prompti
Prompti on tekoälylle annettu syöte tai ohje.
Yksinkertainen prompti voi olla kysymys:
Mikä on Suomen suurin järvi?
Prompti voi kuitenkin sisältää paljon muutakin:
Kirjoita yrittäjälle suunnattu 500 sanan blogikirjoitus hakukoneoptimoinnista. Käytä selkeää suomen kieltä ja anna kolme käytännön esimerkkiä.
Hyvässä promptissa voidaan kertoa esimerkiksi tehtävä, tavoite, kohderyhmä, taustatiedot, haluttu tyyli ja vastauksen muoto.
Prompti ei ole erityinen tekoälyn ohjelmointikieli. Se on yksinkertaisesti tekoälylle annettava ohje tai syöte.
Pelkkä prompti ei myöskään yksin määrää lopputulosta. Vastaukseen vaikuttavat esimerkiksi käytetty kielimalli, sille annettu muu konteksti sekä mahdolliset työkalut ja järjestelmäohjeet.
Konteksti
Konteksti tarkoittaa tietoa, joka tekoälymallilla on käytettävissään vastausta muodostaessaan.
Kun keskustelet tekoälyn kanssa, aikaisemmat viestit voivat muodostaa osan kontekstista.
Jos esimerkiksi kirjoitat ensin:
Yritykseni myy traktoreita Jyväskylässä.
ja kysyt myöhemmin:
Kirjoita yritykselleni mainos.
malli voi hyödyntää aikaisempaa viestiä ja ymmärtää, että mainoksen pitäisi liittyä traktoreihin ja todennäköisesti myös Jyväskylään.
Kontekstiin voidaan tuoda myös dokumentteja, verkkosivujen sisältöä, tietokantojen tietoja sekä ulkopuolisista järjestelmistä haettua dataa.
Konteksti-ikkuna
Kielimallilla on rajallinen konteksti-ikkuna.
Se tarkoittaa sitä tekstimäärää, jonka malli pystyy käsittelemään kerralla. Konteksti-ikkunaan voivat kuulua esimerkiksi käyttäjän viestit, aikaisempi keskustelu, järjestelmäohjeet, dokumentit sekä työkalujen palauttamat tiedot.
Konteksti-ikkunan koko ilmoitetaan yleensä tokeneina.
Hallusinaatio
Hallusinaatiolla tarkoitetaan tilannetta, jossa tekoäly tuottaa virheellistä tai keksittyä tietoa vakuuttavan kuuloisesti.
Kielimalli voi esimerkiksi keksiä olemattoman tutkimuksen, väärän vuosiluvun tai lähteen, jota ei todellisuudessa ole olemassa.
Tämä johtuu siitä, että kielimallin perustehtävä on muodostaa todennäköinen vastaus sille annetun kontekstin perusteella. Se ei automaattisesti tarkista jokaista väitettä luotettavasta tietolähteestä.
Siksi tekoälyn tuottamaa tietoa ei kannata pitää automaattisesti faktana.
Hallusinaatioiden riskiä voidaan vähentää esimerkiksi antamalla mallille luotettavia lähteitä, käyttämällä hakua tai hakemalla tietoa tietokannasta ennen vastauksen muodostamista.
Tästä päästään RAG-menetelmään.
RAG
RAG tulee sanoista Retrieval-Augmented Generation.
Sen idea on yksinkertainen: ennen vastauksen muodostamista järjestelmä hakee tehtävään liittyvää tietoa ulkopuolisesta lähteestä ja antaa löydetyn tiedon kielimallille kontekstiksi.
Kuvitellaan esimerkiksi yrityksen tekoälyavustaja, jonka pitäisi vastata henkilöstön kysymyksiin.
Työntekijä kysyy:
Kuinka monta päivää etätöitä yrityksessämme saa tehdä?
Sen sijaan, että kielimalli yrittäisi vastata oman koulutusaineistonsa perusteella, järjestelmä voi ensin etsiä yrityksen henkilöstöohjeesta etätyötä käsittelevän kohdan.
Löydetty teksti annetaan kielimallille, joka muodostaa vastauksen sen perusteella.
RAG on erityisen hyödyllinen silloin, kun tekoälyn pitää käyttää yrityksen omaa, ajankohtaista tai jatkuvasti muuttuvaa tietoa.
Embedding
Embedding tarkoittaa tiedon muuttamista numeroista koostuvaksi esitykseksi eli vektoriksi.
Kuulostaa tekniseltä, mutta käytännössä embeddingien avulla tietokone voi vertailla asioiden merkityksiä.
Esimerkiksi sanat:
auto
henkilöauto
ovat merkitykseltään lähempänä toisiaan kuin:
auto
mansikka
Embedding-malli pyrkii sijoittamaan merkitykseltään samanlaiset asiat lähelle toisiaan matemaattisessa avaruudessa.
Tätä voidaan käyttää esimerkiksi semanttisessa haussa.
Jos käyttäjä etsii:
auton huoltaminen talvella
järjestelmä voi löytää myös dokumentin, jossa puhutaan ”ajoneuvon talvikunnossapidosta”, vaikka siinä ei käytettäisi täsmälleen samoja sanoja.
Embeddingejä käytetään paljon RAG-järjestelmissä dokumenttien ja käyttäjän kysymyksen kannalta olennaisten tekstikohtien löytämiseen.
Tekoälyagentti
Tekoälyagentti on järjestelmä, joka ei ainoastaan vastaa yksittäiseen kysymykseen, vaan voi suorittaa tehtävän useamman vaiheen kautta.
Tavalliselle kielimallille voidaan esimerkiksi antaa kysymys:
Millainen sää Helsingissä on huomenna?
Ilman ajankohtaista säätietoa kielimalli ei välttämättä pysty vastaamaan luotettavasti.
Agentti voi sen sijaan käyttää sääpalvelua, hakea ennusteen ja muodostaa vastauksen saamiensa tietojen perusteella.
Monimutkaisempi agentti voi esimerkiksi:
- hakea tietoa
- käyttää API-rajapintoja
- lukea tiedostoja
- suorittaa ohjelmakoodia
- käsitellä tuloksia
- päättää seuraavan työvaiheen
- suorittaa useita työvaiheita peräkkäin.
Agentin ”aivot” voivat olla LLM, mutta agentti kokonaisuutena sisältää yleensä myös muita osia.
Siksi LLM ja agentti eivät tarkoita samaa asiaa.
MCP
MCP tarkoittaa Model Context Protocolia.
Se on avoin standardi, jonka avulla tekoälysovelluksia voidaan yhdistää ulkopuolisiin työkaluihin, tietolähteisiin ja palveluihin.
Tekoälyagentti saattaa esimerkiksi tarvita pääsyn:
- yrityksen tietokantaan
- tiedostoihin
- verkkopalveluun
- kalenteriin
- projektinhallintajärjestelmään
- kehitysympäristöön
- yrityksen omaan ohjelmistoon.
Ilman yhteistä standardia jokainen tekoälysovellus ja ulkopuolinen palvelu pitäisi yhdistää erikseen omalla tavalla.
MCP pyrkii tarjoamaan yhteisen tavan, jolla tekoälysovellus voi löytää ja käyttää sille tarjottuja toimintoja ja tietolähteitä.
Asiaa voi ajatella hieman USB-standardin kautta. USB ei ole tietokone tai siihen liitettävä laite, vaan yhteinen tapa saada erilaiset laitteet keskustelemaan keskenään.
Vastaavasti MCP ei ole kielimalli eikä tekoälyagentti. Se on protokolla, jonka avulla järjestelmiä voidaan yhdistää toisiinsa.
MCP ei myöskään tarkoita, että tekoäly saisi automaattisesti pääsyn kaikkeen. Käytännön sovelluksessa käyttöoikeudet ja turvallisuus täytyy edelleen määritellä erikseen.
Fine-tuning
Fine-tuning, eli hienosäätö, tarkoittaa valmiiksi koulutetun tekoälymallin jatkokouluttamista tiettyä käyttötarkoitusta varten.
Suurta kielimallia ei yleensä kannata kouluttaa alusta lähtien itse. Se vaatisi valtavan määrän aineistoa ja laskentatehoa.
Sen sijaan olemassa olevaa mallia voidaan jatkokouluttaa pienemmällä aineistolla.
Fine-tuningilla voidaan esimerkiksi opettaa mallille tietynlaisia vastaustapoja, tehtäviä tai toimintamalleja.
Fine-tuning ja RAG ratkaisevat hieman eri ongelmia.
Jos halutaan antaa mallille jatkuvasti päivittyvää yrityskohtaista tietoa, RAG on usein luonteva ratkaisu.
Jos taas halutaan muuttaa sitä, miten malli käyttäytyy tai suorittaa tietyn tehtävän, fine-tuning voi olla sopivampi vaihtoehto.
Inference
Tekoälymallin elämä voidaan yksinkertaistaa kahteen vaiheeseen: kouluttamiseen ja käyttämiseen.
Kun mallia opetetaan aineiston avulla, puhutaan trainingista, eli kouluttamisesta.
Kun valmis malli saa uuden syötteen ja muodostaa sen perusteella vastauksen tai ennusteen, puhutaan inferenssistä (inference).
Kun siis kirjoitat tekoälypalvelulle promptin ja saat vastauksen, kyseessä on inferenssi.
Termi tulee usein vastaan erityisesti tekoälypalveluiden teknisissä kuvauksissa ja kustannuksista puhuttaessa. Mallin kouluttaminen voi olla erittäin kallista, mutta myös mallin jatkuva käyttäminen vaatii laskentatehoa.
Multimodaalinen tekoäly
Multimodaalinen tekoäly pystyy käsittelemään useampaa kuin yhtä tiedon muotoa eli modaliteettia.
Pelkkä tekstimalli käsittelee tekstiä. Multimodaalinen malli voi puolestaan käsitellä esimerkiksi:
- tekstiä
- kuvia
- ääntä
- videota.
Voit esimerkiksi antaa tekoälylle kuvan rikkinäisestä laitteesta ja kysyä, mitä kuvassa näkyy. Tai antaa sille dokumentin, jossa on sekä tekstiä että kaavioita.
Multimodaalisuus tekee tekoälystä käyttökelpoisen paljon laajemmassa joukossa tehtäviä kuin pelkkä tekstin käsittely.
Temperature
Temperature eli lämpötila on joidenkin kielimallien ja rajapintojen asetus, jolla voidaan vaikuttaa vastausten satunnaisuuteen ja vaihteluun.
Yksinkertaistettuna matalampi temperature johtaa yleensä ennustettavampiin vastauksiin.
Korkeampi arvo voi puolestaan lisätä vaihtelua ja johtaa luovempiin tai yllättävämpiin vastauksiin.
Jos esimerkiksi kysyt mallilta kymmenen kertaa:
Keksi kahvilalle nimi.
korkeammalla temperature-arvolla vastaukset voivat poiketa enemmän toisistaan.
Tarkka toiminta riippuu käytetystä mallista ja palvelusta, eikä temperature ole kaikissa moderneissa tekoälypalveluissa käyttäjän säädettävissä.
Q-learning
Q-learning on vahvistusoppimiseen kuuluva koneoppimismenetelmä.
Menetelmä esiteltiin Chris Watkinsin vuonna 1989 valmistuneessa väitöskirjassa, joten se on huomattavasti nykyisiä suuria kielimalleja vanhempi tekoälytekniikka.
Q-learningissa agentti oppii kokeilemalla erilaisia toimintoja ympäristössään ja tarkastelemalla niiden seurauksia.
Yksinkertainen esimerkki voisi olla tietokonepelissä liikkuva hahmo.
Agentti voi tehdä erilaisia valintoja:
- liiku vasemmalle
- liiku oikealle
- hyppää
- odota.
Toiminnoista seuraa erilaisia tilanteita ja palkkioita. Hyvästä lopputuloksesta agentti voi saada positiivisen palkkion ja huonosta negatiivisen.
Ajan myötä agentti oppii, mitkä toiminnot ovat eri tilanteissa hyödyllisiä.
Tästä tulee myös menetelmän nimi. Q-learning oppii niin sanottuja Q-arvoja, jotka kuvaavat tietyn toiminnon odotettua hyötyä tietyssä tilanteessa.
Q-learning on hyvä esimerkki vahvistusoppimisesta eli reinforcement learningista.
On kuitenkin tärkeää erottaa se nykyisistä LLM-pohjaisista agenteista. Tekoälyagentti ei automaattisesti tarkoita Q-learningia, eivätkä tavalliset LLM-agentit yleensä opi jokaisesta suorittamastaan tehtävästä Q-learningin avulla.
Miten tekoälyn termit liittyvät toisiinsa?
Termien välisen suhteen voi hahmottaa yhden esimerkin avulla.
Kun kirjoitat tekoälypalvelulle kysymyksen, kirjoittamasi teksti on prompti.
Teksti muutetaan tokeneiksi, joita malli käsittelee.
Prompti, aikaisempi keskustelu ja muut käytettävissä olevat tiedot muodostavat mallille kontekstin.
Vastauksen voi tuottaa LLM, joka perustuu neuroverkkoon ja yleensä transformer-arkkitehtuuriin.
Kun valmis malli tuottaa vastauksen, tapahtuu inferenssi.
Jos järjestelmän pitää hakea kysymykseen liittyviä dokumentteja ennen vastaamista, voidaan käyttää RAGia. Dokumenttien löytämisessä voidaan hyödyntää embeddingejä.
Jos järjestelmän pitää pelkän vastaamisen lisäksi suorittaa tehtäviä ja käyttää ulkopuolisia työkaluja, sitä voidaan kutsua tekoälyagentiksi.
Agentin ja ulkopuolisten työkalujen välinen yhteys voidaan toteuttaa esimerkiksi MCP:n avulla.
Jos mallin toimintaa halutaan muokata jatkokoulutuksella, voidaan käyttää fine-tuningia.
Jos malli pystyy tekstin lisäksi käsittelemään esimerkiksi kuvia ja ääntä, kyseessä on multimodaalinen tekoäly.
Ja vaikka nykyiset kielimallit tuntuvat uudelta teknologialta, monet tekoälyn keskeiset ideat ovat paljon vanhempia. Esimerkiksi Q-learning kehitettiin jo 1980-luvun lopulla.
Tekoälyn sanasto muuttuu nopeasti, eikä jokaisen teknisen yksityiskohdan ymmärtäminen ole tarpeen. Kun keskeiset käsitteet ovat tuttuja, uusien tekoälypalveluiden toimintaa, mahdollisuuksia ja rajoituksia on kuitenkin huomattavasti helpompi hahmottaa.