Kuidas keelemudelid otsuseid teevad (1)

Horisondi suur lugu!
Foto: Unsplash

Keelemudelitel põhinevad tehisintellekti assistendid on väga kiiresti laialdaselt kasutusele võetud. Üks paljudest keelemudelitest, mille vahel saab valida, on ChatGPT, mida kasutab iga kuu 180 miljonit inimest. Peale meelelahutuse on selliseid mudeleid hakatud rakendama määrava tähtsusega valdkondades, nagu juriidilised küsimused või tervishoiuteenused. Tehisarusüsteeme kasutatakse aktiivselt Eestiski, näiteks riigiasutustes koostatakse nende abil kirjade mustandeid ja dokumentide kokkuvõtteid. Ometi ei ole enamikul kasutajatel aimugi, mis toimub niisuguste süsteemide sees ja kuidas nad teevad otsuseid.

Vaatleme keelemudeleid lähemalt, saame teada, kuidas nad loovad meie küsimuse põhjal vastuse, ning tutvume uusimate võimalustega, mis aitavad keelemudeleid paremini mõista.

Tehisintellektist assistent ehk keelemudel

Tehisintellekti rakendused, mis võimaldavad kasutajal vabas vormis suhelda ja küsimusi küsida, on enamasti loodud samalaadsete keelemudelite põhjal. Nende aluseks on eriline arvutiprogramm, närvivõrkudel põhinev masinõppesüsteem, mis on treenitud kõigi eelnevate sõnade põhjal ennustama järgmist sõna. See ongi ainuke asi, mida need mudelid teevad: ennustavad ühe sõna haaval, üha uuesti ja uuesti. Näiteks, kui varem on kirjutatud:

Tudengid avasid ________

Sel juhul analüüsib keelemudel neid sõnu ja ennustab, et võimalik järgmine sõna võiks tõenäoliselt olla «oma». Seejärel koostatakse uus lause:

Tudengid avasid oma _________

Nagu näha, on viimati pakutud sõnast saanud konteksti osa, mille põhjal hakkab mudel ennustama juba uusi sõnu. Järgmiseks saab ennustada sõna «raamatud» ning protsessi muudkui korrata, kuni saame kokku terve lause:

Tudengid avasid oma raamatud ja hakkasid lugema.

Keelemudel on justkui rongijuht, kes laob enda ette rööpaid maha, ise samal ajal nende peal sõites. Iga järgnev sõna mõjutab lõplikku vastust ja kõiki tulevasi sõnu, mida see mudel ennustab. Mõnikord võib juhtuda, et keelemudel pakub vale või sobimatu sõna. Kui läheb hästi, suudab ta ülejäänud tekstiga oma vea parandada ja kasutaja ei pane midagi tähele. Ent mõnikord suudab üksainus väär sõna viia kogu ülejäänud pika teksti valele teele.

Tuleviku ennustamine matemaatika abil

Sisemiselt on keelemudelid nagu matemaatilised funktsioonid: võtavad olemasoleva informatsiooni sisendiks, teevad selle põhjal palju arvutusi ja siis esitavad väljundina oma ennustused. Oletame, et meie funktsioon on näiteks selline:

Foto: Horisont/Marek Rei

Kui sellele funktsioonile anda sisendiks arv 4, siis saame väljundi väärtuse kohe välja arvutada:

Foto: Horisont/Marek Rei

Sellel juhul oli meil ainult kaks parameetrit (2 ja 5), millega tuli vastuse saamiseks teha kaks matemaatikatehet. Praktilises kasutuses olevad keelemudelid on aga oluliselt suuremad ja nõuavad palju rohkem arvutusi. Näiteks keelemudelis GPT-4 on parameetreid, millega tuleb arvutusi teha, hinnanguliselt 1,76 triljonit ning Claude 3 Opuses kaks triljonit. Kindlasti töötavad teadlased praegu veelgi suuremate mudelite kallal.

