”RAU TES Taitaja” eli Pohjoisen Pallonpuoliskon Puolueettomin RAU TES:sin tulkitsija

18.12.2023. Ajauduin eilen erittäin syvään päätyyn ja etsin käsiini Rautatiealan unionin eli RAU:n ja Palvelualojen työnantajat PALTA ry:n eli PALTA:n välisen ”Asiakaspalvelua, liikenteenhoitoa ja –ohjausta sekä hallinnollisia ja muita toimistotehtäviä koskevan työehtosopimuksen” eli suomeksi Fintraffic Raiteen pääasiallisen TES:in, jonka vaikutuspiiriin kuulunee selvästi suurin osa Raiteen työntekijöistä.

Alkuun pitää sanoa, että mikäli webbisivuilla pitäisi kuvata osapuolten välistä näkemyseroa neuvottelupöydässä, niin tilanne ei näytä RAU:n ja PALTA:n osalta valoisalta. Mutta RAU:n sivut ovat ainakin mielestäni rehelliset, itsensä näköiset, menevät suoraan asiaan ja etusivulla on kaikki oleellinen tieto linkkeineen – annan sivuille heittämällä arvosanan 5/5. Myös itse Raidelaisten työehtosopimus löytyi noin kahden klikkauksen takaa paikasta “EDUNVALVONTA” – UX Designerit ottakaa oppia.

Sen sijaan PALTA:n sivut näyttävät joltain kestävän kehityksen hyväntekeväisyysjärjestöltä:

Ei helvetti. Nyt on tainnut jossain välissä unohtua, mitä ollaan tekemässä tai ainakin pitäisi olla, eli ajamassa työnantajajäsenten etua neuvottelupöydässä työehtosopimusten kautta. Ottaisin ainakin webbisivujen perusteella näistä kahdesta vaihtoehdosta RAU:n ajamaan etujani tasan kerran kerrasta.

En muuten usko, että löytäisin sivuilta tai mistään alla olevista edes hakemaani PALTA:n ja RAU:n välistä työehtosopimusta ja epäilen, että välttämättä edes vaihteessa ei osattaisi neuvoa. Annan sivuille arvosanan 0/5.

Koska webbisivujen arviointini ovat objektiivisia ja poliittinen suuntautumiseni on ”ei kuulu joukkoon, en näe ristiriitaa siinä, ettenkö olisi juurikin oikea henkilö vastaamaan ”Raide TES Taitajan”, eli pohjoisen pallonpuoliskon Puolueettomimman tekoälyn koodista ja toiminnallisuudesta. Niille ketkä eivät ole lukeneet, on viimeistään aika tsekata edellisen lauseen linkin takana olevat disclaimerit. Tässä nimittäin tulee testailtua nopeasti tekoälyn toimintaa jollain ”lisää liksaa” -tasoisilla heitoilla ja muuta vastaavaa, kun mielikuvitus ei muuhunkaan riitä. Kaikki joskus koodanneet ainakin tietävät, että testiksi tehdyt println(“x”); jossain kohdassa koodia eivät ole aina mietittyjä. Pahoittelut siis promptien tasosta, joita tässä alkutestailussa tulee. Tarkoitus ei ole loukata näillä, ensimmäisenä tulee vaan helposti mieleen esimerkiksi jotkut ”polttavat kysymykset” matkan varrelta. Ja tuntuisi tyhmältä tehdä joku kliini ja varmasti neutraali demo uudestaan tätä blogia varten varsinkin, kun tekoäly ei ole enää samalla tasolla kuin alussa.

Sitten kun on saanut tekoälyn jollekin tasolle, niin alkaa yleensä vähän järkevämmät promptit sille, millä tutkii syvemmin mahdollisia puutteita. Mutta kuten ”Rautatie Asiantuntija”, myöskään ”Raide TES Taitaja” ei ole vielä kovin kummoinen tekoäly. Tavoite on antaa lähinnä edes toivottavasti joillekin konkreettisen (vaikkakin raakileen) esimerkin kautta ideoita mahdollisuuksista, mitä voisi sitten peilata oman duunin helpottamiseen tai henkilökohtaiseen elämään. Olkaa hyvät, tässä ”Raide TES Taitaja v.0.01”:

Ainakin AI-hallinnasta vastaavat (eli allekirjoittanut) ja siihen paljon panostavat (keille olen kiitollinen), varmasti pitävät kuitenkin “Raide TES Taitajan” kuvauksesta kyberturvallisuus-jengin lisäksi: ”Palveluksessasi. Muistathan anonymisoida mahdolliset henkilötiedot kysymyksistäsi”. 

