Veikiausiai kiekvienas, kuriam yra tekę rašyti sudėtingą rašinį ar kitą įmantrų tekstą, yra pagalvojęs: „kaip būtų gerai, jei tą nelemtą rašinį kas nors imtų ir parašytų už mane?“. O jei kažkas pasakytų, kad tai iš tiesų įmanoma? Jei dirbtinio intelekto (DI) parašytas tekstas būtų toks pat profesionalus, kaip rašytas žmogaus? O gal dar geresnis?
Asociatyvi „Pixabay“ nuotr.
Staigus postūmis
Per paskutinius kelerius metus natūralaus teksto apdorojimas (angl. Natural textprocessing, NLP) reikšmingai pažengė link to. Pažangos priežastis – ypač plačiai tyrinėjami neuroniniai tinklai, o tiksliau – koduotojai-dekoderiai (angl. encoder-decoder).
Reikšmingas postūmis geresnio teksto supratimo ir jo generavimo link įvyko 2017-asiai, kuomet „Google” korporacijos tyrėjai straipsnyje „Dėmesys yra viskas, ko jums reikia“ (angl. Attention is all you need) pristatė transformerių architektrūros (angl. transformer) idėją.
Transformeriai gali atlikti daugybę skirtingų užduočių, įskaitant teksto vertimą iš vienos kalbos į kitą, apibendrinimo parengimą, struktūruotų duomenų vertimą į tekstą, dialogo ir paveikslėlių antraščių kūrimą.
Su teksto vertimu susiduriame labai dažnai, pavyzdžiui, naudodamiesi bene populiariausiu vertimo įrankiu „Google Translate“. Pateikus tekstą viena kalba, modelis stengiasi išversti šį tekstą ne tik pažodžiui, bet ir semantiškai. Anksčiau visų nežinomų žodžių ieškodavome storuose žodynuose, o dabar už mus tai daro „Google Translate“, kuris apima daugiau nei šimtą skirtingų kalbų.
Verta pastebėti, kad lietuvių kalba yra sudėtinga dėl daugiareikšmiškumo, homoniminių gramatinių formų, laisvos žodžių tvarkos sakinyje ir pan., todėl kitų kalbų vertimas į lietuvių kalbą yra gana keblus. Tačiau tie, kurie dažnai naudojasi minėtu vertimo įrankiu, tikina, kad bėgant laikui vertimas tampa tikslesnis ir kokybiškesnis. Todėl tikėtina, kad netolimoje ateityje turėsime idealiai išverstą ir lietuvišką tekstą, nors šiuo metu mašininis vertimas iš anglų į lietuvių kalbą yra tikslus tik apie 30 procentų.
Vis tobulesni metodai
Savaime suprantama, kad norint tobulesnio generuojamo teksto, reikalingi didesni bei sudėtingesni modeliai, o taip pat ir vis galingesni skaičiavimo resursai. Šiuo metu dažniausiai yra naudojama anksčiau minėta transformerių architektūra.
Tik kiek daugiau nei prieš trejus metus dirbtinio intelekto tyrimų ir diegimo bendrovė „OpenAI“ išleido savo pirmąjį „Generative Pre-trained Transformer“ (GPT) modelį, kuris buvo paremtas transformerių architektūra. Modelis sugebėjo kurti gana ilgus tekstus, tačiau nepraėjus nei dvejiems metams, buvo išleistas kur kas spartesnis (didesnis) GPT-2 modelis.
Naujasis modelis sulaukė ypač didelės kritikos, kadangi buvo nuogąstaujama, kad jis ir panašūs modeliai gali būti panaudojami kuriant netikras naujienas (angl. fake news). Duomenų mokslininkas iš Australijos Jeremy Howard tuomet sakė, kad ši technologija užpildys visus socialinius tinklus, elektroninio pašto dėžutes bei visą internetą realistiškai skambančiais tekstais, o tikrieji realūs tekstai pradings. Ypač buvo baiminamasi, kad vienas žmogus, panaudodamas šiuos laisvai prieinamus modelius, galės sukurti šimtus ar tūkstančius netikrų naujienų. Belieka džiaugtis, kad taip nenutiko.
Paskutinė GPT-2 modelio versija buvo išleista tik kiek daugiau nei po pusės metų. Šią modelio versiją netgi galima išbandyti įvairiuose interneto puslapiuose, pavyzdžiui, https://transformer.huggingface.co/.
Pats naujausias „OpenAI“ modelis yra GPT-3. Siekiant suprasti, kaip šis modelis pasikeitė, užtenka pažvelgti į vieną iš skaičių – 175 mlrd. parametrų. Ankstesnėje versijoje šių parametrų buvo tik 1,5 mlrd. Tai reiškia, kad naujausias modelis yra daugiau nei 100 kartų didesnis. Ir tai yra tiek daug, kad jis pareikalautų net 36 metų mokymų naudojant 8 V100 grafines vaizdo plokštes ir net 7 mėnesius naudojant jų 512.
Kodėl taip ilgai tai užtruktų? Įsivaizduokite, kad turite tekstų iš įvairių interneto puslapių, kurie užima daugiau nei 45 terabaitus (TB), ir jums reikia išmokyti modelį dirbti su šiais duomenimis. 1 TB yra 75 mln. teksto puslapių. Kiek laiko jums užtruktų perskaityti visus šiuos puslapius, vidutiniškai vienam puslapiui skiriant 3 minutes?
Ką galima nuveikti?
Viskas skamba išties įspūdingai, tiesa? Tačiau kasdieniame gyvenime natūralios kalbos apdorojimo technologijas galima pasitelkti ir paprastesniems dalykams, pavyzdžiui, tekstui klasifikuoti.
Turbūt vieni iš naujausių modelių, kuriuos galima laisvai panaudoti yra „EleutherAI GPT-Neo“ modeliai. Neseniai pasirodė ir „GPT-J EleutherAI“.
Tarkime, turite savo internetinį puslapį, kuriame vartotojai laisvai gali įrašyti ir palikti komentarus. Tačiau jų yra tiek daug, kad norint juos visus perskaityti reikia labai daug laiko. Apmokius modelį dirbti su turimais duomenimis, galima sukurti įrankį, kuris automatiškai atpažintų, ar komentaras yra teigiamas ar neigiamas – tai atstotų žmogaus darbą. Jeigu reikėtų detalesnės analizės, tuomet būtų galima nustatyti funkciją, kad įrankis nustatytų, kokia yra to komentaro nuotaika.
Žvelkime dar toliau. Įsivaizduokite, kad turite ypač daug tekstų, iš kurių jums reikia atrinkti pagrindinę informaciją. Būtent tai galima atlikti naudojantis minėtais modeliais – jie atpažins pagrindines mintis ir jas pateiks.
O galbūt yra reikalingas automatinis susirašinėjimo atsakiklis (angl. Chat-bot)? Šiuos modelius galima apmokyti taip, kad jie ne tik sugebėtų suprasti perduodamą informaciją, bet ir sugebėtų atsakyti į klientų klausimus.
Kas toliau?
Stebint spartėjančią naujojo modelio skaičiavimo galią ir gerėjantį technologinio proceso tikslumą, galima teigti, kad maksimumas dar nėra pasiektas. Kiek daugiau ne prieš tris savaites „Google“ paskelbė apie du naujus modelius, birželio pradžioje Pekino DI akademija paskelbė informaciją apie modelį, kurį sudaro net 1,75 trilijonų parametrų, o „OpenAI“ kalba apie 2022-aisiais pasirodysiančią dar tobulesnę modelio versiją.
Natūralios kalbos apdorojimas šiuo metu yra taikomas gana plačiai. Kaip kitaip paieškos sistemos rastų tinkamus rezultatus; kaip virtualūs asistentai „Alexa“ ar „Siri“ sugebėtų atsakyti į užduotus klausimus?
Įsivaizduokite organizacijas, kurios visą rinkos analizę gauna automatiškai, naudodamos natūralios kalbos apdorojimą. Šios technologijos padeda net tokiose srityse kaip psichiatrija: įvairūs kalbos šablonai gali atspindėti skirtingas ligas, pavyzdžiui, šizofreniją.
Šiuo metu apie 80 proc. duomenų yra nestruktūrizuoti ir didžioji dalis jų yra teksto forma. Todėl natūralios kalbos apdorojimas yra viena iš dominuojančių duomenų mokslo sričių. Tokių duomenų tvarkymas yra nemenkas iššūkis, su kuriuo kasdien susiduria šiuolaikinės organizacijos. Tad teksto apdorojimo technologijos tobulėja kone kiekvieną savaitę, o duomenų mokslininkai – labai paklausūs visame pasaulyje.
Mantas Lukauskas, KTU Matematikos ir gamtos mokslų fakulteto doktorantas (MGMF), bendrovės „Zyro“ duomenų mokslininkas