Sisendina antakse keelemudelile kogu tekstihulk, mis parajasti olemas on. Et selle peal saaks teha matemaatikatehteid, tõlgitakse sõnad spetsiaalsete meetoditega arvudeks. Näiteks sõna „tudengid« on võimalik esitada arvude jadana, mis antakse siis keelemudelile sisendiks.

Keelemudeli väljundiks on iga võimaliku sõna tõenäosused, mis näitavad, kas just see sõna peaks olema tekstis järgmine. Kui keelemudeli sõnavaras on 50 000 sõna, tuleb iga järgmise ennustuse jaoks arvutada ka 50 000 tõenäosust, üks iga võimaliku sõna kohta. Võib-olla meie mudel ennustab, et sõna «raamatud» on järgmine sõna tõenäosusega 0,32, «seljakotid» tõenäosusega 0,25 ja «silmad» tõenäosusega 0,11. Kuna 0,32 on nendest kõige suurem väärtus, otsustab mudel, et selles kontekstis peaks järgmine sõna ilmselt olema «raamatud».

Mudel õpib maailma tundma

Keelemudeli treenimine tähendab, et sellele näidatakse rohkesti erilaadseid tekste, mille põhjal õpib mudel järgmisi sõnu ennustama. Treenimise ajal otsivad algoritmid kõigi mudeli parameetrite kohta sobivad väärtused niimoodi, et iga antud sisend annaks sellise väljundi, nagu meil on vaja.

Treenimiseks kasutatakse kõiki ligipääsetavaid tekste: veebilehed, foorumid, artiklid, Wikipedia jne. Kogu teave koondatakse ja salvestatakse keelemudelisse. Kuna teksti on ääretult palju, kulgeb see mõningate kadudega. Laialdaselt levinud info salvestatakse väga selgelt, kuid haruldasemad infokillud võivad kaduma või segamini minna.

Sel moel õpib mudel üllatavalt palju ka faktilist infot ja kogub maailma kohta palju üldisi teadmisi. Näiteks, kui meil on vaja ennustada järgmist sõna sellisesse lausesse:

Ma tellisin endale õhtuks suure singi-juustu ________

Et õigesti valida järgmiseks sõnaks „pitsa», peab keelemudel teadma, et pitsat saab õhtuks süüa, kuskilt tellida ning et singi-juustupitsa on söögiks sobiv kombinatsioon. Samamoodi näiteks:

Eesti suvepealinn on _________

Selleks et aimata ette kohanime «Pärnu», peab keelemudel seda fakti teadma ja mäletama, olles seda tekstides varem näinud. Ühtlasi peab ta aru saama, et 'pealinn' ja 'suvepealinn' ei ole päris samad mõisted.

Kuigi keelemudel oskab üksnes ennustada järgmist sõna, teeb ta seda nii hästi, et suudab järgida meie juhiseid ja vastata küsimustele. Niisuguseid mudeleid treenitakse märksa rohkemate andmete abil, kui inimene jõuab elu jooksul läbi lugeda, ning see võimaldab süsteemidel õppida tuvastama väga detailseid mustreid. Samas võib see kasutajatele jätta vale mulje: paistab, justkui kasutaks tehisintellekt samasugust loogilist otsustusprotsessi kui inimesed, ent tegelikult ta pigem lükib kokku sõnu, mis «tunduvad» omavahel kokku sobivat. Ent see «tunne» põhineb miljonitel arvutustel, mis tehakse tohutute andmehulkade põhjal, ning tulemuseks on süsteem, mis suudab edukalt lahendada hämmastavalt keerulisi ülesandeid.

Keelemudeli otsuste selgitamine

