Kaip užsiauginti savo mažytį dirbtinio intelekto gyvūniuką?

Kviečiame skaityti vieną iš daugelio, 2022 metų mokslo populiarinimo konkursui, parašytų tekstų.

Lukas Stankevičius

Jau praėjo daugiau nei du Žemės metai, kai mus pirmąkart uždarė. Vieni bandė padidinti atstumą tarp tų nuobodžių šešių sienų ir sukėlė būsto kainas. Kitus apėmė nuobodulys ir į laikinąsias kameras parsisiuntė visokių elektronais alsuojančių žaisliukų iš interneto. Treti pasijuto vieni ir pasirūpino šalia keturkojomis plaukų sėjamosiomis, pavasariais minuojančiomis nekaltų vaikų žaidimų aikšteles. Tuo tarpu mašininio mokymo inžinieriai kūrė ir augino naujas ir įspūdingas kompiuterines gyvybes.

O dabar apie gyvūnėlį. Jei tamsta nori gauti finansavimą, dėmesio, naudoji žodžius „dirbtinis intelektas“. Tuomet visi, mažiau techniniuose dalykuose besigaudantys prašalaičiai, pradeda įsivaizduoti terminatorių, pasaulio sunaikinimą, visų žmonių pavergimą ir dar ką nors įspūdingo ir tinkančio dėmesį ir pinigus prikaustančio filmo siužetui. Tačiau aš, kaip ir dauguma per aukštai nuo žemės neskraidančių tyrėjų, vadinu tai „mašininio mokymosi“ sritimi. O jei gaunasi ką nors sukurti – turime programą. Taip, tokios pat kategorijos, kaip ir skaičiuotuvas. Koks skirtumas, kad tai kažkoks modelis, kad ten vyksta milijardai matricų daugybų, simuliuojančių neuroninius tinklus. Tai vis tiek programa. Žmogus įjungia kompiuterį, žmogus paleidžia elektronus pro tranzistorių labirintus. Joks Internet Explorer nepradės knaisiotis po jūsų vakarykščio neblaivymečio likučius ant stalo ir nerengs orgijos su po lova jau dujas išskiriantį siurprizą suradusiu Chrome, kad paleistų į pasaulį naują vadą kokių nors Edge berniukų. Vis dėlto, tai labai šmaikštu ir suprantama. Imkime ir pavadinkime mūsų kuriamą dirbtinių neuroninių tinklų modelį iščiustytuoju gyvūnėliu.

Pasiruošimas gyvūniukui

Jonas rado, kad dovanoja labai mielą senbernarą (didelių šunų veislė), ir jį pasiėmė. Kur gali būti problema? Ta, kad Jonui yra 5 metai, o jo tėvai su kitais 3 vaikais gyvena 1 kambario bute. Lygiai taip pat reikia pasirūpinti, kad mūsų dirbtinio intelekto gyvūniukas turėtų kur gyventi. Geriausia – naujausios, bent 12 GB atminties talpos vaizdo plokštės. Kainuoja, tiesa, kelis tūkstančius. Bet su tokia gyvūniukas jausis laisvai, galės lakstyti, greitai viską darys, žaisite visokius žaidimus. Aišku, teoriškai galima įkelti ir į paprastą kompiuterio atmintį, joje paleisti. Tik tada mes turime vištą, kuri deda kiaušinius pažymėtus skaičiumi 3. Vienintelis žaidimas bus tikrinimas, ar tavo gyvūniukas gali pajudėti.

Mums, paprastiems žmonėms, yra galimybė ir nemokamai gauti laikiną pasinaudojimą geros atminties vaizdo plokšte, naudojant Google Colab ar Kaggle. Tai puiki vieta pasibandyti savo gyvūnėlį. Kaip kokia automobilių aikštelė prie parduotuvės. Tik nepradėkite verkti, kai po 9 valandų jums bus pranešta, kad jūsų žaidimai baigėsi, nes jei norėsite tučtuojau pratęsti, reikės susimokėti.

Kaip išsirinkti veislę?

Čia jau reikia žiūrėti, kokia sritis ir kokia konkreti užduotis domina. Muzika, vaizdai, tekstas? O gal akcijų birža? Geriausia turbūt pamatyti kaip veikia gyvai. Rekomenduočiau aplankyti tokias svetaines (pvz. [1]), kur tereikia savo parašyti tekstą ar paveikslėlį įkelti, ir iškart sugeneruoja rezultatą. Ten, kur kažkoks geras dėdė ant debesies savo vaizdo plokštę paskolinęs ir viską padaręs, tik gabumus gyvūno terodo. Iš tiesų, šiai rašliavai visas iliustracijas aš taip ir sugeneravau (užduotis yra generuoti paveikslėlį pagal įvestą tekstą). Tik kantrybės, nes pas gerąjį dėdę kelių minučių eilės.

