AI-työkalujen käyttöön pätee sama kuin hyvään koodaukseen muutenkin – pieni on kaunista
”AI-mallin koulutukseen ei ole pakko käyttää miljoonia”, sanoo käytännön AI-kehitystä tehnyt asiantuntija
Mitä AI:llä kannattaa tehdä ja millä kustannuksilla? Entä mikä on kehittäjien vastuu niistä valinnoista, mitä AI-työkaluja käytetään, mihin ne sopivat ja miten niiden ongelmanratkaisukykyyn voi luottaa?
Kolme Asteroidin asiantuntijaa kertoo tässä artikkelissa näkemyksiään AI-vallankumouksesta, joka näytti vuoden 2023 alussa muuttavan kaiken. Nyt, kaksi vuotta myöhemmin, kovin kohina on hellittänyt ja on aika pohtia, mihin kaikkeen AI-työkalut todella pystyvät.
Ensimmäiset kielimallit ihastuttivat ja järkyttivät
Tietenkään tekoälyn kehitys ei ole vielä pysähtynyt, vaikka kehityksen keinotekoista pysäyttämistä on jossain esitetty. Toisaalta se valtava kehitysloikka, jota suuret kielimallit edustivat, on jo nähty. Seuraavaksi odotukset ja spekulaatiot ovat kääntyneet yleiseen tekoälyyn (AGI), joka olisi huomattavasti kielimallejakin suurempi harppaus, mutta palataan siihen tuonnempana.
Ensimmäinen paha järkytys koettiin pian ChatGPT 3.5:n julkaisun jälkeen, kun näennäisen järkevää puhetta tuottava kielimalli alkoikin suoltaa ulos silkkaa hölynpölyä. Seuraavissa versioissa ja ChatGPT:n kilpailijoissa hallusinoinnin määrää oli jo onnistuttu vähentämään, mutta sopivalla promptauksella niiltä saattaa yhä saada mitä hulluimpia vastauksia.
”Hallusinointi on suurten kielimallien ominaisuus, ei bugi”, sanoo ohjelmistokehittäjä Pasi Säkkinen, jolla on kahdenkymmenen vuoden kokemus IT-alalta. ”Kielimallin kyky tuottaa uniikkia tekstiä johtuu siitä, että AI mallintaa vain sanojen esiintymistodennäköisyyksiä, toisin sanoen hallusinoi. Tämä on kaikesta muusta kehityksestä huolimatta yhä sen arkkitehtuurin perusta, jonka kanssa on elettävä.”
Jos työkaveri hallusinoi, paraneeko tuottavuus?
Säkkinen otti ensimmäisten joukossa GitHub Copilotin testiin, kun se julkaistiin. ”Halusin nähdä, mitä hyötyä siitä voisi olla devaajalle”, hän sanoo. ”Kuukauden jälkeen olin sitä mieltä, että ei mitään. Valtaosa tuotetusta koodista päätyi suoraan roskiin.”
Mutta muutaman kuukauden jälkeen Säkkisen mieli muuttui. ”Työkalun tuottamat ehdotukset paranivat selvästi, mikä kannusti kokeilemaan enemmän käyttötapoja. GitHub Copilotin, kuten monen muunkin AI-työkalun kanssa voi käydä vuoropuhelua, eli yrittää edetä ehdotusten kautta ratkaisuun. Tästä voisi olla lyhyt matka ’promptaamalla koodaamiseen’, mutta siinä on riskinsä. Ominaisuuteen nojaavat tuotedemot ovat syystäkin varsin kaavamaisia tai olemassa olevien palveluiden variointia”, Säkkinen arvioi.
Uudet kielimallit pystyvät tarjoamaan apua myös astetta haastavammissa tehtävissä. ”Järjestelmän arkkitehtuurin suunnittelussa etenen niin, että teen mahdollisimman hyvän ensimmäisen kierroksen kuvauksen, ja heitän sen sitten vaikkapa Claude 3.7:n arvioitavaksi – mitä ongelmia se näkee vaikkapa ylläpidettävyyden kannalta, tai jotain vastaavaa. AI on tässä tapauksessa kuin helposti saatavilla oleva, ylimääräinen silmäpari pohtimassa ratkaisuja”, Pasi Säkkinen kuvaa. ”Mitä enemmän annat itse tietoa, sitä parempiin tuloksiin kehittynyt AI pystyy. Niiden reasoning-mallit pystyvät jo todella kyvykkäisiin päättelyketjuihin.”
Luovuus kukkii niukkuudessa
Myös ohjelmistokehittäjä Tarmo Aidantausta pitää reasoning-malleja hyödyllisinä työnteon apuvälineinä. ”Erityisesti DeepSeek on tehnyt ison työn juuri reasoningin kanssa. Päättelyketju etenee loogisesti ja malli myös tarkistaa oman päättelynsä etenemistä. Käyttäjä voi seurata ketjun etenemistä ja varmistaa, että ketju on ehjä”, Aidantausta kertoo. ”Samasta syystä käytän AI-assistentteja eniten opiskelun tukena, siis kun haluan oppia jotain uutta. Mutta vaativaan koodaukseen en niitä käyttäisi.”
Aidantaustan mukaan AI-editorit voivat tuottaa perustason koodia, joka on teholtaan kyseenalaista. ”Olen itse oppinut tekemään vuosien varrella mahdollisimman hyvää koodia. Sitä ei saisi koskaan kirjoittaa sillä ajatuksella, että käytössä on runsaasti resursseja – kuten prosessoritehoa tai sähköä, mikä etenkin viime aikoina on noussut isoksi kysymykseksi. Koska resurssit loppuvat aina kuitenkin, jossain vaiheessa. Niukkuutta hyödyntävä koodi on aina vahvempaa, kuten nyt nähtiin DeepSeekin kanssa. Kun kehittäjillä ei ollut pääsyä Nvidian uusimpiin prosessoreihin, he tekivät innovaatioita niukkojen resurssien ansiosta. Tähän pitäisi aina pyrkiä”, Aidantausta pohtii.
Maailmankirjallisuuden ehkä tunnetuin supertietokone Deep Thought saa Douglas Adamsin klassikkokirjassa Linnunradan käsikirja liftareille eteensä perimmäisen kysymyksen elämästä, maailmankaikkeudesta ja kaikesta muusta sellaisesta, johon se jauhaa vastausta seitsemän ja puoli miljoonaa vuotta. Lopulta vastaus, 42, ei kerro kenellekään mitään, koska mikä oli se kysymys? Aidantaustaa esimerkki huvittaa. ”Täydellisyyttä tavoitteleva, omia päätelmiään tarkistava reasoning-malli voisi hyvinkin ajautua loputtomaan luuppiin yrittäessään varmistaa, että päättely on virheetön”, hän sanoo. ”Parempi hyväksyä se, että jokainen malli ja jokainen ‘superäly’ on joiltakin osin vajavainen.”
Devaajien suosikit vaihtuvat – koherentti koodi pysyy
AI-työkaluissa pätee sama kuin minkä tahansa työkalun kanssa – kannattaa valita oikea väline oikeaan tehtävään. Tosin AI:n kanssa kehitys etenee juuri nyt niin raivokkaasti, että valinnan tekemisessä on omat haasteensa. ”Esimerkiksi LM Arenalla, jossa kehittäjät arvioivat eri AI-chatbottien ominaisuuksia, suosikit vaihtuvat päivittäin”, Aidantausta kertoo. ”Kehitystä voi seurata, mutta kannattaa myös luottaa omaan arvioonsa ja ammattitaitoonsa. Pari AI-työkalua riittää, kun oppii tuntemaan niiden vahvuudet. Ja heikkoudet. Koodarin omalla vastuulla on aina se, onko koodi koherenttia ja tehokasta.”
Luonnollista kieltä suoltavien chatbottien huumassa saattaa välillä unohtua, että AI on muutakin kuin kielimalleja. Esimerkiksi erilaisia koneoppimiseen perustuvia järjestelmiä on kehitetty Suomessakin kymmeniä vuosia, ja niiden taustalla olevan tieteen historia kantaa vielä huomattavasti kauemmas. Kielimallit ovat vain tuoneet AI:n näkyväksi ja tarjonneet samalla kehittyneen käyttöliittymän erilaisille tukiälyratkaisuille. Mutta koneoppimista ja esimerkiksi konenäköä kehitetään edelleen, jopa varsin tehokkaasti.
AI:n koulutus voi olla poskettoman kallista, tai sitten ei
”Olin mukana hankkeessa, jossa kehitettiin AI-mallia urheilijan liikeratojen analysointiin. Siinä havaittiin hyvin pian, että mallin koulutus nopealla kuvataajuudella tehdystä videosta kerätyllä datalla oli kohtuuttoman kallista. Ongelma on hyvin ajankohtainen ja koskee suurta osaa AI-kehitystä – kuinka paljon resursseja ja rahaa AI-mallin kehitykseen voidaan laittaa”, kertoo ohjelmistokehittäjä Joona Ojapalo. ”Sinällään tilanne on absurdi – AI:n piti tehdä kehityshankkeista halpoja ja nopeita, mutta vaarana on, että käykin juuri toisinpäin.”
Ratkaisuksi Ojapalon projektissa löydettiin perinteinen konenäkö ja avoimen lähdekoodin hyödyntäminen. ”Menetelmät ovat kehittyneet viime vuosina todella paljon. Liikeratojen analysointia varten käytimme 27 miljoonan parametrin ResNet-runkomalliin (backbone model) sekä 7 miljoonan parametrin YOLO-malliin perustuvaa täysin valmiiksi koulutettua AlphaPose-nimistä menetelmää, jossa varsinaisia sovelluskohtaisesti opetettavia parametreja on noin 25% kokonaismäärästä", Ojapalo kuvaa. ”Kun varsinainen koulutettava mallin osa on hallitun kokoinen, niin asiantuntijatyötä vaaditaan ratkaisevasti vähemmän laadunvarmistukseen ja mallin rakenteen iteroimiseen. Tämä tarkoittaa, että koulutuksen kustannusten hintalapusta voidaan helposti pudottaa nolla pois. Ero on, lievästi sanoen, huomattava.”
”Tärkeintä tässä, kuten muissakin asiakasprojekteissa, on ymmärtää asiakkaan liiketoiminnan perusteet, ja onko valittu ratkaisu oikea juuri tälle asiakkaalle”, Ojapalo muistuttaa. ”AI-mallin koulutuksen ja operoinnin kustannukset on lähitulevaisuudessa yhä useammalle yritykselle kriittinen kysymys, kun AI halutaan valjastaa yrityksessä tehokkaaseen käyttöön.”
Artikkeli on kirjoitettu yhteistyössä Asteroidin kumppanin kanssa.