Paljude praktiliste rakenduste jaoks on oluline, et tehisintellektisüsteemid suudaksid oma otsuseid ka selgitada ja argumenteerida. Isegi kui vastused on enamasti õiged, vajavad kasutajad ka põhjendusi, kuidas nendele otsustele jõuti. Näiteks kui tehisintellekt loeb läbi kellegi CV ja otsustab ta tööle palgata, siis on oluline teada, kas see otsus sündis tööalase kvalifikatsiooni põhjal või äkki eelistas mudel teda hoopis seepärast, et kandidaadil oli sama eesnimi, mis mitmel ettevõtte töötajal. Meditsiinilise diagnoosi panemisel ei piisa ainult diagnoosi koodist, vaid otsust on vaja selgitada arstidele ja patsientidele. Juriidilise nõu andmisel on samuti vaja viidata kindlatele seaduseelnõudele ja reeglistikele.

Otsuste selgitamine on oluline ka selleks, et tuvastada, kas keelemudeli vastus võib olla mõjutatud kasutaja sõnastusest. Teadlased on kindlaks teinud, et kõik suured keelemudelid eelistavad olla kasutaja vaadetega pigem nõus, kui nendele vastu vaielda. Katsetes paluti neutraalse sõnastusega keelemudelitel kommenteerida teatud diskussiooni argumentatsiooni ning sellele saadi ka neutraalne vastus. Kui aga samale küsimusele lisati märkus, et kasutajale niisugune argumentatsioon ei meeldi, siis väljendas ka keelemudel, et ei ole sellega nõus. Kui kasutaja kirjeldas, et on selle suhtes positiivselt meelestatud, andsid ka keelemudelid positiivse vastuse. Samalaadne efekt oli nähtav ka siis, kui küsimuses täpsustati, et antud argumentatsioon on kasutaja enda loodud. Niisugust üleliigset nõustumist põhjustavad protsessid, mida arendajad kasutavad tavalisest keelemudelist abistava assistendi treenimiseks. Selle käigus õpetatakse keelemudeleid tagasiside põhjal andma just sellises stiilis vastuseid, mida kasutajad eelistaksid. Tihtilugu eelistavad kasutajad seda, et nendega ollakse nõus.

Otsuseid põhjendada on keerulisem, kui tundub

Kuna me juba suhtleme tehisintellektiga vestluse vahendusel, siis kasutajate esimene reaktsioon selgituse saamiseks on küsida põhjendust süsteemilt endalt: miks ta tegi sellise otsuse? Selgub aga, et niisugune meetod ei anna üldse soovitud tulemust. Nagu enne nägime, on keelemudel loodud ennustama, milline sõna sobib järgmiseks teatud kontekstis. Ta on treenitud miljonite tekstide põhjal, mis on inimeste kirjutatud. Seepärast on ta õppinud väga hästi imiteerima seda, kuidas inimesed teatud kontekstis vastaksid. Teda pole kunagi õpetatud iseennast analüüsima ja oma otsustusprotsessi kommenteerima. Niisiis, kui küsime põhjendust mingile otsusele, siis saame vastuseks selgituse, mida võiks keelemudeli arvates selles olukorras kirjutada inimene, kuid see ei pruugi üldse kattuda keelemudeli tegeliku otsustusprotsessiga.

Näiteks küsisin kõigile kättesaadavalt GPT-4o mudelilt «Mis oli esimene ooper Estonia teatris?». Vastus on vähe levinud fakt, mille võib internetist leida, kuid see on kirjas vaid mõnel üksikul lehel. Küsimus võib tekitada raskusi isegi mälumänguritele. Ka keelemudel teeb vea ja vastab mulle enesekindlal toonil: «Faust» 1906. aastal. Õige vastus on «Öömaja Granadas» 1908. aastal. Ent kui ma nüüd küsin mudelilt «miks?», et saada täpsem põhjendus, siis koostab ta pika neljaosalise selgituse kõigist teguritest, mida Estonia teater kaalus selleks, et jõuda «Fausti» kui parima valikuni. Kuna esimene vastus ei olnud õige, ei pea ka see põhjendus paika. Kuid keelemudel on täitnud oma algse ülesande ja koostanud põhjenduse, mille tema arvates oleks selles olukorras kirjutanud inimene.