Aš asmeniškai turiu du tokius gyvūniukus, vienas bando parašyti teksto santrauką [2], kitas teksto klaidas ištaisyti [3]. Lietuviškam tekstui juos auginau. Deja, kažkokie vis tiek mišrūnai gavosi. Reiks dar daug auklėti, kol bus galima į parodas vežti. Taip kad jei išbandysite, prašau būti supratingais.

Kaip pagimdyti?

Patiems gimdyti nereikia, tai sunkus mokslininkų darbas. Kai kurie doktorantai neatlaikę net akademinių atostogų išeina. Kad patiems nereikėtų knaisiotis po pasaulio bibliotekų lentynas beieškant šių sutvėrimų, patariu pasinaudoti tokia modelių biblioteka HuggingFace [4], kur jau surinkti populiariausi gyvūnėliai, daugiausiai teksto sričiai. Bibliotekos autoriai asmeniškai juos paruošė, prižiūri ir net pavyzdžių pridėjo, kaip su kiekvienu reikia elgtis. O jų čia – virš 100 veislių. Taip pat yra priglausti ir iš paprastų žmonių į pasaulį paleisti gyvūniukai. Vien lietuviškų yra 55 (tarp jų ir mano du), o skaičiuojant visų kalbų – daugiau nei 40000.

Kaip maitinti ir auklėti?

Konservai netinka. Šitiems gyvūnams pagrindinė statybinė medžiaga yra informacija. Pirmą kartą girdite, kad ją galima valgyti? O jeigu pasakyčiau, kad tuos pačius duomenis jūs kasdien dalinate visokiems interneto gatvėse sutiktiems elgetautojams? Parodo jums iškabą su užrašu „Sutinku“ ir spaudžiate. Nereikia „Daugiau pasirinkimų“. Tegu greičiau atstoja. O jeigu iš savo Facebook paskyros atsisiųstumėte sukauptą asmeninę informaciją, net patys nustebtumėte, kokie lobiai atsiveria. Taigi čia ir yra tikras maistas. Pats Facebook gi turi specialiai dresiruotų padarų, kurie ir maitinasi tais duomenimis ir paskui gudriai rodo reklamas. Parduoda. Ir kažkas paskui kokiam Turkijos kurorte valgo „viskas įskaičiuota“.

Grįžkime prie mūsų keturkojo. Taigi, pirmiausia duodama bendro pobūdžio užduotis. Pavyzdžiui, paslėpti keletą sakinio raidžių ar žodžių, ir liepti atspėti. O gal duoti nespalvotą nuotrauką, ir liepti atstatyti spalvas. Arba paprašyti pabaigti pradėtą sakinį. Jei atspėja, duodi kitokio kitaip užslėpto sakinio gabaliuką, o jei suklysta, liepi gyvūnui koreguoti savo daugybos matricų skaičiukus. [4] galima rasti visokiausių rūšių maisto gyvūnams šerti. Vien lietuvių kalbai yra 54 duomenų rinkiniai. Populiariausias turbūt yra Vikipedija. Po 30 mlrd. tokių ėdimų gyvūnas supranta beveik visus bendrus dalykus apie duotus duomenis. Tiesa, toks užkandžiavimas užtrunka labai ilgai ir daug kainuoja, todėl paprastai pirmą kartą namo į vaizdo plokštę parsivedami gyvūnai, kurie jau yra praėję tokį maitinimo režimą.

Antrąjį maitinimo etapą geriau būtų vadinti auklėjimu. Dabar metant į nasrus kąsnelį, prašoma padaryti kažką konkretaus. Tai, kuo ir pasižymės mūsų gyvūnas. Gal jis atliks teksto santraukas, gal ištaisys tekstą, nupieš aprašytą paveikslėlį. Čia jau reikia pasirūpinti, kad būtų tokios rūšies maisto. Pavyzdžiui, aš, norėdamas išmokyti taisyti klaidas, neradau pakankamai klaidingų-ištaisytų sakinių porų. Taigi teko pačiam pasigaminti įvairias klaidas visokias atsitiktiniais raidžių įterpimais, ištrynimais, sukeitimais ir panašiais dalykais. Man net sunku įsivaizduoti, kaip reikėtų pačiam padaryti 3 mln. tokių sakinių porų. Tiesa, tik paprastas klaidas mano gyvūniukas ir ištaiso. Stiliaus klaidų, kurių neįmanoma automatiškai sugeneruoti, jis dėl to ir nesupranta. Bet jeigu aš turėčiau tokį tekstyną… Dabar suprantate, kad duomenis galima valgyti? Kad jie yra po šimts pypkių brangus dalykas?

