Tekoäly alkaa toimia ohjelmistojen tulkkina – vieläpä lennossa

Tekoäly alkaa toimia ohjelmistojen tulkkina – vieläpä lennossa

Sovellus tilaa sääpalvelulta tiedon, mutta vastaus ei enää mahdu tuttuun muottiin. Eilen rivillä luki "lastName", tänään se onkin "surname". Pieni muutos, iso seuraus: lomakkeet hajoavat, tilastot pysähtyvät, ja vika on kaikkea muuta kuin harvinainen. Kun järjestelmät puhuvat eri murteilla – tai vaihtavat kieltä kesken lauseen – arki tökkii.

Perinteinen viisaus sanoo, että tällaiset yhteensopivuusongelmat ratkaistaan käsityönä. Jokaista kahden järjestelmän välistä eroa varten kirjoitetaan oma sovitin: pieni, huolella tehty koodinpätkä, joka kääntää muodot ja kentät oikeiksi. Ne ovat kuin mukautettuja pistokkeita, joita tarvitaan jokaiselle pistorasialle erikseen. Ongelma on, että maailma muuttuu nopeammin kuin sovittimia ehditään valmistaa. Kun rajapintoja päivitetään tai laitteita lisätään, vanha verkko repeilee.

Tuore arXiv-julkaisu ehdottaa toisenlaista otetta. Ajatus on, että väliin asetetaan älykäs tulkki – ohjelmapala, joka tunnistaa, missä kohdassa kieli poikkeaa, ja sovittaa viestin muotoa lennosta. Tulkki ei nojaa valmiiksi kirjoitettuihin säännöstöihin, vaan hyödyntää suuria kielimalleja, samaa teknologiaa joka tekee nykyisistä keskusteluboteista sujuvia. Uutta on, että tekoälyä käytetään tässä arkkitehtuurin osana, ajon aikana, ei suunnitteluvaiheessa.

Arkinen esimerkki auttaa hahmottamaan, mistä on kyse. Kuvitellaan tehdashalli, jossa lämpötila-anturi lähettää tietoa analytiikkapalvelulle. Anturi pakkaa viestinsä muotoon, jossa kenttä on nimeltään "tempC" ja laittaa lisäksi laitteen nimen omaan laatikkoonsa. Analytiikkapalvelu taas odottaa saavansa kentän nimellä "temperature_celsius" ja laitteen nimen aivan toiseen kohtaan. Kun viesti saapuu, tulkki vertaa odotettua ja saatua rakennetta, huomaa eron ja muotoilee viestin uudelleen: kenttien nimet vaihdetaan, tieto siirretään oikeaan paikkaan, ja viesti pääsee perille. Sama pätee, jos verkkopalvelun rajapinta siirtyy uuteen versioon tai jos tiedonhakutapa vaihtuu toiseen, kuten GraphQLiksi kutsuttuun kyselymuotoon.

Tutkimuksessa testattu tulkki tekee tämän kahdella tavalla. Se voi joko muuntaa jokaisen viestin paikan päällä – kuin simultaanitulkkina – tai kirjoittaa automaattisesti pienen sovittimen, jota käytetään jatkossa uudelleen. Jälkimmäinen muistuttaa tulkin laatimaa sanastoa ja sääntökokoelmaa, joka nopeuttaa seuraavia keskusteluja. Kummassakin lähestymistavassa on suojat: ennen kuin muokattu viesti pääsee läpi, se tarkistetaan automaattisesti, useampi malli voi ”äänestää” parhaasta tulkinnasta, ja epäselvissä tapauksissa käytetään vararatkaisua, joka palaa ennaltamääriteltyihin sääntöihin.

Kuulostaa kätevältä, mutta toimiiko se? Kirjoittajat kokeilivat järjestelmää kymmenessä eri tilanteessa, jotka kattoivat muun muassa verkkorajapintojen versiopäivityksiä, anturidatan ja analytiikan yhteensovittamista sekä erilaisia tiedonhakutapoja. He testasivat kuutta erilaista suurta kielimallia kahdelta toimittajalta. Paras kokoonpano onnistui ensimmäisellä yrityksellä yhdeksässä tapauksessa kymmenestä. Mielenkiintoista on, että automaattisesti koodia tuottava tapa toimi tasaisesti paremmin kuin jokaisen viestin erikseen kääntävä: keskimäärin 0,83 vastaan 0,77, kun mitattiin onnistumista ensiyrittämällä. Vielä yllättävämpää oli hinta: eri mallien kustannukset vaihtelivat yli 30-kertaisesti, mutta tarkkuus ei seurannut hintaa. Päinvastoin, tarkin malli oli myös halvin.

Jännite vanhan ja uuden välillä tiivistyy kysymykseen siitä, missä ja milloin yhteentoimivuus ratkaistaan. Ennen tavoitteena oli tehdä kaikki kuntoon etukäteen. Nyt ehdotetaan, että järjestelmät saisivat neuvotella muodoistaan tilanteen mukaan, ja tulkki tekisi välissä sovun. Tämä voisi vähentää hitaita ja kalliita päivityskierroksia, helpottaa muutoksia ja pienentää riippuvuutta yksittäisistä versioista tai toimittajista.