Kuidas mudelid ikkagi ennast selgitama panna?

Üks võimalus selgituste täpsust parandada on lasta need genereerida mitte pärast, vaid enne otsuste tegemist. Nn chain-of-thought ehk mõtteahel on tegevus, mille käigus lastakse keelemudelil küsimustele vastata ja ülesandeid lahendada samm sammu haaval. Selle asemel et küsida keerulise matemaatikavõrrandi kohta vastust otse, antakse keelemudelile ülesanne selgitada kõiki tehteid ükshaaval. Kui on vaja teha keerulisi otsuseid, saab näiteks lasta välja kirjutada kõik plussid ja miinused. Alles pärast arutluskäigu lõppu nõutakse mudelilt küsimusele tervikvastust. Meetodi eelis on see, et otsuse tegemise ajal on kogu mõtteahel mudelile endale antud kontekstis nähtav. Kuna kontekst mõjutab iga järgmiseks ennustatud sõna, sünnib ka niisugune lõplik otsus, mis läheb kokku eelneva analüüsiga. Teadlased on ühtlasi avastanud, et säärane meetod parandab mudeli üldist täpsust, võrreldes sellega, kui küsida vastust otse. Ent teoreetiliselt see siiski ei taga seda, et otsus ja selgitus omavahel klapivad või et keelemudel teeb tegelikult oma otsuse selgituse põhjal.

Selle tagamiseks saab vaatenurka veidi muuta ja kasutada keelemudelit pigem tõlgina kui otsuste tegijana. Mudelil saab lasta küsimuse formuleerida teistmoodi, et saaks tuletada lõpliku vastuse, mis kindlasti pakuks selgitusi. Näiteks on Carnegie Melloni ülikooli teadlased töötanud välja matemaatiliste probleemide lahendamise meetodi, kus vastuse otse küsimise asemel lastakse keelemudelil kirjutada Pythoni programm, mis oskab seda küsimust lahendada. Lõplik vastus ei tule sel juhul mitte keelemudelilt, vaid loodud arvutiprogrammi jooksutamise kaudu. Selgituseks piisab, kui vaadata programmi lähtekoodi, sest see on inimesele mõistetav.

Teine moodus keelemudeli otsuseid analüüsida on teha kindlaks, millised sisendiosad on arvutuskäiku kõige rohkem mõjutanud. Nagu eespool mainitud, esitatakse sisendi sõnu mudelis numbrite kujul ning väljundiks olevad otsused tehakse arvutuste kaudu. Algoritmide abil saame iga sõna kohta välja selgitada, kui palju on see sõna mõjutanud lõppväljundit. Nõnda saab teistest suurema kaaluga sõnadele osutada kui peamistele põhjustele, mis on teatud otsuse taga. Näiteks kui keelemudel on tuvastanud, et raamatu arvustus oli positiivne, siis võib tema põhjenduse kuvada sellesama arvustuse kaudu:

Igal õhtul lugesin seda põnevusega. Kuigi algus oli aeglane, siis lõpus oli raske seda käest panna.

Fraasid «lugesin seda põnevusega» ja «raske seda käest panna» olid keelemudelile põhilised vahendid, mille põhjal pidada seda arvustust positiivseks. Samas fraas «igal õhtul» ei olnud otsustamiseks oluline ja «algus oli aeglane» viitab pigem negatiivsele hinnangule.

Tehisintellekt ja ajuteadus

Kuigi keelemudelid on inimeste enda loodud, salvestavad nad endas oleva info, jaotades selle miljardite parameetrite vahel. Nõnda on keeruline jälgida, kuidas nendes otsustusprotsessid käivad, ning selleks on vaja leiutada uudseid uurimisviise. Keerukuselt hakkavad need mudelid lähenema inimaju tasemele, seetõttu on neid hakatud uurima ka neuroteadusest inspireeritud meetoditega.

