tiistai 27. helmikuuta 2024

Tekoäly vie tarpeen osata perinteistä ohjelmointia.




Nvdian toimitusjohtaja on sanonut sen, minkä kaikki me tiedämme, nimittäin tekoäly vie tarpeen opetella koodaamista. Tekoäly on väline, joka on mullistvampi kuin milloinkaan ennen. ChatGPT ja sen kaltaiset kielimallit ovat asioita, jotka tekevät koodia suoraan seuraamalla luonnollista puhetta, ja sen takia ehkä perinteinen koodaaminen on kuollut ammatti. Tai tuo ammatti tulee kuolemaan muutaman vuoden sisällä, kun genratiiviset tekoälyt tekvät koodamisen paremmin, luotettavammin sekä muutenkin tehokkaammin kuin mitä kukaan ihminen kykenee tekemään. Ja jos koodaustaitoja ei tarvita, niin miksi kukaan niitä lähtee enää opettelemaan. Mikäli tekoäly tekee saman asian kahdessa tunnissa, mitä ihminen tekee kaksi kuukautta, niin miksi koodausalan yritys ei siirry käyttämään tekoälyä?

Samalla tavalla kuin on käynyt Dos-komentojen kanssa, eli edes komentoa "dir", joka tulostaa tiedotolistan ei enää automaattisesti opetella edes tietojenkäsittelyn yliopistollisessa opetuksessa, ja jopa Linux-servereihin on ollut saatavilla graafisia käytöliittymiä, ja vaikka Linuxissakin on tuo legendaarinen komento, niin kuitenkaan sen osaaminen ei ole tärkeää. Tämän nykyään erittäin helposti havaittavan kehityksen on aloittanut oikeastaan Shell- sekä Windows-järjestelmä, joka aikoinaan teki perinteiset dos-pohjaiset käyttöliittymät tarpeettomiksi. Shellin avulla oli helppoa etsiä tiedostoja, samoin kuin Windowsin graafinen käyttöliittymä teki perinteisen Dos-järjestelmän käyttötaidot tarpeettomiksi. 

Eli oikeastaan kukaan ei enää nykyään tee mitään tuossa Windowsin mustassa ruudussa, eikä monikaan ole tuota CMDtä edes avannut. Seuraava loginen askel on se, että tekoäly muuttaa koodamisen sellaiseksi, että se koodaaja ainoastaan antaa tuolle ohjelmistolle suoraan niin sanotun vaatimusmääritelyn, ja sitten tuo tekoäly, eli kielimalli vain valmistaa koodilistauksen. Se että mitä tuo uusi tapa tuottaa ohjelmia vaatii käyttäjiltä eli ohjemoijilta on hyvää yleiskieltä sekä myös kykyä mallintaa esimerkiksi käyttöliittymiä, jotta tekoäly suorittaa sitten tarvittavat koodaukset sekä muutokset jo olemassa oleviin koodeihin. 

Tuolloin tekoälyn käyttäjä ikään kuin sorvaa tuotetta sellaiseksi, että se vastaa asiakkaan vaatimuksia. Hän käskyttää tekoälyä muuttelemaan koodia, jotta esimerkiksi verkkokaupan tausta olisi sellainen, että se miellyttää asiakasta. Mutta kuten tiedämme, niin tämä tehokas ohjelmointitapa tappaa varsinaisen koodaamisen. Tietokoneet tietenkin kehittyvät ja ne kykenevät ajamaan kaiken aikaa tehokkaampaa koodia, mikä tarkoittaa sitä, että tekoälyistä tulee entistä monimutkaisempia. Ne muuttuvat raskaammiksi, koska niiden pitää kyetä tekemään uusia asioita nopeasti. 

Tekoälyn kehitys on sellainen asia, mikä kehittyy nopeammin kuin koskaan ennen. Ensimmäisen ChatGPT:n version ovat valmistaneet ihmiset. Mutta sitten jatkossa on ilmeisesti mukaan kehitystyöhön tullut myös tekoäly. Eli tekoälyt ovat alkaneet kehittää toisiaan. Ne tarvitsevat ihmistä antamaan niille käskyjä, mutta muuten tekoälyt osaavat valmistaa erittäin monimutkaisia koodeja, joiden avulla voidaan toteuttaa vieläkin tehokkaampia tietojärjestelmiä, joiden tietoturva on aivan uudella tasolla. Samoin niiden kyvyt ovat tasolla, jota mikään tietojärjestelmä ei ole koskaan ennen saavuttanut. Mutta edelleen on ihmisen tarkastettava tekoälyn tuottama tieto. Tekoäly ei siis tuota automaattisesti uutta tietoa, vaan se yhdistää erilaisista lähteistä keräämänsä tiedot.  