Silti malttia tarvitaan. Ensinnäkin kokeet kattavat vain kymmenen skenaariota. Niissäkin onnistuminen oli parhaimmillaankin 90 prosenttia ensiyrityksellä – hyvä, muttei virheetön. Toiseksi suuret kielimallit ovat tunnetusti arvaamattomia: ne voivat tulkita luontevasti mutta väärin. Siksi kolmikerroksinen turvaverkko on olennainen, mutta sekään ei poista riskiä, että jokin virhe livahtaa läpi tai että välikerros hidastaa liikennettä. Kolmanneksi kustannukset ja suorituskyky vaihtelevat paljon mallista toiseen, eikä paperi nimeä malleja – organisaatioiden on siis itse punnittava, mikä yhdistelmä toimii heidän ympäristössään. Neljänneksi automaattisesti tuotettu koodi on sekin ylläpidettävää: jos tulkki tekee huonon säännön, se voi jäädä elämään huomaamatta. Ja viimeiseksi on kysymys hallinnasta ja vastuusta: kuka hyväksyy automaattisen käännöksen ja kenen tilille menee, jos data muuttuukin merkitykseltään?

Tämä ei tarkoita, että ajatus pitäisi hylätä. Päinvastoin, paperi tarjoaa uskottavaa näyttöä siitä, että tekoäly voi toimia ohjelmistojen välissä käytännöllisenä tulkkina – ainakin osassa tehtäviä ja vieläpä yllättävän kustannustehokkaasti. Se ehdottaa myös viisasta kompromissia: tekoäly tekee ensimmäisen vedoksen, mutta tuloksen päällä on tarkistuskerroksia ja tarvittaessa paluu vanhaan, sääntöpohjaiseen maailmaan. Näin uutta käytetään siellä, missä siitä on hyötyä, eikä kaikkia munia panna samaan koriin.

Jos järjestelmät oppivat puhumaan toisilleen ilman, että ihmiset ennakolta sopivat jokaisesta sanasta, mitä se tekee koko ohjelmistojen suunnittelulle? Voimmeko rakentaa rohkeammin muuttuvia kokonaisuuksia – vai tarvitsemmeko pikemminkin uusia pelisääntöjä siitä, milloin ja miten kone saa tulkita toista konetta?

Paper: https://arxiv.org/abs/2603.28731v1

Register: https://www.AiFeta.com

tekoäly ohjelmistot tietojärjestelmät rajapinnat data IoT

Read more

Pieni kielimalli oppi kysymään taulukoilta ihmisen puolesta

Pieni kielimalli oppi kysymään taulukoilta ihmisen puolesta

Moni on tuijottanut Exceliä ja toivonut voivansa vain kysyä: missä kaupunginosissa koti on kävelymatkan päässä terveysasemasta ja ruokakaupasta? Ihmismielelle yksinkertainen pyyntö muuttuu helposti tuntien suodatukseksi ja kaavanviilaukseksi. Tietokone kyllä tietää vastauksen – jos vain osaisimme puhua sen kieltä. Viime vuosina apua on pyydetty juttelevalta tekoälyltä. Se osaa etsiä ja tiivistää tekstejä,

By Kari Jaaskelainen
Tekoäly vastaa fiksummin, kun sille annetaan oikea tieto oikealla tavalla

Tekoäly vastaa fiksummin, kun sille annetaan oikea tieto oikealla tavalla

Katsaus kokoaa, miten kielimalleja voi vahvistaa antamalla niille jäsenneltyä lisätietoa vastaushetkellä – yksinkertaisista vihjeistä aina syy–seurausketjuiksi järjestettyyn taustaan. Kuvittele, että pyydät tekoälyä selittämään, mitä uusi lakimuutos tarkoittaa pienyrittäjälle. Yleismallinen kielimalli osaa puhua aiheesta sujuvasti, mutta jos laki on muuttunut äskettäin, vastauksessa voi olla vanhaa tietoa tai epävarmoja arvailuja. Sama kokemus

By Kari Jaaskelainen
Tekoäly voi olla sekä nopea että säästeliäs – jos se oppii milloin ajatella ääneen

Tekoäly voi olla sekä nopea että säästeliäs – jos se oppii milloin ajatella ääneen

Kuvittele chat-ikkuna, jossa vastaus alkaa rönsyillä: ensin pari perustelua, sitten varmistus, lopulta vielä varmistuksen varmistus. Käyttäjä odottaa, laskutus juoksee. Tekoälymallit hinnoitellaan usein “tokeneina” – sananpaloina – joten jokainen turha kiemura maksaa sekä aikaa että rahaa. Vuosia alalla vallitsi hiljainen oletus: mitä enemmän mallilla on laskentatehoa ja mitä pidemmin se ”miettii”, sitä parempaa

By Kari Jaaskelainen