Tekoälymallien nopea kehitys muuttaa softatyötä, ja hyvä niin: ChatGPT:n kaltaiset Large Language Model (LLM) -mallit tuovat mukanaan paljon mahdollisuuksia. Tietoturvan näkökulmasta nopeisiin kokeiluihin liittyy myös riskejä. Mitä jokaisen devaajan tulisi ottaa huomioon, kun hakee tekoälyltä ratkaisuja ongelmiin?
Kaikki lähtee siitä, että ymmärtää, millaisesta teknologiasta on kyse, painottaa johtava konsultti Niklas Collin Cinialta:
“LLM-malli ei ole velho, vaan tekniikkaa, jota voit käyttää tehokkaasti ja turvallisesti tiettyyn pisteeseen asti. Tekoälyn vastaukset perustuvat dataan, mutta työkalujen välillä on eroa siinä, mistä tuo data on peräisin. Esimerkiksi ChatGPT:n käyttöehtoihin kuuluu, että se ottaa käyttöönsä kaiken tiedon, jota käyttäjät sille syöttävät. Azuren Open AI taas on esimerkki työkalusta, joka ei sieppaa sille syötettyä informaatiota käytön aikana, vaan hyödyntää muiden mallien keräämää tietoa.”
Opetatko tekoälymallia liikesalaisuuksilla?
Huhtikuun alussa maailmalla uutisoitiin tapauksesta, jossa Samsungin työntekijät olivat epähuomiossa vuotaneet huippusalaisia tietoja ChatGPT:tä käyttäessään. Insinöörit syöttivät koodin lisäksi sovellukseen muun muassa laitteistoon liittyviä muistiinpanoja. Liikesalaisuudet päätyivät osaksi sitä aineistomassaa, josta työkalun muut käyttäjät louhivat vastauksia. Uusimmissa päivityksissä ChatGPT on tuonut käyttäjille laajemmat mahdollisuudet vaikuttaa asetuksiin, mutta riski pitää tiedostaa.
Cinian ratkaisuarkkitehti Henrik Collin kuvailee arkisen tilanteen, jossa vahinko saattaisi tapahtua kenelle tahansa:
“Kopioit tekoälymallille pätkän koodia ja pyydät generoimaan siitä paremman version. Teet sen ehkä ajattelematta, kerääkö työkalu kaiken sille syötetyn datan talteen. Ja tämä on tärkeää: näin ei voi toimia, jos kyseessä on asiakkaan koodi.”
Projektin vaatimusten mukaiset ratkaisut teknisiin ongelmiin, pyynnöt testiskriptien luomiseksi – siinä pari muuta esimerkkiä tilanteista, joissa kannattaa pysähtyä miettimään, mitä on tekemässä, ennen kuin liittää lähtötiedot sovelluksen kenttään.
“Pahin skenaario olisi, jos ohjelmistokehittäjä kopioisi dataa keräävän työkalun käyttöön arkaluontoisia henkilötietoja. Kerran annettua tekstiä ei saa koskaan pois, jos käytössä on opetusaineistoa keräävä työkalu. Tällaisten vahinkojen estämiseksi tarvitaan yrityksissä turvakäytäntöjä”, Henrik Collin huomauttaa.
Lue myös: "Kuin ennakoiva tekstinsyöttö steroideilla” – Kokemuksia GPT-malleista softakehityksessä
Erota geneeriset kysymykset kriittisestä tiedosta
“Ohjelmistokehitykseen liittyy aina geneerisiä ongelmia, jotka toistuvat lukuisissa muissa projekteissa ympäri maailman. Silloin työkalun valinta ei ole niin kriittistä, vaan voit ajatella ChatGPT:tä tai mitä tahansa muuta AI-sovellusta osana tiedonhaun evoluutiota”, Niklas Collin vertaa.
Turvalliseksi todettu, työnantajan suosittelema apuvälinekin on nimittäin hyödytön, jos se ei toimi riittävän tehokkaasti. Kilpailevia sovelluksia kehitetään juuri nyt kiivaasti, ja niiden toimintaperiaatteissa ja tehossa on eroja.
Geneerisissä ongelmissa, omissa harrasteprojekteissa tai vaikka julkisen koodin kohdalla voi siis käyttää hyväksi huomattua työkalua, joka antaa parhaan vastauksen. Kyse on silloin ennen kaikkea oman osaamisen kehittämisestä. Mutta heti, kun siirrytään yritysluottamuksellisen tai salassa pidettävän tiedon alueelle, tietoturvakysymykset ajavat näppäryyden edelle.
Tekoälyn arvausten validointiin tarvitaan ihminen – se on myös tietoturvakysymys
Tekoälymallit muodostavat kysyjälle vastauksia, jotka ovat kyllä vakuuttavan näköisiä, mutta silti vain aineistomassaan perustuvia arvauksia. Sen vuoksi tekoälyn luomaan koodiin pitää jatkossakin suhtautua ehdotuksena, jonka ihminen arvioi ja tarkistaa, Niklas ja Henrik Collin muistuttavat. Ilman validointivaihetta tuotantoon voi päästä virheitä, viattomista bugeista dataa tuhoisasti korruptoiviin skripteihin tai haittaohjelman mentäviin aukkoihin.
Vaikka kehitys on nopeaa, yksi tekoälymallien rajoite liittyy yhä siihen, minkä tasoisia ongelmia niillä voi ratkaista, sanoo Henrik Collin:
“Tekoälymallit ovat tällä hetkellä hyviä luomaan pieniä yksityiskohtia. Pyydä työkalua ratkaisemaan yksinkertainen ongelma 10–20 rivillä koodia, ja saat todennäköisesti toimivan vastauksen. Suuret kokonaisuudet ovat niille kuitenkin vielä hyvin haastavia. Kysyjän pitäisi ymmärtää todella tarkasti, miten ohjeistaa sovellusta. Mitä korkeammalle tasolle viet tekoälyn käytön, sitä enemmän vastauksena on arvauksia, ei tietoa.”
“Mallit oppivat koko ajan paremmin muistamaan keskustelun kontekstia, eli liimaamaan uusia kysymyksiä aiempiin, mutta kyky tähänkin on yhä hyvin rajallinen”, Niklas Collin jatkaa. Senkin vuoksi korkean tason arkkitehtuurisuunnitelmia on vaikeaa tehdä tekoälyn tuella. Ja vaikka se onnistuisikin, palataan kriittisten tietojen vuotamisen riskiin:
“Ylätason liiketoimintakriittiset kysymykset alkavat olla sellaisia, joita et halua syöttää opetusaineistoa kerääville työkaluille. Yritys toimii alueella X ja haluaa saavuttaa tavoitteen Y – millaisten ratkaisujen varaan sovellus kannattaisi rakentaa? Jo kysymällä tulee paljastaneeksi tietoa, jota ei saa enää takaisin”, Henrik Collin muistuttaa.
Hyödynnä tekoälyä softakehityksessä tietoturvallisesti – devaajan muistilista:
- Tunnista ne tilanteet, joissa etsit vastausta geneeriseen ongelmaan. Silloin voit kokeilla erilaisia AI-sovelluksia ja laajentaa omaa osaamiskenttääsi.
- Erota tilanteet, joissa käsittelet asiakkaan koodia, liiketoimintaan liittyvää dataa tai arkaluontoista tietoa. Käytä silloin ainoastaan työnantajan turvakäytäntöjen mukaisia AI-työkaluja.
- Tunne LLM-mallien toimintaperiaate: vastaukset ovat tiettyyn datamalliin perustuvia arvauksia, jotka voivat johtaa myös harhaan.
- Vie tekoälyn tuottama koodi tuotantoon vasta sen jälkeen, kun ihminen on validoinut, että koneen antamat vastaukset ovat oikeita ja koodi toimii.
- Tekoäly kehittyy valtavaa vauhtia. Ole utelias ja ehdota uusien AI-sovellusten mahdollisuuksien tutkimista tiimillesi. Pian selviää, mitkä työkalut tulevat ohjelmistokehittäjien työkalupakkiin jäädäkseen.
Lue myös:
Tekoälyn hyödyntäminen ohjelmistokehityksessä: 4 tehokasta tapaa kehittää taitojaan
6 näkökulmaa koodin laatuun: Näin ohjelmistokehitystiimit sopivat yhteisistä käytännöistä
Cinian kehitystiimi vieraili Sydänsairaalassa: “Oman työn jälkeen havahtuu eri tavalla”