S05E07Domen Vreš in jezikovni model za slovenščino GaMS
PatreonFrenk Dragar se je pogovarjal z Domnom Vrešem, doktorskim raziskovalcem v Laboratoriju za strojno učenje in jezikovne tehnologije na FRI. Domen v okviru programa PoVeJMo razvija GaMS, slovenski veliki jezikovni model. Šla sta čez celoten recept za gradnjo modela: podatke, računsko moč, faze učenja in evalvacijo. Vprašala sta se tudi, zakaj sploh potrebujemo svoj model, če so splošni klepetalniki brezplačni.
Domen je razliko do velikih laboratorijev ponazoril s številkami. Llama 2 je bila učena na 2 bilijonih tokenov, Llama 3 na 15, Llama 4 na več kot 30. Slovenski projekt pa je leta 2023 začel z manj kot 10 milijardami tokenov, delo pa opravlja peščica raziskovalcev in študentov. Učenje iz nič zato ni prišlo v poštev, zato so vzeli obstoječi večjezični model in ga dodatno učili za slovenščino. Na lastnih testih se je najbolje odrezala Googlova Gemma, Llame so bile precej slabe, Mistral pa kljub evropskemu poreklu ni prepričal. Ko mu je ekipa pripravila pregled slovenskih podatkov, je pobral le povezane stare spletne zajeme in rezultate v slovenščini celo poslabšal. Trenutni GaMS3 ima 12 milijard parametrov, na voljo pa je tudi 27-milijardna različica.
Učenje poteka v treh fazah. Pri nadaljevanem predučenju model z ogromno besedila uči napovedovanja naslednjega tokena. Pri nadzorovanem učenju navodil ga naučijo odgovarjati v pravi obliki, na koncu pa sledijo metode učenja preferenc. Pri prvi fazi sta ozko grlo računska moč in količina podatkov, pri drugi pa kakovost, saj se model vsake napake v učnih primerih hitro nauči. Lep primer je identiteta: ker v angleškem delu prevedenih podatkov ni bila popravljena, se je GaMS na vprašanje v ruščini predstavil kot model ruske univerze. Prevedeni podatki so modelu dali tudi ameriški naglas, od vprašanj o ameriških zvezdnikih do abecede, kjer je za črko A ponujeno jabolko. Zato je 27-milijardni model šel skozi kulturno prilagoditev, razliko pa lahko vsak preizkusi na povejmo.si. Dotaknila sta se tudi evalvacije osnovnih modelov z verjetnostmi vnaprej danih odgovorov in vodenega dekodiranja, ki izhod modela omeji na JSON shemo ali kontekstno neodvisno gramatiko.
Za predučenje uporabljajo NVIDIA NeMo oziroma Megatron Bridge na osnovi Megatrona. Učenje skalirajo čez 128 vozlišč oziroma 512 GPU-jev na evropskem superračunalniku Leonardo v Bologni, kjer ima Slovenija svoj delež. Začeli so na mariborski Vegi, a tam so imeli težave s karticami s 40 GB pomnilnika, zasedenostjo in prekinitvami komunikacije med vozlišči. Tudi Leonardo ni brez nestabilnosti omrežja. Ker se odprtokodna ogrodja hitro spreminjajo in so polna hroščev, se z NVIDIA inženirji sestajajo enkrat na teden. GaMS3 je na Leonardu porabil okoli 150.000 GPU ur, na sodobnejši strojni opremi pa bi jih po Domnovi oceni zadostovalo 10 do 15 tisoč. Prilagoditev modela za konkretno nalogo, na primer z LoRA, je reda velikosti sto GPU ur. Obregnila sta se še ob DeepSeek, katerega oglaševani nizki stroški učenja se ob branju članka niso izkazali za takšne, kot so jih predstavljali.
Največji izziv ostajajo podatki, saj je slovenščina jezik z malo viri. Gradijo na korpusih, ki jih slovensko digitalno jezikoslovje zbira že leta, na spletnih zajemih in arhivih. NUK je prispeval okoli 10 milijard tokenov, večinoma starih časopisov in knjig brez veljavnih avtorskih pravic, od bohoričice do lokalnih glasil. Ker je bil obstoječi OCR star, so vse na novo prepoznali v markdown obliko. Pridobili so tudi arhiv STA, ki bo prišel v naslednjo generacijo modela, od medijskih hiš, kot je RTV, pa si želijo več sodobnih besedil. Domen pričakuje, da bodo obstoječi modeli ključni pri čiščenju podatkov za naslednje generacije, od izločanja neuporabnih spletnih vsebin do prepisovanja pol uporabnih.
Spletna stran povejmo.si beleži okoli 100 do 150 pogovorov na dan, a njen namen ni tekmovati s splošnimi klepetalniki, temveč pokazati, kaj model zna. Ključni prispevek je odprt model na Hugging Face, ki ga podjetja prenesejo, poženejo lokalno in prilagodijo svoji nalogi. To šteje pri občutljivih podatkih, evropski zakonodaji in v zdravstvu, kjer podatki ne smejo zapustiti ustanove. Projektni partnerji Better, Špica, XLAB in Semantika ga preizkušajo v medicini, industriji, avtomatizaciji kode in digitalni humanistiki, GaMS pa testirajo tudi na Službi Vlade za zakonodajo. 12-milijardni model pri polni natančnosti in kontekstu 131 tisoč tokenov potrebuje okoli 40 GB pomnilnika, kvantiziran pa teče tudi na močnejši RTX kartici ali Macu. V Sloveniji po Domnovem mnenju manjka lokalnih ponudnikov inferenc. Podjetjem bo pomagala tudi Slovenska tovarna umetne inteligence (SLAIF) z dostopom do računske moči, svetovanjem in napravami DGX Spark na FRI.
Pogovor se je dotaknil tudi tehnološke suverenosti, za katero je Domen v šali dejal, da ji nihče ne dela boljše reklame od Trumpove administracije, ki storitve ukinja čez noč. Med evropskimi projekti je izpostavil poljski Bielik kot pozitiven zgled. Do OpenEuroLLM je zadržan, ker se ta močno zanaša na sintetične in nato še prevedene podatke. Frenk je omenil nizozemski GPT-NL, ki so ga učili iz nič, Domen pa meni, da je ob dobrih večjezičnih modelih smiselneje te specializirati in jim dodati kulturno znanje. Ker je GaMS učen tudi na hrvaščini, srbščini in bosanščini, lahko postane dober balkanski model. Na evropskem benchmarku s 44 jeziki je med modeli z okoli 10 milijardami parametrov celo zmagal, čeprav slovenščine med jeziki sploh ni bilo. Naslednja različica GaMS 3.1 bo znala klicati orodja, kar se je model presenetljivo naučil že iz angleških podatkov. V načrtu je tudi sklepanje (reasoning). Ekipa pri tem ni sama, saj Tomaž Savodnik z Zavoda za informacijsko družbo razvija model Zlatorog in si z njim izmenjujejo izkušnje.