Tekoäly saattaa yhdistellä tekstejä jopa miljoonista lähteistä, jos se vain omaa kyvyn tarkastella miljoonia lähteitä samaan aikaan. Mutta kuten olen miljoona kertaa sanonut, niin tekoäly ei ymmärrä kotisivujen sisältöä. Se ehhdistää tekstejä tiettyjä algoritmejä seuraten. Joten jos sen käyttämässä lähdeaineistossa on virheitä, niin tekoäly ei ehkä tunnista tuota virhettä, ja siitä seuraa ehkä hyvinkin hupaisia virheitä. Tuolloin tekoäly ei tee virheitä, vaan se joka tuottaa tuon kotisivun on se, joka on virheet tehnyt, mutta tekoäly ei vain osaa erottaa noita virheitä oikeasta tai paremmin sanottuna oikeaksi todistetusta tiedosta. 


https://www.tivi.fi/uutiset/nvidian-toimitusjohtaja-koodaamista-ei-tarvitse-enaa-opetella/fac1637b-a85f-4a80-b657-1630d030c864


sunnuntai 25. helmikuuta 2024

Tekoäly on väline joka mullistaa kaiken toiminnan.



Vaikka nykyinen tekoäly näyttää tietokone-ohjelmien Mona-Lisalta, niin kaikessa edistyneisyydessään se on kuitenkin vasta kuva siitä, mitä tekoäly voisi olla. Tekoäly on ohjelmisto tai oikeastaan generaattori, jonka keskiössä on kielimalli, eli ohjelmisto joka ymmärtää puhuttua kieltä. Tuo ohjelmisto tietenkin vaatii niin sanotusti hyvää yleiskieltä, jotta se kykenee suorittamaan siltä vaadittavat tehtävät. Tuo tekoäly on generaattori, jonka avulla voidaan luoda loistavia uusia sovelluksia, jotka sisältävät mutkista koodia. Eli tekoäly voidaan kytkeä mihin tahansa tietokoneeseen, ja sitten tuon välineen kautta voidaan tuota tietokonetta ohjata. Tietokone on portti esimerkiksi robottien ohjaamiseen. 

Tietokoneen kautta voidaan ohjata esimerkiksi robotteja, jotka voivat suorittaa autonomisia tehtäviä. Eli generatiivinen tekoäly joka kytketään robottiin voi tehdä robotista erittäin monipuolisen työkalun. Nuo robotit voivat palvella ihmistä monissa sotilas, sekä toivon mukaan enemmän siviilitehtävissä. Mutta me kaikki tiedämme että generatiivinen tekoäly on väline, joka auttaa varmasti sotilaita heidän tehtävissään. Älykkäät ratkaisut kuten biometriset tunnisteet, sekä esimerkiksi välineiden tunnistaminen niiden tunnusten perusteella sekä tiedon molemminpuolinen jakaminen tekee tekoälystä välineen, jonka avulla komentaja voi suoraan määrätä vaikutusta johonkin kohteeseen, ja sitten tekoäly valitsee välineen, jolla kohteeseen vaikutetaan.

Samoin tekoäly kerää tietoja käytetyistä varusteista sekä niiden tehosta. Kognitiivinen tekoäly oppii virheistään, eli tekoäly pitää myös tarkasti kirjaa siitä, mitä välineitä sekä taktiikkaa on käytetty, ja mitä taktiikkaa sekä välineitä vastapuoli on käyttänyt. Eli jos joku väline ei vaikuta kuten halutaan, niin silloin tekoäly analysoi yhdessä komentajien sekä muiden toimijoiden kanssa syyn tähän, ja sitten tuohon ongelmaan kehitetään ratkaisu. 

Tällä hetkellä NASA kehittelee autonomisia tekoälyn ohjaamia robotteja, joiden tehtävänä on suorittaa erilaisia kunnossapito- ja rakennustehtäviä kiertoradalla. Ja ehkä tulevaisuuden kuuasemilla sekä kauempana avaruudessa vastaavat robotit suorittavat rakennustehtäviä sekä keräävät näytteitä jostain kaukaa. Saattaa olla että tulevaisuuden astronautit laskeutuvat Kuuasemalle, joka on täysin robottien rakentama, ja sitten he vain avaavat ilmalukon sekä rullaavat matot auki. Eli näin loistavia ratkaisuja tekoälylle löytyy myös asesovellusten lisäksi. 

Tekoäly kehittää ehkä tulevaisuudessa itseään ihmisten kanssa. Ja ihmisten pitää ymmärtää että se mitä tekoäly tekee on ihmisestä itsestään kiinni. Ihminen tekee tekoälyn käyttöä koskevat päätökset, mutta tietenkin tekoälyn ohjelmoinnin pitää olla selkeää, hyvin tehtyä sekä samalla myös käskyttäjän pitää muistaa se, että hän päättää mitä tekoäly tekee. Tekoäly ei itse ole hyvä eikä paha. Se on työkalu joka ohjaa robotteja sekä muita vastaavia asioita. Sen takia meidän pitää kehittää tekoälyä erittäin huolellisesti, jotta emme joudu kokemaan ikäviä yllätyksiä. 

