Yli vuosi sitten kollegani kirjoitti mainion blogitekstin tekoälyn hypevuodesta 2017. Nyt kun tuo vuosi alkaa olla lopuillaan, voitaneen todeta hypevuoden määrittelyn osuneen oikeaan. Jopa toisinaan liikkeissään jähmeäksi moitittu julkinen sektori on innostunut tekoälystä tosissaan ja toisaalla on jo ehditty visioida, että hypebuumi tekoälyn saralla alkaa olla ohi ja kuherruskuukausi päättymässä (katso mm. Forresterin raportti).
Viimeksi mainittu hypoteesi pitänee paikkaansa, mutta se ei kuitenkaan tarkoita, että tekoälystä oltaisiin luopumassa. Au contraire; olemme siirtymässä hypestä, edelläkävijätoteutuksista ja niin sanotuista matalalla roikkuvista hedelmistä maailmaan, jossa tekoäly näyttelee entistä isompaa roolia erinäisissä ratkaisuissa jo lähtökohtaisesti. Vuorossa on käsienheiluttelun sijaan hihojen kääriminen ja siirtyminen reippaaseen tekemiseen. Tämä puolestaan aiheuttanee entistä enemmän hämmennystä – ja pettymyksiä – erinäisissä tekoälyprojekteissa mukana oleville osapuolille. Seuraavaan olen kasannut melko humanistisesta vinkkelistä asioita, jotka olen itse saanut huomata jonkinlaisiksi kipupisteiksi tekoälyhankkeissa työskennellessäni.
Osapuolten välinen kommunikaatio
Tekoälyratkaisuilla pyritään useimmiten vähentämään tarvetta ihmistyölle. Tämä ei poista sitä tosiasiaa, että ainakin toistaiseksi, näitä ratkaisuja toteuttavat ihmiset toisten ihmisten tarpeisiin ja palveluksiin. Tämän vuoksi onkin keskeistä, että samassa pöydässä istuvat tekoälyprojektin osapuolet – toimittajat ja asiakkaat – ihan oikeasti kommunikoivat tekemisistään toisilleen ymmärrettävin termein ja sananvalinnoin, eivätkä lähde olettamaan mitään.
Triviaali asia, mutta huomattavasti helpommin sanottu ja kuviteltu kuin toteutettu.
Turhan usein autenttisen ja iteratiivisen yhteistyön sijaan nähdään tekemistä, jossa ratkaisun toteuttaja on käytännössä musta laatikko, joka ottaa yhdestä suunnasta sisään toimeksiantoja ja jonkin ajan päästä pullauttaa toisesta suunnasta ulos ratkaisuja. Vasta tämän jälkeen alkaa hämmästely, että: ”Tätäkö tässä nyt sitten oltiin tilaamassa?”. Oman haasteensa voi vielä tuoda asiakkaan sisäiset, eri tahojen mahdollisesti ristiriitaiset tavoitteet tai näkemykset projektista, joilla tuntuu olevan tapana paljastua yllättävänkin myöhään, mikäli asioiden annetaan edetä omalla painollaan.
Ymmärryksen keskinäinen jakaminen
Puhumme mielellämme datan ja tiedon jakamisesta ja pyrimme siihen innokkaasti – hyvä niin. Mutta ymmärryksen jakamisessa ihmisten välillä tunnumme olevan yllättävänkin amatöörejä. Tekoälymaailmassa tämä näkyy ikävimmillään siinä, että 1) tekoälyratkaisun toteuttaja kuvittelee, ettei tilaajapuoli ole kiinnostunut hänen ratkaisujensa teknisistä ja teoreettisista ominaisuuksista, tai 2) tilaajapuoli ei edes uskalla esittää täsmentäviä kysymyksiä, koska pelkää ettei kuitenkaan ymmärrä toteuttajan selityksiä täysin, tai pahimmassa tapauksessa 3) sekä että. Tämä on turhauttavaa, sillä tekoälyn keskeisimpien palikoiden kuten esimerkiksi tyypillisten koneoppimisalgoritmien, tekstianalyysin perustyökalujen tai kuvantunnistuksen perusteet pystyy selittämään käsitteellisellä tasolla melkeinpä kenelle tahansa ilman, että tarvitsee tukkia valkotaulua matemaattisilla kaavoilla.
Kaikenlaisen mustan magian ja mystiikan siivoaminen pois tekoälypöydästä on palvelus jokaiselle mukana olevalle osapuolelle.
Tilaajalla on oikeus, tai oikeastaan melkeinpä velvollisuus vaatia toteuttajaa selittämään toteutuksensa hienoudet ymmärrettävissä olevalla tasolla. Vastaavasti tekoälyratkaisun tekijän pitää pyrkiä sisäistämään toimiala, jolle hän ratkaisuaan toteuttaa, ja tilaajan rooli on auttaa tässä sisäistämisprosessissa.
Odotusten hallinta
Mediassa näkyy isoja uutisia tekoälyratkaisujen onnistumisesta ja isoista tekoälyn tuomista liiketoimintamuutoksen visioista, jotka saavat helposti menettämään todellisuudentajun niin ratkaisun tilaajan kuin toteuttajankin puolella. Visiointi on aina hienoa ja toivottavaa, mutta tietyt realiteetit olisi hyvä pitää mielessä, erityisesti projektien alkuvaiheissa ja ensimmäisiä tekoälyaskelia ottaessa.
Toisinaan tarvittavaa dataa ei ole saatavilla ja vastaavasti saatavilla oleva data ei aina ole hyvää.
Jos dataa on niukasti ja se on informaatiosisällöltään vajaata, harvaa ja ristiriitaista, on vähänkään haastavampien ratkaisujen toteuttaminen käytännössä mahdotonta. Eikä huonosti suunniteltu koneoppimismalli luultavimmin parane maagisesti sillä, että se saa entistä enemmän dataa opetusaineistokseen.
Datakyvykkyyden mittaaminen ja tulosten rehellinen kommunikointi mahdollisimman aikaisessa vaiheessa säästää kyyneliltä myöhemmässä vaiheessa projekteja. Ratkaisujen toteuttajalta tämä puolestaan vaatii rohkeutta myöntää, että projekti ei tällä datalla ja näillä lähtökohdilla ole järkevästi toteutettavissa. Tästä tekee erityisen vaikeaa se, että tämä myönnytys pitää tehdä vähintään kahdesti; ensiksi itselleen ja sitten muille.
Jos projektia lähdetään tekemään iteratiivisesti kynnystä madaltaa se, että edetään pienissä erissä ja välitavoitteet täsmällisesti määritellen. Mahdollisten sudenkuoppien löytyminen tapahtuu näin hyvissä ajoin, ja korjausliikkeiden tekemiselle on enemmän tilaa. Tämä on ollut myös meidän toimintatapamme.
Toteuttamisen maturiteetti
Tekoälyn toteuttaminen on ohjelmistotuotantoa myös siinä vaiheessa, kun tehdään ensimmäisiä niin sanottuja proof of concept -toteutuksia, joiden tuotantoon vieminen ei ole vielä ajankohtaista. Miksi sitä ei sitten lähestytä samalla tavalla?
Ketterä ohjelmistotuotanto, laadunvarmistus esimerkiksi parikoodauksen ja testivetoisen kehittämisen voimin, asianmukainen versionhallinta, moderni ympäristöjen hallinta sekä huolellinen ja ymmärrettävä dokumentointi ovat arkipäivää softantuotannossa, mutta näyttävät valitettavan usein unohtuvan, kun data scientisteiksi nimetyt toimijat pääsevät toteuttamaan itseään älykkäiden ratkaisujen parissa. Mitään syytä moiseen ei ole, eikä moista pitäisi myöskään sallia.
Sekavien, häthätää kasattujen skriptinpätkien vieminen tuotantoon saa kenet tahansa ammattidevaajan kauhistumaan, ja ihan hyvästä syystä.
Olisi hyvä tiedostaa, että tekninen velka joka nopeassa toteuttamisessa otetaan tulee suurella varmuudella maksettavaksi ennemmin tai myöhemmin. Samaan hengenvetoon pitää kuitenkin muistuttaa, että laadukkaan softantuotannon käytäntöjen noudattaminen ei takaa, että tuotetut ratkaisut olisivat automaattisesti laadukkaita tekoälyratkaisuja. Tekijöiltä vaaditaan siis sekä kykyä laadukkaaseen softantuotantoon että vahvaa ymmärrystä tekoälystä – unohtamatta lisäksi toimialaymmärrystä – ja tulevaisuudessa “perinteisen” ohjelmistokehittäjän ja data scientistin välinen roolitus tulee olemaan entistä enemmän veteen piirretty hähmäinen viiva.
Hyväksi lopuksi
Siirtyminen hypestä konkretiaan tulee muokkaamaan näkemyksiämme tekoälystä ja oletettavasti tarjoamaan jokusen yllätyksenkin. Yksi asia tuntuu kuitenkin olevan varmaa: vaatimukset tekoälyratkaisuille muuttavat entistä kunnianhimoisemmiksi, ja mukana olevat osapuolet joutuvat venymään entistä enemmän. Älykkyyden lisäksi ratkaisujen pitää olla robusteja ja laadukkaita, ja koko projektitiimin aktiivista osallistumista vaaditaan tavoitteiden saavuttamiseksi. Kovaa työtä siis.