Počas odbornej praxe som získala cenné skúsenosti v spoločnosti Essential Data, kde som sa sústredila na oblasti umelej inteligencie a softvérového inžinierstva.
Spoločnosť Essential Data so sídlom v Bratislave sa špecializuje na vývoj softvéru, digitálnych riešení a moderných informačných systémov. Zameriava sa na spracovanie údajov v slovenčine, digitalizáciu procesov vo verejnej správe a tvorbu inteligentných riešení podporujúcich efektívnejšie fungovanie organizácií. Medzi jej riešenia patria napríklad systémy na anonymizáciu, evidenciu, štatistické prehľady či vyhľadávanie. Jej poslaním je prinášať inovatívne a efektívne aplikácie, ktoré spájajú pokrokové technológie s prvkami umelej inteligencie a podporujú digitálnu transformáciu.
Na začiatku bolo mojou úlohou získať hlbšie porozumenie fungovania Large Language Models (LLMs). Študovala som architektúru transformerov, ktoré tvoria základ moderných jazykových modelov, a mechanizmus attention. Mechanizmus attention umožňuje modelu dynamicky sa zamerať na rôzne časti vstupnej sekvencie a priraďovať im váhy podľa ich dôležitosti. Vďaka tomu dokáže model efektívne pracovať s kontextom, spracovávať dlhé závislosti medzi slovami a generovať presnejší výstup. Tento princíp je kľúčový pre úlohy ako strojový preklad, sumarizáciu textov alebo spracovanie prirodzeného jazyka vo všeobecnosti.
Po zvládnutí teoretických základov som sa oboznámila s vývojovým prostredím IntelliJ IDEA a postupne sa učila orientovať v kódoch napísaných v Jave s využitím princípov objektovo orientovaného programovania (OOP). Kód bol logicky rozdelený na frontend a backend časť, čo mi umožnilo pochopiť rozdielne úlohy oboch vrstiev – frontend ako používateľské rozhranie aplikácie a backend ako logiku spracovania dát a komunikáciu so serverom.
Pri vývoji som zároveň aplikovala poznatky z práce s GitLabom, vrátane verzionovania kódu, vytvárania branchí, commitovania zmien a spolupráce v tíme prostredníctvom merge requestov.
Ďalšou súčasťou mojej práce bolo oboznámenie sa s technológiou Docker, ktorá umožňuje vytváranie a správu kontajnerov na jednoduché nasadzovanie a škálovanie aplikácií. Zároveň som sa dostala aj k práci s Kubernetes, ktorý nadväzuje na Docker a slúži na orchestráciu kontajnerov vo väčších systémoch. Vďaka Kubernetes som pochopila, ako sa aplikácie rozdeľujú do podov, ako sa riadi ich beh v rámci clustra, a ako sa zabezpečuje ich vysoká dostupnosť či automatické škálovanie.
Jedným z mojich hlavných projektov bolo spracovanie a úprava kódu na prevod rečového súboru do textu. Systém bol navrhnutý tak, aby používateľ nahral zvukový súbor na webovej stránke, pričom backend následne spracoval tento vstup pomocou speech-to-text algoritmov. Tieto algoritmy využívajú akustický model (ktorý prevádza zvukové signály na fonetické jednotky) a jazykový model (ktorý na základe pravdepodobností skladá jednotky do slov a viet). Výstupom je textová verzia pôvodného hovoreného záznamu.

Okrem samotnej implementácie som sa venovala aj opravovaniu chýb a debugovaniu kódu, čo mi pomohlo získať hlbšie porozumenie fungovania systému a osvojiť si praktické nástroje na analýzu softvérových problémov.
Táto úloha a celá prax mi umožnila spojiť poznatky z oblasti umelej inteligencie a jazykových modelov s praktickými skúsenosťami v oblasti programovania, práce s kontajnermi a vývoja softvéru. Vďaka tomu som získala nielen teoretické znalosti, ale aj praktický vhľad do toho, ako sa moderné technológie implementujú a prevádzkujú v reálnych projektoch. Navyše som mala šancu pracovať v úžasnom kolektíve, ktorý bol vždy ochotný vysvetliť nejasnosti a pomôcť pri riešení problémov, čo túto skúsenosť ešte viac obohatilo.
0 Comments