lauantai 24. helmikuuta 2024

Puhuttua kieltä ei voi ymmärtää ymmärtämättä puhujan kulttuuritaustaa.

 


Me kehitämme jatkuvasti uusia asioita, joista yksi on tekoäly. Kun kehitämme tekoälyä, meidän pitää rohkeasti katsoa tulevaisuuteen. Tekoäly on väline joka on jatkuvasti monipuolisempi sekä monissa asioissa nopeampi kuin ihminen. Mutta kuitenkin paraskaan tekoäly ei ole muuta kuin työkalu. Tekoälyn kyvyt ovat vielä kaukana esimerkiksi Ludwig van Beethovenin säveltäjätaidoista, ja kun luova tekoäly valmistaa kuvia, niin se seuraa vain ihmisen antamia käskyjä. Siis ihminen on se luova osapuoli, ja tekoäly vain seuraa ihmisen antamia tehtäviä. Tämän takia luova tekoäly ei ole luova ilman ihmistä. 

Ihminen siis "sorvaa" luovan tekoälyn kanssa tuotetusta kuvasta sen, minkä me näemme. Yllä oleva kuva on kopioitu internetistä, mutta se kuvastaa mielestäni erittäin hyvin sitä asennetta, mikä meillä pitäisi ehkä olla tekoälyyn. Meidän pitää olla uteliaita, sekä samalla myös muistaa että tekoälyä ei välttämättä käytetä vain hyvään. 

Tekoäly on väline, ja ihminen on käyttäjä. Tekoäly ei siis ole mitenkään erityisen luova, eikä se tee mitään oma-aloitteisesti. Se miksi tekoäly on vaarallinen johtuu ehkä siitä, että tekoäly saa käskyn, jota se ei täysin ymmärrä, tai sitten se ohjaa esimerkiksi tappaja-droonia, mikä on tarkoituksellista vaarantamista. Mutta omasta aloitteestaan ainakaan nykyiset tekoälyt eivät nouse kapinaan. Tekoälyn kapinan takana on aina ihminen, joka antaa joko sellaisia käskyjä, että tekoäly ei niitä ymmärrä. Tai sitten tekoäly ohjaa jotain asetta. 

Syy miksi tekoäly ei ymmärrä käskyjä saattaa johtua siitä, että ne on annettu esimerkiksi murteellisella kielellä tai muuten huolimattomasti. Samoin puhutut komennot saatetaan antaa tilassa missä on paljon meteliä. Ja tuolloin tekoäly ei noita käskyjä ymmärrä. 

Helsingin Yliopiston kotisivuilla oli juttu siitä, kuinka meidän pitäisi tekoälyn yhteydessä kehittää luonnollista kieltä ymmärtäviä algoritmeja. Tuo asia varmaan on aivan selvä, koska kun kehitämme seuraavaa tekoälyn sukupolvea ja erityisesti sellaista tekoälyä, joka on kykenevä tunnistamaan puhuttua kieltä, niin meidän pitää myös opettaa tekoälyä käsittämään sitä, mitä sille puhumme. Ja se mikä tekee luonnollisen kielen ymmärtämisestä tekoälylle vaikeaa on se, että oikeastaan se mitä puhumme on vain pieni osa kieltä ja sen ymmärtämistä. Kieltä ei voi ymmärtää ymmärtämättä kielen yhteyttä kulttuuriin. 

Tekoälyn avulla tutkitaan oppimista, ja samalla oppimisen tutkimusta käytetään hyväksi tekoälyn tutkimisessa. Neuroverkkoja jotka ovat äärimmäisen tärkeitä, kun raskaita tekoälysovelluksia ajetaan kehitetään siten, että ne jäljittelevät entistä enemmän elävän ihmisen neuronien sekä aivojen ja muun hermoston toimintaa. Ne osaavat hyvin tehokkaasti yhdistellä eri tietolähteitä keskenään, mutta niillä ei vielä ole oma-aloitteisuutta. Eli esimerkiksi luovat tekoälyt tarvitsevat ihmistä aloittaakseen luomisprosessin. 

Tämä tarkoittaa että tekoäly ei ole muuta kuin äärimmäisen kehittynyt työkalu, joka voi tietenkin auttaa ihmistä luomaan erilaisia asioita. Mutta tekoälylle sen tarvitsemat parametrit antaa ihminen, joka käyttää tekoälyä kuten äärimmäisen kehittynyttä sivellintä, ja sitten käyttäjä antaa tekoälylle ohjeita, kuinka sen pitäisi muokata kuvaa tai sävellystä. Eli oma-aloitteisesti tekoäly ei tee luovaa työtä. Luovan työn tekee ihminen, ja tekoäly vain tottelee saamiaan käskyjä. 

