Vilniaus universiteto (VU) Matematikos ir informatikos duomenų mokslo studijų programos absolventė Jaunė Malūkaitė tikrai gali pasakyti, kad VU – vieta užaugti. Mergina bakalauro studijas baigė Magna cum laude diplomu, planuoja mokslus tęsti prestižiniame Jungtinės Karalystės Kembridžo universitete, o prie visų pasiekimų įgyvendinimo prisidėjo ir galimybė pasinaudoti VU turimo superkompiuterio resursais. Pokalbis su Jaune apie studijas, HPC (angl. High Performance Computing) – superkompiuterio išteklių panaudojimą moksliniame darbe ir ateities planus.
Jaune, ne per seniausiai apsigynei bakalauro darbą. Kokios mintys sukasi galvoje? Kokia tema rašei? Kaip ją pasirinkai?
Šiuo metu galvoje kyla įvairiausių minčių, kadangi didelis gyvenimo puslapis beveik baigtas, liko tik gauti bakalauro diplomą. Šiek tiek keista galvoti, kad nereikės sėdėti vakarais bei savaitgaliais prie bakalauro darbo, kol kas sunku suvokti ir atsipalaiduoti, bet tikrai smagu pamatyti, kiek toli nueita.
Mano bakalauro darbo tema – „Transformerių taikymas elektrokardiogramos (EKG) signalų analizėje širdies aritmijos klasifikavimui“, o ją pasiūlė mano bakalauro vadovė. Ši tema mane iškart labai sudomino, kadangi giliojo mokymosi transformerio architektūra yra viena iš naujesnių technologijų, apie ją buvau daug girdėjusi darbinėje aplinkoje, todėl labai norėjau ir pati pabandyti tai pritaikyti praktiškai. Taigi per daug gilių svarstymų ir nebuvo, norėjau kuo greičiau pradėti į ją gilintis.
Savo darbą rašydama pasinaudojai HPC resursais. Kokius darbus padėjo atlikti superkompiuteris? Kokie buvo pagrindiniai darbo rezultatai ir kaip HPC prisidėjo prie jų?
Mano bakalauro darbui superkompiuteris labai padėjo, kadangi analizei atlikti turėjau didelius duomenų kiekius (vien apmokymo duomenų aibėje buvo apie 400 tūkstančių eilučių) ir sukonstruotą modelį sudarė nemažas parametrų skaičius, eksperimentų metu siekiantis ir 1 811 536. Taigi tokiems modeliams apmokyti su pridėtomis įvairiomis hiperparametrų gardelėmis lokaliai būčiau užtrukusi tikrai daug ilgiau nei naudodama HPC centro suteiktus GPU (angl. graphics processing unit) – grafinio apdorojimo procesoriaus resursus.
Pagrindiniai darbo rezultatai buvo širdžiai žalingo pūpsnio klasifikavimo metrikų pagerinimas naudojant transformerio modelį ir mano sugalvotą transformerio modelių ansamblį. HPC resursų turėjimas prisidėjo prie greitesnių rezultatų gavimo, o tada jau prie jų aprašymo dviejuose straipsniuose.
Kodėl pasirinkai naudoti HPC vietoje įprastų skaičiavimo metodų?
Apie HPC resursus turėjome porą paskaitų universitete, įvairius panašius išteklius esu naudojusi darbinėje aplinkoje, todėl tai nebuvo itin naujas dalykas. Galbūt iš pradžių buvo šiek tiek sunkiau įsivažiuoti, rasti lengviausią naudojimo būdą, tačiau nuo pat bakalauro darbo pradžios buvo aišku, jog be HPC resursų neišsiversiu. Be to, naudoti superkompiuterį rekomendavo mano bakalauro darbo vadovė.
Kiek laiko užėmė duomenų apdorojimas ar skaičiavimai naudojant HPC?
Didžiąją dalį duomenų apdorojimo dariau lokaliai, kadangi dar nebuvau įgudusi naudoti HPC, todėl taip atrodė paprasčiau, nors mano asmeninis kompiuteris ir mėgdavo garsiai paūžti. Vėliau įvairius klasių perkodavimus, koreliacijų skaičiavimą tarp signalų reikšmių atlikdavau naudodama HPC ir, žinoma, viskas truko daug greičiau, nes lokaliai darant būtų reikėję daug laiko. Daugiausia superkompiuterį naudojau eksperimentams atlikti, kai vienas transformerio modelio apmokymas trukdavo apie 15–20 minučių, tačiau mokymo procese naudojau hiperparametrų gardelę, todėl viskas išsitęsdavo iki apytiksliai pusantros valandos.
Kokie buvo pirmieji įspūdžiai apie HPC naudojimo procesą?
Paskaitų metu atrodė, kad nėra labai sunku naudoti HPC, tačiau visgi kilo keblumų, kadangi naudojant resursus per, tarkime, „Jupyter Hub“, programa vis „užšaldavo“. Tada pradėjau naudoti resursus per „VSCode“ programinę įrangą, atsisiuntus „Remote-SSH“ priedėlį, su kuriuo labai lengvai galėjau prisijungti prie superkompiuterio, atsidaryti reikiamus dokumentus, norimus atsisiųsti. Be to, lygiagrečiai galėdavau prisidėti lokalius aplankalus, taigi vienu metu matydavau skirtingus programinius kodus, kas mano atveju buvo labai patogu. Atradus šį naudojimo metodą, viskas palengvėjo ir buvo patogu naudoti gautus išteklius. Be to, išmokau daug naujų dalykų, tai įspūdžiai – patys geriausi!
Ar buvo kokių nors netikėtų rezultatų arba atradimų, kurie tapo galimi tik naudojant HPC?
Kadangi HPC padėjo gauti rezultatus žymiai greičiau, turėjau progą pamėginti sujungti transformerio architektūrą ir „ResNET“ tinklą, nors į tai detaliai nesigilinau, bet buvo įdomu pamėginti. HPC naudojimas prisidėjo ir prie transformerio modelių ansamblio konstravimo, kadangi jis susidėjo iš trijų transformerio modelio dalių, taigi vienos dalies apmokymas man lokaliai būtų trukęs labai ilgai, o ką jau kalbėti apie trijų dalių apmokymą… Sukonstruotas ansamblio modelis pagerino transformerio modelio klasifikavimo metrikas, todėl džiugu buvo turėti resursus, kurie padėjo apmokyti bei ištestuoti tokį modelį ir idėją paversti bakalauro darbo bei mokslinio straipsnio dalimi.
Kaip Tavo darbo vadovė vertino HPC naudojimą darbe?
Mano bakalauro darbo vadovė labai teigiamai vertino superkompiuterio naudojimą bakalauro darbe, ji man jį ir rekomendavo naudoti. Be to, vadovė papasakojo apie papildomus resursus, kurių galima paprašyti, o galiausiai taip ir nutiko, kad man jų prireikė, kadangi turimus išnaudojau.
Kokią naudą ar privalumus matai naudojant HPC akademiniams tyrimams?
Matau labai daug privalumų. Visų pirma, įvairios giliojo mokymosi architektūros naudojimas, pavyzdžiui, modelių apmokymas, dažnai užima nemažai laiko, todėl jo sutaupyti ir daug daugiau eksperimentų atlikti galima naudojant HPC resursus. Tada galima išmėginti įvairius scenarijus, gauti daugiau rezultatų ir padaryti galbūt tikslesnes išvadas. Be to, turint HPC resursus galima išbandyti įvairesnių modelių, bibliotekų, funkcijų, kurios aprašytos akademiniuose darbuose, yra daugiau galimybių ne tik atkurti moksliniuose straipsniuose minimus modelius, bet ir pačiai (-iam) pamodifikuoti juos ar sukonstruoti kažką naujo.
Kokių patarimų duotum kitiems studentams, kurie galbūt svarsto naudoti HPC savo tyrimuose?
Nebijoti pabandyti pasinaudoti HPC resursais savo darbuose, nors gali atrodyti sunkiau, nei iš tikrųjų yra, ir tai mane buvo pristabdę išbandyti HPC kursiniame darbe. Tačiau viskas greitai perprantama, na, gal ne viskas, o didžioji dalis, taigi pasidaro daug kas paprasta, o ir ateityje tokios žinios tikrai gali praversti. Dar vienas patarimas – naudoti „VSCode“ per „SSH remote“, kadangi nereikia dažnai suvedinėti prisijungimo duomenų, nereikia jų naudoti norint atsisiųsti dokumentus į lokalią aplinką ir nereikia naudoti terminalo komandų norint ką nors pakeisti dokumente, kadangi viską galima atlikti per pačią programą.
Neseniai atsiėmei bakalauro diplomą. Kokie ateities planai?
Artimiausios ateities planai yra vasarą toliau dirbti mylimoje IBM įmonėje, o nuo rugsėjo kraustytis į Jungtinę Karalystę, kadangi esu gavusi kvietimą studijuoti duomenų intensyviojo mokslo magistrantūros programą Kembridžo universitete.
Komentarų nėra. Būk pirmas!