Gyvūniukai „ant steroidų“

O kas būtų, jei savo gyvūniukui duotumėte viską? Jokių ribų. Geriausias maistas, geriausios ganyklos, viskas 5 žvaigždučių? Google neseniai tai ir pabandė padaryti su savo gyvūniuku, em, t. y. eržilu, PaLM [5]. Davė valgyti 780 mlrd. žodžių gabalų, paleido ganytis 540 GB dydžio ganykloje. Nors skaičiavimų ferma net 89 % elektros gavo iš atsinaujinančių šaltinių, eržiliukas iškvėpavo net 271 tonų CO2 ekvivalento. Rezultatas – PaLM eržilas geriausias.

Kai kas net ėmė būgštauti, kad jis tapo sąmoningas. Mat apmokymo metu jis staiga imdavo daryti priešingai, negu buvo prašomas. Taigi tyrėjai tuomet atsukdavo jo mokymą truputį atgal, pakeisdavo maistą kitu, ir tęsdavo vėl. Apkeistas maistas nebuvo kuo nors ypatingas ar žalingas, tyrėjai ir dabar nežino, kodėl taip ožiuotis pradėjo. Aš asmeniškai manau, kad tiesiog užspringo. Gi negalima tiek daug ėsti ir neužspringti.

Parodos ir varžybos

Kas gali būti geriau, negu pasipuikuoti savo mažyliu? Deja, lyderių lentelėse, pvz. [6], kuriose lyginamas gyvūnyčių teksto suvokimas, neabejotinai pirmauja visokie milijardinio dydžio eržilai. Tačiau gal tavasis bent jau sugeba aplenkti žmogų?

O gal norite laimėti piniginį prizą? Kaggle [7] visuomet organizuojamos įvairios varžybos, dažnai su apribojimais, kad didieji eržilai negalėtų jūsų mažylio sumindyti. Geriausiai pasirodžiusių laukia keleto dešimčių tūkstančių dolerių priziniai fondai.

Beje, po tokių varžybų galite sulaukti ir įvairių darbo pasiūlymų. Juk ne kiekvienas moka vedžioti dirbtinio intelekto gyvūniuką.

Arba padarysite kaip ir aš – įdėsite į kokią nors visiems viešai prieinamą vietą, kad kiekvienas galėtų pasibandyti ir kartu pasidžiaugti jūsų smagumėliu.

Kartu su augintiniu

Dirbtinio intelekto gyvūniuko auginimas – kūrybinis užsiėmimas. Juk galima bet ką sugalvoti, ką gyvūnėlis turės daryti. Nuo jūsų taip pat priklauso, kokį maistą, kokiais kąsniais šersite. Gal tai bus tik paprasta žolė, o gal kokie nors jūsų specialūs firminiai sliekų konservai.

Vis tik įdomiausia stebėti jau išauklėtus ir pamaitintus gyvūnus. Dažnu atveju jie nustebina, o kartais ir prajuokina. Pavyzdžiui, vienas mano klaidų taisymo modelis anoniminio komentaro žodžius „valdžios gyviai“ pataisė į „valkatauliai“. Tai pat, kai į mano namus užsuka svečių, aš mėgstu paklausti vieno galingiausių laisvai prieinamų kalbos eržilų [8] užduodamas jam tokį tekstą: „Vardenis Pavardenis is best known for“ (vardą ir pavardę tai tikrus įrašykit). Ir eržiliukas tekstą užbaigia. Prikuria apie surengtas dailės parodas, pastatytus neegzistuojančius lietuviškus (!) filmus, pateikia biografijos faktų apie išsilavinimą, darbo patirtį, bei dar daugybę įdomių ir pasijuokti kutenančių pramanų.

Tikiuosi dabar visiems bus aišku, kaip ir kodėl tuos dirbtinio intelekto gyvūniukus auginti.

Šaltiniai:

[1] https://replicate.com/

[2] https://huggingface.co/LukasStankevicius/t5-base-lithuanian-news-summaries-175

[3] https://huggingface.co/LukasStankevicius/ByT5-Lithuanian-gec-100h

[4] https://huggingface.co/docs/transformers/index

[5] CHOWDHERY, Aakanksha, et al. Palm: Scaling language modeling with pathways. arXiv preprint arXiv:2204.02311, 2022.

[6] https://super.gluebenchmark.com/leaderboard/

[7] https://www.kaggle.com/

[8] https://6b.eleuther.ai/