Tekoälyä käytettäessä olisi ehkä syytä vaatia niin sanotun kirjakielen käyttöä, koska en usko että tekoäly ymmärtää vaikkapa savon murretta. Tai ehkä voimme myös vähäksi aikaa unohtaa myös sellaiset tekoälyt, jotka ymmärtävät Helsingin murretta eli Stadin slagia". Joten sen takia meidän täytyy ehkä hieman odotella tekoälyä eli kielimallia, jota voimme käyttää omalla murteella, jota käytämme jokapäiväisessä elämässämme. Tekoäly ei siis ole älykäs, se vain yhdistää eri lähteistä hankittua tietoa erilaisten parametrien mukaan. Joten tekoäly ei esimerkiksi mene paniikkiin, vaan sen palvelin saa ainoastaan liikaa palvelupyyntöjä, jolloin se ei enää ehdi vastata niihin. Tuolloin liian monet palvelupyynnöt toimivat kuten klassinen palvelunestohyökkäys, ja palvelin tukkeutuu. 

Kielen ymmärtäminen vaatii kulttuurin ymmärtämistä, koska suuri osa viestinnästä on sanatonta, ja jos haluamme että tekoäly ymmärtää meitä, niin silloin meidän pitäisi opettaa sille esimerkiksi sellaisia asioita kuin sanaton viestintä, sekä sanojen ja asioiden piilomerkityksiä, joita jotkut ihmiset viljelevät jatkuvasti. Äänensävy sekä esimerkiksi asiayhteys saattavat merkitä hyvin paljon. Enkä tässä vielä lähde käsittelemään sellaisia asioita kuin kehonkieli, johon kuuluvat erilaiset käden tai vartalon asennot. Esimerkiksi arabeilla parran sively oikealla kädellä merkitsee sitä, että henkilö vakuuttaa toista, tai sitten jos arabi tekee saman asian vasemmalla, niin hän halventaa toista. 

“Oletpa älykäs” tai “fiksu kaveri” ei välttämättä tarkoita aivan sitä, mitä joku haluaa sen tarkoittavan. Noiden sanojen merkitys riippuu vähän tilanteesta. Ja sen takia puhuttu kieli on tekoälylle hyvin vaikea asia. Tekoäly ei oikeasti ymmärrä mitään, vaan se ainoastaan yhdistelee tekstejä eri lähteistä. 

Eli jos ajattelemme suomen kieltä, niin tietenkin tekoälyn ongelma on siinä, että sen tekijät ovat usein englantia puhuvia henkilöitä, joiden kulttuuritausta on varsin erilainen kuin suomalaisten. Tuolloin kulttuuritausta saattaa muuttaa joidenkin termien merkityksen, ja se saattaa aiheuttaa enemmän tai vähemmän hupaisia asioita. Kun tekoälyä kehitetään, niin tietenkin se vaatii kielimallin.  

Tekoäly on siis kielimalli, joka liittää kysymyksen johonkin asiaan, jonka se etsii joko Internetistä tai muista tietokannoista. Jos me suomalaiset rakennamme oman suomeksi kehitetyn mallin joka osaa rakentaa C-koodin joka tekee ties mitä, niin silloin me kohtaamme kielimuurin amerikkalaisiin nähden. Vai miten kääntäisitte englantilaiselle sanan “kielimalli”? Olisiko se “language model” vai “tongue model”. 

Jos taas puhutaan esimerkiksi “mustasta kaartista”, niin tekoäly ymmärtää sen ilman muuta kaartista, johon kuuluu tummaihoisia ihmisiä. Eli se ei voi käsittää sitä, että kyseessä on kaartin univormun väri. Me suomalaiset tietenkin ymmärrämme sanan kieli tarkoittavan joko puhuttua kieltä, tai elintä joka on meillä suussa. Tällaiset pienet yksityiskohdat saavat aikaan sen, että puhuttu kieli on tekoälylle vaikea asia. Ja sen takia esimerkiksi Google veti tekoälynsä pois. Tuollaiset pieniltä tuntuvat virheet voivat olla hyvinkin kiusallisia jos niitä sattuu väärissä paikoissa. 

https://www.helsinki.fi/fi/uutiset/kieli/tekoalybuumi-edellyttaa-uusia-luonnollisten-kielten-ymmartamisen-mittareita

Politiikka ei saisi vaikuttaa tiedustelutyöhön

  Saana Nilssonin kolumnissa sanotaan, että hyvä tiedustelupalvelu vähät välittää siitä, mitä päättäjät haluavat kuulla. Samalla kuitenkin i...