Erään kyberturvallisuusihmisen tänään tekemästä pyynnöstä, toistan vielä kerran: älkää syöttäkö millekään tekoälylle ikinä henkilötietoja, oli kyseessä sitten tällainen demo, minkä linkin voin jakaa teille ja se vaikuttaa harmittomalta tai sitten vaikka Raiteen tuleva AI POC -toteutus. Jälkimmäiseen toteutukseen pääsee onneksi käyttämään jo sisäistä tietoa – mikä ei muuten kyseisessä toteutuksessa edes koskaan poistu meidän omasta AWS/Azure -ympäristöstä. Ainoa riski siis on, jos sille syöttää henkilötietoja chatissa, mutta varmaan teemme sille aika nopeasti teknisen eston. Vaikka tiettyhän sitä omaan henkilöstöön luottaa ja kuka tahansa voisi tehdä tuota jo nytkin, niin omissa sovelluksissa on tehtävä asiat paremmin. Kaikista keskusteluista jää myös logit – mutta tämän tarkoitus ei ole muuten oikeasti kytätä lainkaan itse keskusteluja, vaan se on hyvin tärkeä osa käyttäjien ylös/alas -peukutusten tai kirjallisten palautteiden ohella parantamaan tekoälyjä. Nämä tiedot analysoidaan koneellisesti nopealla syklillä ja tämä analysoitu data opetetaan tekoälylle ja siten suunnataan sitä paremmaksi vähintään päivittäin (ainakin kaupallisissa toteutuksissa). Ja tekoäly oppii aina enemmän kuin pelkästään sille syötetyn datan. Tämä kiinnostaa ainakin itseä enemmän kuin jonkun chatbot-keskustelut.

Tämä ”feedback loop” on itse asiassa yksi merkittävimmistä tekijöistä, miksi tekoälyn koulutuskustannukset laskevat nyt ja ennusteiden mukaan hyvin pitkään -70% p.a.  (Kuva 1) ja esimerkiksi GitHub Copilot -ohjelmistokehitysassistentti (Kuva 2) nopeutti pelkästään 2022 -55% ohjelmistokehitystä (silloin kun tietää mitä tekee…). Ja ennusteen mukaan tehostaa 4x vielä enemmän hommaa kuin tällä hetkellä vuonna 2030, samalla tuottaen 90% tai enemmän ohjelmistokoodista (tällä hetkellä jo yli 50%). ChatGPT myös esimerkiksi paranee jokainen päivä myös tämän loopin avulla, eli me ihmiset itse kiihdytämme myös tekoälyn parantumista jatkuvasti – toivottavasti  meilläkin omien sovellusten kohdallaLisäksi meille tulevilta valmiilta työkaluilta, kuten Copilot ja ChatGPT Enterprise ja lukuisat muut, voi odottaa jatkuvaa, hyvinkin reipasta parannusta. Koulutuskustannusten laskuun vaikuttaa merkittävästi myös laskentatehon kasvu, automaation lisääntyminen tekoälyn hienosäädössä sekä synteettinen koulutusdata. Tekoälyjen koulutusdatasta on 2024 arvioiden mukaan jo 60% tekoälyn tuottamaa. Kielimalleja ei voi muuten kasvattaa, sillä maailmassa ei ole enää dataa skreipattavaksi. Lisäksi tällä tosiaan automatisoidaan entistä ihmistyötä tekoälyjen suuntaamisessa sekä hienosäädössä.

Tajusin jo aiemmin häpeissäni, että kirjoituksestani ”Näin teet oman ChatGPT:n” jäi puuttumaan vielä tämä viimeinen, merkittävä tekijä tekoälyn päivittäisessä hienosäädössä. En osaa arvioida tarkasti ”feedback loopin” osuutta tehostumiseen ja se vaihtelee myös sovelluksen mukaan, mutta esimerkiksi GitHub Copilotin osalta veikkaan, että sen vaikutus on luokkaa puolet työkalun tehostumisesta.

Mutta nyt ylipitkän välikelailun jälkeen takaisin ”Raide TES Taitajan” pariin ja siirrytään laadukkaisiin kysymyksiin:

Sen verran tarkistin, että kappale oli oikein, mutta en ollut ihan tyytyväinen vähän laiskasta vastauksesta tässä vaiheessa kuitenkaan, parempaan pitää pystyä.

Ei varmaan kaipaa kommentteja. Oikea kohta taitaa kuitenkin olla löytynyt tessistä. Sitten löytyi jo joku hieman normaalimpi kysymys:

Ihan ok vastauksia sinänsä hyvinkin nopeasti, vaikka kyseessä on 144-sivuinen pdf-tiedosto, mitä en vielä edes pilkkonut osiin – palaan tähän ositukseen myöhemmin. Linkkejä en jaksanut alkuun säätää, sillä niiden kanssa menee jotenkin aina aikaa, kun pitää tavallaan samalla opettaa tekoälylle ”take a deep breath and think step by step” -tyylinen logiikka. Raiteen POC -toteutuksen RAG-toteutuksessa ei ole onneksi tätä ongelmaa linkkien kanssa tai muutenkaan hallusinoinnin – tietoja kun ei edes kouluteta tekoälylle tässä Metan keksimässä tekniikassa, niin vaikea kadottaa linkkejä tai hallusinoida. Mutta jatketaan TES-Taitajan testaamista:

Vastaus on ehkä? ihan ok, mutta en tiedä miten tässä välissä onnistuin hävittämään sen, ettei antanut enää oikeita kohtia TES:stä – mikä on itse asiassa melkeinpä päätarkoitus. Seuraavaksi siirryin kokeilemaan, mikäli puolueettomalta tekoälyltämme saisi hyviä vinkkejä riistää:

Uusia ideoita ei näyttänyt tällä kertaa tulevan, mutta joitain ihan valideja vanhoja. Sitten normaalien tarkastusten aika:

Ei pystynyt kerralla vielä uskoa.

Eli niin se vaan on – pohjoisen pallonpuoliskon Puolueettomin tekoäly on puhunut ja pulinat pois!

Aatonpäivälisistä on aina hyvä puhua. En tainnut tässä vaiheessa yrittää parannella mitään, kun linkit puuttuvat edelleen. Toki ne saisi kysymällä perästä.

Linkkien lisäksi huomasin, että tekoäly ehkä vastasi oikein, mutta alkoi taas laiskottelemaan vastauksessaan.

No nyt ei ainakaan mennyt ihan putkeen. Tässä noin 1–2 tunnin tekeleessä ei oltu vielä opetettu tekoälyä käyttämään muun muassa kalenteria eikä laskinta, mikä olisi TES-asioissa hyvinkin oleellista. Lisäksi olin pakottanut ohjelmakoodissa tekoälyn vastaamaan aina puhtaasti TES:n pohjalta, eli tämä menee omaan piikkiin.

Tähän taisi päättyä ensimmäisen version testailu. Täytyy sanoa, että tähän asti pääsi luvattomankin helpolla.

Niin paljon on kuitenkin selityksiä ilmassa, että aika paljastaa tekoälyn lähdekoodi – mikä tosin tätä juttua kirjoittaessa näyttää tosin jo hyvinkin erilaiselta. Pidän muuten OpenAI:n GPT Builderin editorista, virheitä ei voi vahingossakaan syntyä.

Keskellä ruutua on oleellinen selitys äskeiselle: ”GOAL: to be able to answer using CONTRACT.” Eli tällä “pakotan” vastaamaan sopimuksen perusteella. Mutta joka tapauksessa: avoimen lähdekoodin puolueeton TES-tulkitsija – tulevaisuus on tässä! Koodi on muuten mielestäni ihan oikeasti täysin puolueetonta, jos katsoo miten rooli on esimerkiksi määritelty: ”Your ROLE is to act as legal assistant for user, which is either employee of the COMPANY or the COMPANY representative of employer.” Olipa pari turhaa sanaa. Täytyy muuten sanoa, että luonnollisella kielellä ohjelmointi on todella paljon henkisesti raskaampaa, kuin alemman abstraktiotason kielillä. Tätä ei auta se, että generatiivista tekoälyä on suhteellisen vaikeaa pitää hanskassa.

En muista teinkö tässä välissä jotain kehitystä, mutta seuraavassa näköjään olin tarkoituksella tai vahingossa saanut oikean pykälän mukaan vastaukseen.

Varsinaisessa toteutuksessa yritän saada tietty sivunumeroita myöten kaikki helpottamaan vastausten tarkastusta, mutta tässä vaiheessa sillä ei ollut vielä väliä.

Tässä alla jotain asetuksia, jos jotain harvaa kiinnostaa. Tosiaan käsittämätöntä, että pystyi käsittelemään yhdessä osassa koko tiedostoa – alussa kaikki on helpompaa. Muista asetuksista Code Interpreter on pakko olla päällä jo tiedostojen käsittelyä varten ja muutenkin siitä on hyötyä, sillä siis muun muassa tekoäly voi itse tehdä Python-koodilla operaatioita. Nettiselaus on päällä, sillä haluan ainakin lopullisessa ratkaisussa, että voi hakea myös työsopimuslaista jne asioita – vaikka todennäköisesti ne pitää opettaa itse mallille. Kuvageneraattoria ei nyt tarvita. Ja alhaalla myös ”todisteet”, että en antanut nyt käyttää syötteitä ChatGPT:n parantamiseen, vaikka tuskin se olisi haitannut – paitsi mallin suuntautumiseen heikommaksi.