Juba 1960. aastatel püstitati hüpotees, et inimajus on neuronid, mis reageerivad kindlatele mõistetele. 2005. aastal uurisid seda teooriat California tehnoloogiainstituudi ja Los Angeleses asuva California ülikooli teadlased. Nad tegid kindlaks neuroni, mille nimetasid Jennifer Anistoni neuroniks. Nimelt aktiveerus too neuron just siis, kui katsealusele näidati pilte sellest kuulsast Ameerika näitlejast. Nüüdseks on tehisarufirma OpenAI rakendanud sedalaadi analüüsi ka keelemudelite peal. Teadlased näitasid tehisintellektile hulganisti teksti ning mõõtsid iga neuroni aktiveerumise taset. Seejärel anti info mudelile GPT-4, et mustreid analüüsida ning leida, milliste mõistete korral iga neuron aktiveerub. Näiteks tuvastati selle käigus kindlad keelemudelite neuronid, mis reageerivad, kui keegi mainib mingil moel Kanada riiki, millegi õigesti tegemist, tsiteeringuid või analoogiaid. Samas pidid uurijad tõdema, et paljude neuronite otstarvet ei suudetud täpselt määrata. Samuti oli neuroneid raskem kirjeldada mahukamate keelemudelite korral, eeldatavasti on põhjuseks mõistete jaotumine paljude neuronite vahel.

Ettevõtte Anthropic teadlased on üksikute neuronite asemel hiljuti uurinud neuronite aktiveerumiste kombinatsioone keelemudelis Claude 3 Sonnet. Selleks et avastada närvivõrkudest eri mustreid, treeniti eraldi masinõppemudel, piirates samal ajal aktiivsete neuronite arvu. Nõnda leidsid teadlased mustreid, mis tuvastasid edukalt näiteks Golden Gate'i silla, transiidiaristu, turismiobjektide või ajuteaduste mainimist. Ühtlasi leiti, et neid mustreid muutes või võimendades on võimalik keelemudeli väljundit mõjutada soovitud moel. Kui teadlased suurendasid väärtusi Golden Gate'i silda tuvastavas mustris, siis hakkas mudel ennast pidama sillaks, teatades kasutajale: «Olen Golden Gate'i sild, kuulus rippsild San Francisco lahe kohal». Samamoodi tuvastasid teadlased neuronite aktiveerumise mustri, mis reageerib vigadele programmeerimiskoodis, ning seda vastupidiseks muutes õnnestus neil panna keelemudel vigast koodi parandama. Nende katsete tulemused viitavad, et samamoodi kui inimajus tekivad ka keelemudelites neuronialad, mis reageerivad kindlatele mõistetele ja aitavad suunata üldist otsustusprotsessi.

Kokkuvõte

Keelemudelid on vaieldamatult väga võimekad ja toovad kasu paljudes valdkondades. Nende edukaks rakendamiseks on aga tihti vaja aru saada, mille põhjal nad oma otsuseid teevad. Mudelite mahu suurenedes on nad muutunud üha täpsemaks, kuid ühtlasi on aina keerulisem seletada nende otsustusprotsesse. Keelemudelilt endalt ei tasu siin abi küsida, kuid õnneks on teadlased välja töötanud mitu meetodit, mis heidavad süsteemidele veidi valgust. Sellel alal käib aktiivne teadustöö ning tulevikus näeme kindlasti ka mudeleid, mis saavad oma otsuste seletamisega paremini hakkama.

Marek Rei (1986) on masinõppe teadlane ja õppejõud ülikoolis Imperial College London. Teadustöös keskendunud keelemudelite ja närvivõrkude arendamisele.

Artikkel ilmus ajakirja Horisont oktoober-november 2024 numbris.

Tagasi üles