GPT Builder antaa aina aluksi hieman anteeksi. Sitten kun on 12 h käyttänyt, niin turha edes yrittää enää mitään, kun limitterit ovat iskeneet omien päivän ”tokeneiden” käytön jälkeen. Tokeneita voi miettiä suhteessa sanamääriin, 0,75 tokenia on noin yksi sana tai 4 kirjainta. RAU:n TES:ssä on muuten noin 30 000 sanaa muistaakseni eli noin 40 000 tokenia – ja GPT Builderin pitäisi pystyä vähän vaihtelevasti käsittelemään joko 4000 tai 8000 tokenia.

Käyttäisinkin jo OpenAI:n malleja rajapinnan kautta, mutta local admin rights:it eivät jotenkin ilmesty koneeseeni, vaikka kuinka pommittaa Enfoa viesteillä – uniikki asiakaspalvelukokemus kyllä, harvaan aspaan kuitenkaan voi lähettää tänä päivänä 3 viestiä 48h aikana saamatta vastausta – vaikka tiketti on auki.

Tokenit olivat siis syynä, miksi jaoin dokumentin 9 osaan, olisi ehkä pitänyt hieman enempäänkin.

Jatkoin kehitystä tämän jälkeen ja sain linkit ja kappaleet hyvin mukaan, kunnes OpenAI:n seinä tuli vastaan – pakotettu 24 h tauko siis edessä, joten sai naputeltua tämän blogiesittelyn vielä hyvinkin raakileesta ”TES-Taitajasta” tässä vaiheessa. Ei tullut ensimmäisessä ”sprintissä” kysyttyä vielä mitään kovin luovia kysymyksiä tai testattua kunnolla tekoälyä. Vastaukset olivat kyllä aika laadukkaita. Loppupeleissä kuitenkin oikeat kappaleet tai pykälät sekä linkki ovat tärkeintä – sillä vastaukset pitää aina tarkastaa manuaalisesti oikeassa käytössä. Mielestäni se kuitenkin tehostaa aika paljon prosessia, jos voi keskittyä pelkästään tarkastamaan valmiiksi annetut kohdat ja tekstit, verrattuna, että hakee ne itse. Mutta tosiaan tämä oli vasta noin kahden tunnin duuni ja ehkä jo tästäkin olisi jotain hyötyä työkaluna (ainakin kun lisäsin linkit vielä).

Loppuun on pakko varmaan korostaa mahdollisesti huolestuneille, että voin luvata AI-hallinnasta vastaavana, että vaikka ”Raide TES Taitaja” kehittyisi tästä kuinka hyväksi, työnantaja ei ole automatisoimassa Raiteessa (tai Fintrafficissa) TES-tulkintoja, vaan sekä työnantajan, että työntekijöiden edustajat pääsevät nauttimaan tästä ilosta jatkossakin itse – ehkä kuitenkin vähän helpotusta on näkyvissä

TES-tulkintoja itse asiassa ei edes todennäköisesti saa automatisoida tulevan EU AI Act -lakipaketin mukaan. Vaikka EU AI Act -laki ei tule voimaan vielä pitkään aikaan, eikä edes lopullisia tekstejä ole vielä (nyt on nimittäin vasta se todellinen neuvottelu käynnissä), olemme päättäneet kehityksessä noudattaa EU AI Act:ia jo heti alusta lähtien – yksityiskohtia tulee muuttumaan, mutta raami pysyy ja AI-hallintamallin voi rakentaa tiettyyn pisteeseen jo ennen lopullista tekstiä. Omasta ajankäytöstä on viimeisen yli viikon ajan ainakin mennyt todennäköisesti huomattavasti enemmän aikaa tekoälyn hallintapuoleen, lakien opetteluun ja yleiseen asioiden edistämiseen, kuin kehittämiseen tai näiden blogien kirjoittamiseen. Olipa mukavaa päästä lomalle hetkeksi ”kehittämisen” ja kirjoittamisen pariin. Alla kuva eteenpäin menevästä tasapainosta, mikä tekoälyn kehittämisen ja hallinnan osalta on tavoitteena.

Mikäli et lukenut vielä blogin esittelyosaa, luethan sen ja disclaimerit täältä.

Takaisin blogin etusivulle.

Avatar
Timo Nieminen
https://selko.ai

Leave a Reply