Kategórie
Success-Stories Všeobecné

Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov

Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov

Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.

Príchod digitálnych technológií výrazne ovplyvnil aj sektor zákazníckych služieb, pričom výrazný posun je pozorovateľný hlavne v integrácii chatbotov do zákazníckej podpory. Tento trend možno pozorovať najmä na webových stránkach firiem, kde chatboty slúžia na zodpovedanie zákazníckych otázok týkajúcich sa daného biznisu. Títo virtuálni asistenti sú kľúčoví pri poskytovaní základných informácií zákazníkom, čím znižujú množstvo pracovných úloh, ktoré by inak museli riešiť pracovníci zákazníckej podpory.

V oblasti vývoja chatbotov bolo možné v posledných rokoch pozorovať obrovský nárast využitia generatívnej umelej inteligencie na tvorbu personalizovaných odpovedí. Napriek tomuto technologickému pokroku niektoré firmy stále uprednostňujú štruktúrovaný prístup k interakciám chatbota. V tomto prípade sú odpovede vopred definované, nie generované počas interakcie. Týmto je zaručená presnosť informácií v odpovediach bota a zároveň je zabezpečené konzistentné dodržiavanie komunikačného štýlu danej firmy. Vývoj chatbotov zvyčajne zahŕňa definovanie špecifických kategórií nazývaných intenty. Každý intent predstavuje konkrétny dopyt zákazníka, čo umožňuje chatbotu poskytnúť adekvátnu odpoveď. Najväčšou výzvou tohto systému je preto presná identifikácia zákazníkovho zámeru (intentu) na základe jeho textového vstupu.

Popis problému

Tento článok je výsledkom spoločného úsilia Národného kompetenčného centra pre vysokovýkonné počítanie a spoločnosti nettle, s.r.o., ktorá je slovenským start-upom zameraným na spracovanie prirodzeného jazyka, chatboty a voiceboty. V rámci tejto spolupráce sa sústredíme na návrh jazykového klasifikátora chatbota pre online prostredie banky. Na spracovanie rozsiahlych výpočtov potrebných na vývoj tohto riešenia boli použité zdroje HPC systému Devana.

V chatbotoch spomenutých v úvode je preferovaná vopred definovaná odpoveď namiesto generovanej. Kľúčovým krokom v počiatočnej fáze vývoja takéhoto chatbota je preto identifikácia súboru intentov v danej doméne. Tento krok je zásadný pre správne fungovanie chatbota a pre poskytovanie presných odpovedí na každý konkrétny intent. Takéto chatboty bývajú vysoko sofistikované a často zahŕňajú široké spektrum intentov, niekedy až niekoľko stoviek. Vývojári vytvárajú rôzne ukážkové frázy pre každý intent, ktoré by mohli používatelia použiť pri otázkach súvisiacich s konkrétnym zámerom. Tieto frázy zohrávajú zásadnú úlohu pri definovaní jednotlivých intentov a slúžia ako trénovacie dáta pre klasifikačný algoritmus.

Náš základný model na klasifikáciu intentov, ktorý nevyužíva hlboké učenie, dosahuje presnosť 67% na reálnych testovacích dátach, podrobnejšie popísaných v ďalšej časti tohto článku. Cieľom práce je vyvinúť model založený na hlbokom učení, ktorý prekoná výkon tohto základného modelu.

Prezentujeme dva rôzne prístupy k riešeniu tejto úlohy. Prvý z nich skúma aplikáciu modelu BERT (Bidirectional Encoder Representations from Transformers), ako základ pre klasifikáciu intentov. Druhý prístup sa zameriava na využitie generatívnych veľkých jazykových modelov (LLM z angl. large language models) pomocou prompt inžinieringu na identifikáciu vhodného intentu, pričom skúmame využitie týchto modelov s fine-tuningom aj bez neho.

Dáta

Naša trénovacia dátová sada pozostáva z párov (text, intent), kde každý text predstavuje príklad dopytu adresovaného chatbotovi, ktorý vyvolá príslušný intent. Táto dátová množina je precízne skomponovaná tak, aby pokrývala celé spektrum preddefinovaných intentov, zaručujúc dostatočný objem textových príkladov pre každú kategóriu.

V našej štúdii pracujeme s rozsiahlym súborom intentov, pričom každý je doplnený o príslušné príklady dopytov. Používame dve trénovacie množiny: ”simple” množinu, ktorá obsahuje 10 až 20 príkladov pre každý intent, a ”generated” množinu, ktorá zahŕňa 20 až 500 príkladov na intent. Množina ”generated” poskytuje väčší objem dát, avšak s opakujúcimi sa frázami v rámci jednotlivých intentov.

Tieto zoskupenia dát sú pripravené na spracovanie supervizovanými klasifikačnými modelmi. Tento proces zahŕňa konverziu množiny intentov do číselného poradia a priradenie každého textového príkladu k príslušnému číslu intentu, po čom nasleduje samotné trénovanie modelu.

Okrem trénovacej sady využívame aj testovaciu dátovú sadu, ktorá obsahuje približne 300 párov (text, intent), získaných z reálnej prevádzky chatbota, čo nám poskytuje autentický obraz interakcií používateľov. Všetky texty v tejto dátovej sade sú manuálne anotované ľudskými anotátormi. Táto sada slúži na hodnotenie výkonu našich klasifikačných modelov porovnávaním predikovaných intentov so skutočnými.

Všetky spomínané dátové množiny sú vlastníctvom spoločnosti nettle, s.r.o., a preto nebudú detailnejšie diskutované.

Vyhodnotenie

V tomto článku sú modely hodnotené predovšetkým na základe ich presnosti meranej na reálnej testovacej dátovej sade obsahujúcej 300 pozorovaní. Každé z týchto pozorovaní patrí do jedného z preddefinovaných intentov, na ktorých boli modely trénované. Presnosť počítame ako pomer správne klasifikovaných vzoriek k celkovému počtu vzoriek. Pre modely, ktorých výstupom je aj pravdepodobnosť predikcie, ako napr. BERT, je vzorka považovaná za správne klasifikovanú iba vtedy, ak jej pravdepodobnosť predikcie do správnej triedy (intentu) prekročí stanovený prah.

Druhotnou metriku používanou na vyhodnotenie modelov je miera falošne pozitívnych predikcií (FPR z angl. false positive rate), kde je preferovaná čo najnižšia hodnota. Na vyhodnotenie tejto metriky používame syntetické dáta, ktoré nepatria do žiadneho intentu. Očakáva sa, že modely budú v tomto prípade produkovať nízke hodnoty pravdepodobnosti predikcie (pre model BERT), alebo klasifikovať tieto vzorky do triedy ”invalid” (pre generatívne jazykové modely).

V celom článku sa pod pojmami presnosť a FPR rozumejú metriky vypočítané týmto spôsobom.

Prístup 1: Klasifikácia intentov pomocou modelov BERT
SlovakBERT

Keďže dáta sú v slovenskom jazyku, bolo nevyhnutné vybrať model, ktorý ”rozumie” slovenčine. Preto sme sa rozhodli pre model s názvom SlovakBERT [5], ktorý je prvým verejne dostupným veľkým modelom pre slovenčinu.

Na dosiahnutie najlepšieho výkonu sme vykonali viacero experimentov s optimalizáciou tohto modelu. Tieto pokusy zahŕňali ladenie hyperparametrov, rôzne techniky predspracovania textu a, hlavne, výber trénovacích dát.

Vzhľadom na existenciu dvoch trénovacích dátových množín s relevantnými intentami (”simple” a ”generated”), ako prvé boli vykonané experimenty s rôznymi pomermi vzoriek z týchto dvoch množín. Výsledky ukázali, že optimálny výkon modelu sa dosahuje pri trénovaní pomocou “generated” dátovej sady.

Po výbere dátovej množiny boli vykonané ďalšie experimenty, zamerané na výber správneho predspracovania dát. Testovali sme nasledujúce možnosti:

  • prevod celého textu na malé písmená,
  • odstránenie diakritiky z textu
  • odstránenie interpunkcie z textu.

Ďalej boli testované aj kombinácie týchto troch možností. Keďže použitý model SlovakBERT je citlivý na veľké a malé písmená a tiež na používanie diakritiky, všetky tieto transformácie textu ovplyvňujú celkový výkon modelu trénovaného na týchto dátach.

Zistenia z experimentov odhalili, že najlepšie výsledky sú dosiahnuté, keď je text prevedený na malé písmená a je odstránená diakritika aj interpunkcia.

Ďalším skúmaným aspektom počas experimentálnej fázy bol výber vrstiev, ktoré budú fine-tunované. Testovali sme fine-tunovanie štvrtiny, polovice, troch štvrtín a celého modelu, pričom sme skúmali aj variácie ako napríklad fine-tunovanie celého modelu niekoľko epoch a následné fine-tunovanie zvoleného počtu vrstiev až do konvergencie. Výsledky ukázali, že priemerné zlepšenie získané týmito úpravami je štatisticky nevýznamné. Keďže cieľom je vytvoriť čo najjednoduchší algoritmus, tieto zmeny neboli vo výslednom modeli realizované.

Každý experiment bol vykonaný trikrát až päťkrát na zabezpečenie spoľahlivosti výsledkov.

Najlepší model dosiahol priemernú presnosť 77.2% so smerodajnou odchýlkou 0.012.

Banking-Tailored BERT

Keďže naše dáta obsahujú terminológiu špecifickú pre bankový sektor, rozhodli sme sa využiť model BERT, ktorý bol fine-tunovaný špeciálne na dátach pre sektor bankovníctva a financií. Avšak, keďže tento model rozumie výlučne angličtine, bolo nutné trénovanie dáta preložiť.

Na preklad sme použili DeepL API[1]. Najprv sme preložili trénovaciu, validačnú a testovaciu množinu. Vzhľadom na povahu angličtiny, nebol text ďalej upravovaný (predspracovaný), ako tomu bolo v prípade použitia modelu SlovakBERT v sekcii 2.3.1. Následne sme optimalizovali model BERT pre bankovníctvo na preložených dátach.

Fine-tunovaný model dosiahol sľubné počiatočné výsledky, s presnosťou mierne prevyšujúcou 70%. Bohužiaľ, ďalšie trénovanie a ladenie hyperparametrov nepriniesli zlepšenie. Testovali sme aj ďalšie modely trénované na anglickom jazyku, no všetky priniesli podobné výsledky. Použitie anglického modelu sa ukázalo ako nedostatočné na dosiahnutie lepších výsledkov, pravdepodobne kvôli chybám v preklade. Preklad obsahoval nepresnosti spôsobené ”šumom” v dátach, hlavne v testovacej dátovej sade.

Prístup 2: Klasifikáca intentov pomocou veľkých jazykových modelov

Ako bolo uvedené v sekcii 2, okrem fine-tunovania modelu SlovakBERT a ďalších modelov založených na architektúre BERT, sme skúmali aj využitie generatívnych veľkých jazykových modelov pre klasifikáciu intentov. Zamerali sme sa na inštrukčné modely, kvôli ich schopnosti pracovať s inštrukčnými promptami a tiež schopnosti odpovedať na otázky.

Keďže neexistujú verejne dostupné inštrukčné modely trénované výhradne na slovenčinu, vybrali sme niekoľko multilingválnych modelov: Gemma 7b instruct [6] a Llama3 8b instruct [1]. Na porovnanie ukážeme aj výsledky proprierárneho modelu OpenAI gpt-3.5-turbo, používaného za rovnakých podmienok ako vyššie uvedené verejne dostupné modely.

Podobne ako v článku [4], našou stratégiou je využitie promptov s možnosťami intentov a ich popismi na vykonanie predikcie intentu v režime zero-shot. Očakávame, že výstupom bude možnosť so správnym intentom. Keďže kompletná sada intentov s ich popismi by produkovala veľmi dlhé prompty, používame náš základný model na výber troch najlepších intentov. Dáta pre tieto modely boli pripravené nasledovne:

Každý prompt obsahuje vetu (otázku od používateľa) v slovenčine, štyri možnosti intentov s popismi a inštrukciu na výber najvhodnejšej možnosti. Prvé tri možnosti intentov sú vybrané základným modelom, ktorý má hodnotu Top-3 recall metriky 87%. Posledná možnosť je vždy ”invalid” a mala by byť vybraná, keď žiadna z prvých troch možností nezodpovedá otázke používateľa, alebo ide o otázku mimo rozsahu intentov. V tomto nastavení je najvyššia možná dosiahnuteľná presnosť 87%.

Implementácia predtrénovaného LLM

Na úvod sme implementovali neoptimalizovaný predtrénovaný veľký jazykový model, čo znamená, že daný inštrukčný model bol použitý bez fine-tunovania na našich dátach.

Na zlepšenie výsledkov sme využili prompt inžiniering. Tento proces jemne preformuluje prompt, v našom prípade sme upravovali pokyny pre model, aby odpovedal napr. iba názvom intentu alebo číslom/písmenom, ktoré označuje správnu možnosť. Rovnako sme skúmali rôzne možnosti umiestnenia promptu (rola používateľa/rola systému) a experimentovali sme s rozdelením promptu, kde pokyn pre model bol umiestnený v úlohe systému a otázka spolu s možnosťami v úlohe používateľa.

Napriek týmto snahám tento prístup nepriniesol lepšie výsledky ako fine-tuning modelu SlovakBERT. Avšak, pomohol nám identifikovať najefektívnejšie formáty promptov pre fine-tuning týchto inštrukčných modelov. Tieto kroky boli zásadné pri analyzovaní správania modelov a ich vzorcov odpovedí, čo sme následne využili pri tvorbe stratégií na fine-tunovanie týchto modelov.

Optimalizácia LLM

Prompty, na ktoré predtrénované modely reagovali najlepšie, boli využité pri fine-tuningu modelov. Keďže predtrénované veľké jazykové modely nevyžadujú rozsiahle trénovacie dátové množiny, použili sme našu ”simple” dátovú množinu, podrobne opísanú v sekcii 2.1. Model bol následne fine-tunovaný tak, aby na zadané prompty odpovedal príslušnými názvami intentov.

Kvôli veľkosti vybraných modelov sme použili metódu nazývanú parameter efficient training (PEFT) [2], čo je stratégia zameraná na efektívne využívanie pamäte a znižovanie času výpočtu. PEFT trénuje len malú podmnožinu parametrov, s hodnotami zvyšných vôbec nehýbe, čím sa znižuje počet trénovateľných parametrov. Konkrétne sme použili prístup Low-Rank Adaptation (LoRA) [3].

Na dosiahnutie najlepšieho výkonu boli ladené aj hyperparametre, vrátane rýchlosti učenia, veľkosti dávky, parametra lora alpha v konfigurácii LoRA, počtu krokov akumulácie gradientu a formulácie ”chat template”.

Optimalizácia jazykových modelov si vyžaduje značné výpočtové zdroje, čo znamená potrebu využitia HPC (High Performance Computing) zdrojov na dosiahnutie požadovaného výkonu a efektivity. HPC systém Devana, ktorý je vybavený 4 GPU akcelerátormi NVidia A100 s 40 GB pamäte na každom uzle, poskytuje potrebnú výpočtovú kapacitu. V našom prípade sa oba fine-tunované modely zmestia do pamäte jedného GPU akcelerátora (v plnej veľkosti) s maximálnou veľkosťou dávky 2.

Aj keď využitie všetkých 4 GPU akcelerátorov na jednom uzle by skrátilo čas trénovania a umožnilo väčšiu veľkosť dávky, pre účely benchmarkingu a na zabezpečenie konzistentnosti a porovnateľnosti výsledkov sme vykonali všetky experimenty iba s jedným GPU akcelerátorom.

Toto úsilie viedlo k určitým zlepšeniam vo výkone modelov. Pre model Gemma 7b instruct sa podarilo znížiť počet falošne pozitívnych predikcií. Na druhej strane, pri fine-tuningu modelu Llama3 8b instruct došlo k zlepšeniu oboch metrík (presnosť a počet falošne pozitívnych predikcií). Avšak, ani jeden z týchto modelov po optimalizácii neprekročil schopnosti fine-tunovaného modelu SlovakBERT.

Čo sa týka modelu Gemma 7b instruct, niektoré množiny hyperparametrov priniesli vyššiu presnosť, ale aj vysokú hodnotu FPR, zatiaľčo ďalšie viedli k nižšej presnosti a nízkej hodnoty FPR. Hľadanie množiny hyperparametrov, ktorá by zaistila vyvážené hodnoty presnosti a FPR bolo náročné. Najlepšia konfigurácia dosiahla presnosť mierne prevyšujúcu 70% s hodnotou FPR 4.6%. Porovnaním týchto hodnôt s výkonom tohto modelu bez optimalizácie zisťujeme, že fine-tunovanie iba zľahka zvýšilo presnosť, ale dramaticky redukovalo počet falošne pozitívnych predikcií, takmer o 70%.

Pre model Llama3 8b instruct, najlepšia konfigurácia dosiahla presnosť 75.1% s hodnotou FPR 7.0%. V porovnaní s výkonom modelu bez optimalizácie prinieslo fine-tunovanie vyššiu presnosť a zároveň prispelo k významnému zníženiu hodnoty FPR, ktorá sa znížila na polovicu.

Porovnanie s proprietárnym modelom

Na porovnanie nášho prístupu s proprietárnym veľkým jazykovým modelom sme vykonali experimenty s modelom gpt-3.5-turbo od OpenAI[1]. Použili sme identické prompty na zabezpečenie spravodlivého porovnania a testovali sme ako predtrénovanú, tak aj fine-tunovanú verziu tohto modelu. Bez fine-tuningu dosiahol gpt-3.5-turbo presnosť 76%, hoci vykazoval značnú mieru falošne pozitívnych predikcií. Po fine-tuningu sa presnosť zvýšila na takmer 80% a miera falošne pozitívnych predikcií sa výrazne znížila.

Výsledky

V našej počiatočnej stratégii, ktorá zahŕňala fine-tuning modelu SlovakBERT, sme dosiahli priemernú presnosť 77.2% so štandardnou odchýlkou 0,012, čo predstavuje nárast o 10% v porovnaní s presnosťou základného modelu.

Fine-tuning modelu BERT, špeciálne trénovaný pre bankovníctvo, dosiahol presnosť tesne pod 70%. Tento výsledok prekonáva presnosť základného modelu, avšak nedosahuje výkon fine-tunovaného modelu SlovakBERT.

Následne sme experimentovali s generatívnymi jazykovými modelmi (predtrénovanými, ale nie fine-tunovanými na našich dátach). Hoci tieto modely preukázali sľubné schopnosti, ich výkon bol nižší v porovnaní s fine-tunovaným modelom SlovakBERT. Preto sme pristúpili k fine-tuningu týchto modelov, konkrétne Gemma 7b instruct a Llama3 8b instruct.

Fine-tunovaná verzia modelu Gemma 7b instruct vykazovala finálnu presnosť porovnateľnú s modelom BERT optimalizovaným pre bankovníctvo, a fine-tunovaný model Llama3 8b instruct dosiahol výkon o niečo horší než fine-tunovaný SlovakBERT. Napriek rozsiahlemu úsiliu nájsť konfiguráciu hyperparametrov, ktorá by prekonala schopnosti modelu SlovakBERT, neboli tieto pokusy úspešné. Takže model SlovakBERT je najlepším z porovnávaným modelov.

Všetky výsledky sú zobrazené v Tabuľke 1, vrátane nášho základného modelu a tiež výsledkov proprietárneho modelu od OpenAI pre porovnanie.

Tabuľka 1: Porovnanie hodnôt metrík presnosť a FPR, definovaných v časti 2.2, pre všetky analyzované modely. Hodnoty sú uvedené v percentách.

Záver

Cieľom tohto článku bolo nájsť prístup na riešenie úlohy klasifikácie intentov, ktorý využíva predtrénovaný jazykový model (fine-tunovaný ako aj pôvodný bez fine-tuningu) ako základ pre chatbot pre sektor bankovníctva. Dáta pre našu prácu pozostávali z párov textu a intentu, kde text predstavuje dopyt používateľa (zákazníka) a intent predstavuje príslušný zámer.

Experimentovali sme s viacerými modelmi, vrátane modelu SlovakBERT, BERT pre bankovníctvo a generatívnych modelov Gemma 7b instruct a Llama3 8b instruct. Po pokusoch s dátovými množinami, konfiguráciami hyperparametrov pre fine-tuning a prompt inžinieringu, sa ukázalo, že optimalizácia modelu SlovakBERT je najlepším prístupom, s finálnou presnosťou o niečo vyššou než 77%, čo predstauje nárast o 10% v porovnaní so základným modelom.

Táto štúdia zdôrazňuje efektivitu optimalizácie predtrénovaných jazykových modelov pre vývoj robustného chatbota s presnou klasifikáciou zámerov užívateľov. Tieto poznatky budú v budúcnosti využité na ďalšie zlepšenie výkonu a efektivity v reálnych bankových aplikáciách.

Plná verzia článku SK
Plná verzia článku EN

Poďakovanie

Výskum bol realizovaný s podporou Národného kompetenčného centra pre HPC, projektu EuroCC 2 a Národného Superpočítačového Centra na základe dohody o grante 101101903-EuroCC 2-DIGITAL-EUROHPC-JU-2022-NCC-01.

Literatúra

[1] AI@Meta. Llama 3 model card. 2024. URL: https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md.

[2] Zeyu Han, Chao Gao, Jinyang Liu, Jeff Zhang, and Sai Qian Zhang. Parameter-efficient fine-tuning for large models: A comprehensive survey, 2024. arXiv:2403.14608.

[3] Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, and Weizhu Chen. Lora: Low-rank adaptation of large language models. CoRR, abs/2106.09685, 2021. URL: https://arxiv.org/abs/2106.09685, arXiv:2106.09685.

[4] Soham Parikh, Quaizar Vohra, Prashil Tumbade, and Mitul Tiwari. Exploring zero and fewshot techniques for intent classification, 2023. URL: https://arxiv.org/abs/2305.07157, arXiv:2305.07157.

[5] Matúš Pikuliak, Štefan Grivalský, Martin Konôpka, Miroslav Blšták, Martin Tamajka, Viktor Bachratý, Marián Šimko, Pavol Balážik, Michal Trnka, and Filip Uhlárik. Slovakbert: Slovak masked language model. CoRR, abs/2109.15254, 2021. URL: https://arxiv.org/abs/2109.15254, arXiv:2109.15254.

[6] Gemma Team, Thomas Mesnard, and Cassidy Hardin et al. Gemma: Open models based on gemini research and technology, 2024. arXiv:2403.08295.

Autori

Bibiána Lajčinová – Národné superpočítačové centrum
Patrik Valábek – Národné superpočítačové centrum, Ústav informatizácie, automatizácie a matematiky, Slovenská technická univerzita v Bratislave, Slovenská republika
Michal Spišiak – nettle, s.r.o., Bratislava, Slovenská republika


Privítajte Mistral-sk-7b! 3 okt - Slovenská AI komunita sa po dlhom čase dočkala nového, tentoraz naozaj veľkého jazykového modelu pre slovenský jazyk.
NCC pre HPC na INOFESTe 2024: Festival inovácií v Žiline 24 sep - V dňoch 17. a 18. septembra 2024 sa v Žiline uskutočnil už piaty ročník festivalu inovácií INOFEST 2024, ktorý zorganizovalo združenie INOVATO. Podujatie sa stalo jedinečnou platformou pre stretnutie odborníkov, podnikateľov, akademikov, inovátorov, študentov, zástupcov štátnej správy a verejnosti, čím posilnilo spoluprácu v oblasti regionálnych inovačných ekosystémov na Slovensku.
Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Kategórie
Success-Stories Všeobecné

Využitie veľkých jazykových modelov na efektívnu analýzu náboženských textov

Využitie veľkých jazykových modelov na efektívnu analýzu náboženských textov

Analýza a štúdium textov s náboženskými témami boli historicky doménou filozofov, teológov a ďalších špecialistov v sociálnych vedách. S príchodom umelej inteligencie, konkrétne veľkých jazykových modelov, naberá výskum v tejto oblasti nové dimenzie. Tieto moderné technológie môžu byť využité na odhaľovanie skrytých nuáns v náboženských textoch, čím umožňujú hlbšie pochopenie rôznych symbolizmov a odhalenie významov, ktoré sú pre tieto texty charakteristické a môžu byť nejasné. Takéto zrýchlenie analytického procesu umožňuje výskumníkom sústrediť sa len na špecifické aspekty textu relevantné pre ich výskum.

Jednou z úloh, ktorou sa vedci v tejto oblasti zaoberajú, je štúdium diel autorov asociovaných so špecifickými náboženskými skupinami a komunitami. Porovnávaním ich textov s oficiálnymi doktrínami a učeniami ich denominácií môžu výskumníci hlbšie nahliadnuť do presvedčení, viery a uhlov pohľadu komunít, formovaných učeniami vplyvných autorov.

Štúdia sumarizuje prístup využívajúci embeddingové indexy a jazykové modely na efektívnu analýzu textov s náboženskými témami. Primárnym cieľom je vyvinúť nástroj na získavanie informácií, špeciálne navrhnutý na účinné lokalizovanie relevantných častí textu v dokumentoch. Identifikácia nesúladov medzi získanými časťami textu z diel náboženských komunít a oficiálnymi náukami daného náboženstva, z ktorého táto komunita pochádza, nie je cieľom tejto práce a je ponechaná na teológov.

Táto práca vznikla spojeným úsilím Národného superpočítačového centra a Teologickej fakulty Trnavskej univerzity. Na dosiahnutie riešenia, ktoré vyžadovalo numericky náročné spracovanie veľkého objemu dát, boli využité výpočtové zdroje HPC systému Devana.

Dáta

Texty analyzované v tejto štúdii pochádzajú z náboženskej komunity známej ako Hnutie Nazaret (bežne nazývanej aj ”Beňovci”), ktorá sa začala formovať v sedemdesiatych rokoch minulého storočia. Hnutie, o ktorom niektorí vedci hovoria, že má známky sekty, je stále aktívne aj v dnešnej dobe, avšak v redukovanej a zmenenej forme. Jeho zakladateľ, Ján Augustín Beňo (1921 – 2006), bol tajne vysväteným katolíckym kňazom v totalitnej dobe. Beňo nabádal členov hnutia k aktívnemu žitiu viery prostredníctvom každodenného čítania biblických textov a uplatňovania ich posolstva v praxi prostredníctvom konkrétnych rozhodnutí a činov. Hnutie sa rozšírilo po celom Slovensku, pričom komunity existovali takmer v každom väčšom meste. Rozšírilo sa aj do susedných krajín, ako Poľsko, Česká republika, Ukrajina a Maďarsko. V roku 2000 bolo v hnutí približne tristo manželských párov, tisíc deti a stotridsať kňazov a študentov pripravujúcich sa na kňazstvo. Hnutie malo tri hlavné ciele: radikálnu prevenciu v oblasti vzdelania, podporu kňazov, ktorí by mohli pôsobiť ako rodičovské postavy na identifikáciu a rozvoj kňazských povolaní u detí, a výrobu a distribúciu samizdatových materiálov potrebných na katechézu a evanjelizáciu.

Pre výskum bolo k dispozícii 27 dokumentov vytvorených touto komunitou. Tieto dokumenty, ktoré významne vplývali na formovanie ideológie komunity Beňovci, boli reprodukované a distribuované počas komunistického režimu vo forme samizdatov – literatúry zakázanej komunistickým režimom. Po politickom prevrate boli viaceré z týchto dokumentov vytlačené a distribuované verejnosti mimo hnutia. Väčšina z dokumentov pozostávala z textov určených pre ”ranné úvahy” — krátke meditácie nad biblickými textami. Dokumenty taktiež obsahovali zakladateľove komentáre o učeniach Katolíckej cirkvi a vybraných témach týkajúcich sa výchovy detí, spirituálneho vedenia a katechézy pre deti.

Dokumenty obsahovali niekoľko duplicít, avšak pre úlohu získavania a vyhľadávania informácií to nepredstavuje problém. Všetky dokumenty sú napísané výhradne v slovenskom jazyku.

Jeden z dokumentov bol anotovaný pre účely testovania expertom z partnerskej fakulty, ktorý sa dlhodobo venuje Hnutiu Nazaret. Anotáciami myslíme časti textu (zvyčajne odseky, prípadne vety) označené ako patriace do jednej z piatich tried, pričom tieto triedy reprezentujú päť tém:

  1. Direktívna poslušnosť
  2. Hierarchická výchova
  3. Radikálnosť v prevzatí modelu života
  4. Ľudské potreby realizované len v spoločenstve/hnutí a v rodine
  5. Divné/čudné/silné

Každá z týchto tém je doplnená o súbor otázok (dopytov/výrazov), ktoré boli navrhnuté na testovanie riešenia získavania informácií. Cieľom týchto testovacích otázok je vyhodnotiť, koľko relevantných častí textu týkajúcich sa danej témy dokáže náš nástroj získať z anotovaného dokumentu.

Tabuľka 1

Postup riešenia

Existuje viacero metód vhodných na riešenie tejto úlohy, vrátane klasifikácie textu, modelovania témy textu, RAG (z angl. Retrieval-Augmented Generation), alebo optimalizácie predtrénovaného jazykového modelu. Avšak, požiadavkou partnerských teológov, zaoberajúci sa analýzou týchto dokumentov, bola identifikácia konkrétných častí textu relevantných k daným témam, a teda získanie ich presného znenia. Práve preto bola vybraná metóda získavania informácií (z angl. information retrieval). Tento prístup sa líši od metódy RAG, ktorá bežne obsahuje časť získavania informácií a tiež časť generovania nového textu, v tom, že sa sústredí výhradne na identifikáciu relevantných častí textu v dokumentoch a negeneruje žiadny nový text.

Metóda získavania informácií využíva jazykové modely na transformovanie komplexných dát, ako je text, do numerickej reprezentácie, ktorá zachytáva celý význam a kontext daného vstupu. Táto numerická reprezentácia, nazývaná embedding (vo zvyšku textu budeme kvôli jednoduchosti využívať už len tento termín), môže byť použitá na sémantické vyhľadávanie v dokumentoch analyzovaním pozícií a blízkosti embeddingov v multidimenzionálnom vektorovom priestore. Použitím otázok (dopytov) dokáže systém nájsť v dokumentoch relevantné časti textu meraním podobnosti medzi embeddingami otázok a embeddingami segmentovaného textu. Tento prístup nevyžaduje žiadnu optimalizáciu existujúceho jazykového modelu, takže modely môžu byť použité bez akýchkoľvek úprav a pracovaný postup zostáva pomerne jednoduchý.

Výber modelu

Keďže všetky analyzované dokumenty v rámci tejto štúdie sú v slovenskom jazyku, je potrebné, aby zvolený jazykový model ”rozumel” slovenčine, čo značne zúžilo možnosti jeho výberu. K dnešnému dňu existuje len jeden verejne dostupný model, ktorý rozumie výhradne slovenskému jazyku, a niekoľko multilingválnych modelov, ktoré rozumejú slovenčine do určitej miery. Štyri predtrénované modely boli vybrané z malého množstva dostupných možností, prvým z nich je model Slovak-BERT . Slovak-BERT je verejne dostupný model založený na architektúre transformerov. Ďalším vybraným modelom je text-embedding-3-small model. Ide o výkonný proprietárny embedding model dostupným len cez API spoločnosti OpenAI. Tretím modelom je verejne dostupný embedding model BGE M3 , ktorý je výkonným multilingválnym modelom podporujúcim viac než 100 jazykov. Posledným modelom je taktiež multilingválny model z dielne Microsoftu nazývaný E5 , ktorý je rovnako verejne dostupný.

Tieto štyri modely boli použité na získanie vektorových reprezentácií textu. Ich výkon bude detailne diskutovaný v nasledujúcich častiach reportu.

Predspracovanie dát

Prvým krokom predspracovania dát je segmentovanie textu (z angl. chunking). Hlavným dôvodom pre tento krok bolo splniť požiadavku teológov na vyhľadávanie (získavanie) krátkych častí textu. Okrem toho bolo potrebné dokumenty rozdeliť na menšie časti, aj kvôli obmedzenej dĺžke vstupu niektorých jazykových modelov. Na túto úlohu bola použitá knižnica Langchain . Poskytuje hierarchické segmentovanie textu, ktoré produkuje prekrývajúce sa bloky textu definovanej dĺžky (s definovaným prekrytím) tak, aby v nich bol zachovaný kontext. Takto boli vytvorené bloky s dĺžkami 300, 400, 500 a 700 znakov. Následne spracovanie pozostávalo z odstránenia diakritiky, úprava textu na veľké/malé písmená, podľa podmienok modelov a odstránenie vylúčených slov (z angl. stopwords). Odstraňovanie týchto slov je bežnou praxou v úlohách spracovania prirodzeného jazyka, keďže vylúčené slová nenesú žiadnu významovú informáciu. Niektoré modely môžu profitovať z odstránenia vylúčených slov na zlepšenie relevantnosti získaných blokov textu, ale iné môžu ťažiť z ponechania týchto slov, aby bol zachovaný celý kontext nevyhnutný na pochopenie textu.

Tabuľka 2

Vektorové embeddingy

Vektorové embeddingy boli vytvorené z blokov textu s použitím vybraných predtrénovaných jazykových modelov.

V prípade modelu Slovak-BERT, sme pre generovanie embeddingov použili model bez pridaných predikčných vrstiev, a následne sme ukladali iba prvý embedding, ktorý obsahuje celý význam vstupného textu. Ďalšie používané modely priamo produkujú embeddingy vo vhodnej forme, preto nebolo potrebné žiadne dodatočné spracovanie výstupov.

V nasledujúcej časti s výsledkami analyzujeme výkon všetkých vybraných embedding modelov a porovnávame ich schopnosti zachytiť kontext.

Výsledky

Pred uskutočnením kvantitatívnych testov prešli všetky embeddingové indexy predbežným hodnotením, aby sa zistila úroveň porozumenia slovenského jazyka a špecifickej náboženskej terminológie evaluovaných modelov. Predbežné hodnotenie zahŕňalo subjektívne posúdenie relevantnosti získaných častí textu.

Tieto testy odhalili, že embeddingy získané pomocou modelu E5 nie sú dostatočne efektívne pre naše dáta. Keď sme pomocou testovacej otázky hľadali informácie v dokumentoch, väčšina získaných blokov textu obsahovala kľúčové slová použité v otázke, ale neobsahovala kontext otázky. Možným vysvetlením by mohlo byť, že tento model uprednostňuje zhody na úrovni slov pred zhodami kontextu v slovenskom jazyku. Ďalším dôvodom môže byť aj to, že tento model bol natrénovaný na dátach, ktoré neobsahovali veľké množstvo textu v slovenčine, resp. výber textov nebol dostatočne rozmanitý, čo môže viesť k nižšiemu výkonu modelu E5 v slovenčine, aj keď v iných jazykoch dosahuje výborné výsledky. Podotýkame, že tieto pozorovania nie sú definitívne závery, ale skôr hypotézy založené na súčasných, obmedzených výsledkoch. Rozhodli sme sa ďalej nevyhodnocovať výkon embeddingových indexov získaných z E5 modelu, keďže je to irelevantné vzhľadom na neschopnosť modelu zachytiť nuansy náboženského textu. Na druhej strane, schopnosti modelu Slovak-BERT, ktorý je založený na architektúre RoBERTa charakteristickej jej relatívne jednoduchou topológiou, prekonali očakávania. Navyše, výkon text-embedding-3-small a BGE M3 embeddingov splnil očakávania, keďže prvý, subjektívne vyhodnotený, test ukázal veľmi dobré porozumenie kontextu a nuáns v textoch s náboženskými témami a taktiež výborné porozumenie slovenského jazyka.

Preto boli kvantitatívne testy vykonané len pre vektorové databázy využívajúce Slovak-BERT, OpenAI text-embedding-3-small a BGE M3 embeddingy.

Vzhľadom na povahu riešeného problému a charakter testovacích anotácií existuje potenciálna obava týkajúca sa ich kvality. Niektoré časti textu mohli byť nesprávne klasifikované, pretože môžu patriť do viacerých tried. Táto skutočnosť, spolu s možnosťou ľudskej chyby, mohla ovplyvniť konzistentnosť a presnosť anotácií.

Berúc do úvahy túto skutočnosť, sme sa rozhodli zamerať výhradne na vyhodnotenie metriky zvanej recall. Hodnotu tejto metriky meriame ako pomer počtu získaných blokov zhodných s anotáciami, k celkovému počtu anotovaných blokov textu (bez ohľadu na podiel falošne pozitívnych blokov). Recall vyhodnocujeme pre každú tému a pre všetky vektorové databázy s rôznymi dĺžkami blokov textu.

Komplexnosť a interpretačná povaha náboženských štúdií sa pravdepodobne prejavuje nielen v kvalite testovacích anotácií, ale aj v samotných testovacích otázkach. Ako príklad môžeme uviesť testovaciu otázku ”Božia vôľa” pre tému Direktívna poslušnosť. Hoci pozorný čitateľ rozumie, ako táto otázka súvisí s danou témou, nemusí to byť očividné pre jazykový model. Preto, okrem vyhodnotenia pomocou dodaných testovacích otázok budeme vyhodnocovať výkon embeddingov aj s použitím ďalších otázok, ktoré boli získané metódou kontextovej augmentácie. Kontextová augmentácia je technika v prompt inžinieringu používaná na zlepšenie kvality textových dát a je dokumentovaná vo viacerých vedeckých článkoch , . Táto technika spočíva v tom, že sa zvolený jazykový model použije na vytvorenie novej otázky (príp. nového textu) na základe pôvodnej otázky (textu) a doplneného kontextu s cieľom formulovania lepšej otázky. Jazykový model použitý na generovanie nových otázok pomocou tejto techniky bol GPT 3.5 a tieto otázky budeme ďalej v texte označovať ako ”GPT otázky”.

Slovak-BERT embeddingové indexy

Vyhodnotenie metriky recall pre embeddingové indexy využívajúce Slovak-BERT embeddingy pre štyri rôzne veľkosti blokov textu s použitím a bez použitia metódy odstraňovania vylúčených slov je zobrazené na Obrázku 1. Toto vyhodnotenie zahŕňa každú z piatich tém špecifikovaných v Časti 2 a pokrýva pôvodné aj GPT otázky.

Je očividné, že GPT otázky produkujú vo všeobecnosti lepšie výsledky než pôvodné otázky, okrem prípadu posledných dvoch tém, pri ktorých obe sady otázok produkujú podobné výsledky. Je tiež zrejmé, že Slovak-BERT embeddingy vo väčšine prípadov profitujú z odstránenia vylúčených slov. Najvyššia hodnota recall bola dosiahnutá pre tému Radikálnosť v prevzatí modelu života, s veľkosťou blokov textu 700 znakov, s odstránenými vylúčenými slovami, dosahujúc viac než 47%. Na druhej strane, najhoršie výsledky boli získané pre tému Divné/čudné/silné, kde ani jedna sada otázok nedokázala úspešne získať relevantné častí textu z dokumentov. Dokonca, v niektorých prípadoch neboli získane absolútne žiadne relevantné bloky textov.

Hodnoty recall pre všetky témy vyhodnotené pomocou pôvodných aj GPT otázok (pre všetky skúmané veľkosti blokov textu) pre embeddingy generované modelom Slovak-BERT. Indexy embeddingov označené ako +SW obsahujú vylúčené slová, zatiaľ čo -NoSW znamená, že vylúčené slová boli odstránené.

Obrázok 1: Hodnoty recall pre všetky témy vyhodnotené pomocou pôvodných aj GPT otázok (pre všetky skúmané veľkosti blokov textu) pre embeddingy generované modelom Slovak-BERT. Indexy embeddingov označené ako +SW obsahujú vylúčené slová, zatiaľ čo -NoSW znamená, že vylúčené slová boli odstránené.

OpenAI text-embedding-3-small embeddingové indexy

Analogicky k vyhodnoteniu Slovak-BERT embeddingových indexov, grafy s výsledkami pre embeddingy získané modelom text-embedding-3-small sú zobrazené na Obrázku 2. Hodnoty metriky recall sú všeobecne vyššie než tie získané so Slovak-BERT embeddingami. Podobne ako v predchádzajúcom prípade, GPT otázky produkujú lepšie výsledky. Pozorovateľný je taktiež istý trend medzi hodnotou metriky recall a veľkosťou textových blokov — dlhšie bloky textu zvyčajne vykazujú vyššie hodnoty recall.

Zaujímavé zistenie sa týka témy Radikálnosť v prevzatí modelu života. S použitím pôvodných otázok sme nezískali takmer žiadne relevantné výsledky. Naopak, pri použití otázok generovaných pomocou GPT modelu, boli hodnoty recall metriky výrazne vyššie a dosahovali takmer 90% pre bloky textu s veľkosťou 700 znakov.

Čo sa týka odstraňovania vyradených slov, vplyv tejto techniky na embeddingy sa líši. Pre témy 4 a 5 sa ukazuje, že odstránenie vyradených slov je prospešné. Avšak, pre ostatné témy tento krok výhody neprináša.

Témy 4 a 5 vykazovali najslabšie výsledky medzi všetkými témami. Môže to byť spôsobené povahou otázok pre tieto dve témy, keďže sú to citáty a celé vety, na rozdiel od otázok pre ostatné témy, ktoré sú frázy, kľúčové slová alebo výrazy. Zdá sa, že model text-embedding-3-small funguje lepšie s frázovitým typom otázok. Ale na druhej strane, keďže otázky pre témy 4 a 5 sú celé vety, zdá sa embeddingy profitujú z odstránenia vyradených slov, keďže v tomto prípade to môže pomôcť pri zachytení kontextu v dlhých otázkach.

Téma 4 je veľmi špecifická a preto možno vyžaduje detailnejšie testovacie otázky, keďže poskytnuté otázky pravdepodobne neobsahujú všetky nuansy danej témy. Naopak, téma 5 je veľmi všeobecná, vďaka čomu je celkom pochopiteľné, prečo je zachytávanie kontextu tejto témy pomocou embeddingov náročné. Všeobecný charakter tejto témy by mohol profitovať z iného analytického prístupu. Napríklad metóda analýzy sentimentu by mohla zachytiť zvláštnu, čudnú a silnú náladu vo vzťahu k študovaným náboženským témam.

Obrázok 2: Hodnoty recall vyhodnotené pre všetky témy pomocou pôvodných aj GPT otázok, pre všetky embeddingové indexy generované modelom text-embedding-3-small. Embeddingové indexy označené +SW obsahujú vylúčené slová, zatiaľ čo indexy označené -NoSW majú vylúčené slová odstránené.

BGE M3 embeddingové indexy

Grafy s vyhodnotenou metrikou recall pre embeddingové indexy využívajúce BGE M3 embeddingy sú zobrazené na Obrázku 3. Tieto hodnoty ukazujú výkon spadajúci medzi Slovak-BERT a OpenAI text-embedding-3-small embeddingy. V niektorých prípadoch sa nepodarilo dosiahnuť také vysoké hodnoty metriky recall ako pri OpenAI embeddingoch, avšak BGE M3 embeddingy stále vykazujú konkurencieschopný výkon, hlavne ak prihliadneme na skutočnosť, že sa jedná o verejne dostupný model, na rozdiel od OpenAI embeddingového modelu, ku ktorému sa dá pristupovať len cez API, čo môže byť niekedy problémom kvôli zdieľaniu súkromných alebo citlivých dát a taktiež kvôli finančným nákladom.

S týmito embeddingami môžeme pozorovať rovnaký fenomén ako s text-embedding-3-small embeddingami: krátke, frázovité otázky sú preferované pred dlhšími otázkami podávanými formou viet a citátov. Preto sú hodnoty recall pre prvé tri témy vyššie, ako sme diskutovali už v predchádzajúcej časti.

Odstránenie vylúčených slov sa zdá byť užitočné, hlavne pre posledné dve témy.

Obrázok 3: Hodnoty metriky recall pre všetky témy získané s použitím pôvodných aj GPT otázok pre embeddingy vytovrené modelom BGE M3. Značky +SW označujú indexy obsahujúce vylúčené slová, zatiaľčo -NoSW indikuje, že vylúčené slová boli v daných indexoch odstránené.

Záver

Štúdia prezentuje prístup pre analýzu textov s náboženskými témami pomocou numerických reprezentácií textu zvaných embeddingy, generovanými troma vybranými predtrénovanými jazykovými modelmi: Slovak-BERT, OpenAI text-embedding-3-small a BGE M3 model. Výberu modelov predchádzalo posúdenie ich schopnosti ”rozumieť slovenčine” a náboženskej terminológii. Pre zvolené tri modely sme konštatovali dostatočnú schopnosť, čo ich predurčilo ako vhodných kandidátov na zvládnutie úlohy získavania informácií z danej sady dokumentov.

Výzvy týkajúce sa kvality testovacích otázok boli adresované pomocou techniky kontextovej augmentácie. Tento prístup pomohol pri formulovaní vhodnejších otázok, čo viedlo k získavaniu relevantnejších častí textu, ktoré zachytávali všetky nuansy tém, ktoré teológovia v texte hľadajú.

Výsledky demonštrujú, že efektívnosť embeddingov generovaných týmito modelmi, hlavne modelom text-embedding-3-small od OpenAI, je dostatočná na hlboké porozumenie kontextu, aj v slovenskom jazyku. Hodnoty metriky recall pre embeddingy tohto modelu sa líšia v závislosti od témy a použitých testovacích otázok, pričom najlepšia hodnota bola dosiahnutá pre tému Radikálnosť v prevzatí modelu života dosahujúc takmer 90%, s použitím GPT otázok a dĺžky textových blokov 700 znakov. Vo všeobecnosti, text-embedding-3-small model mal najlepšie výsledky s najväčšou analyzovanou dĺžkou blokov textu, vykazujúc mierny trend zvyšujúcej sa hodnoty recall so zväčšujúcou sa dĺžkou blokov textu. Téma Divné/čudné/silné mala najnižšiu hodnotu recall, čo môže byť dôsledkom neurčitosti v špecifikácii tejto témy.

Pre Slovak-BERT embeddingové indexy sú hodnoty recall o niečo nižšie, ale stále pomerne pôsobivé vzhľadom na jednoduchosť tohto jazykového modelu. Lepšie výsledky boli získané v použitím GPT otázok, s najlepšou hodnotou 47,1% pre tému Radikálnosť v prevzatí modelu života s dĺžkou blokov 700 znakov, a s embeddingami vytvorenými z textu s odstránenými vylúčenými slovami. Celkovo, tento model najviac ťažil z odstraňovania vylúčených slov.

Čo sa týka BGE M3 embeddingov, výsledky boli taktiež veľmi dobré, dosahujúc vysokú hodnotu recall metriky, aj keď nie až takú vysokú ako v prípade OpenAI embeddingov. Ale vzhľadom na to, že BGE M3 je verejne dostupný model, sú tieto výsledky pozoruhodné.

Tieto zistenia zdôrazňujú potenciál využitia veľkých jazykových modelov pre špecializované oblasti ako analýza textu s náboženskými témami. Výskum by sa ďalej mohol zaoberať zhlukovaním embeddingov za účelom odhalenia asociácií a inšpirácií autorov týchto diel. Pre teológov, budúca práca spočíva v analýze získaných častí textu s cieľom identifikovať odchýlky od oficiálneho učenia Katolíckej cirkvi, čím sa objasnia interpretácie a pohľady hnutia.

Poďakovanie

Výskum bol realizovaný s podporou Národného kompetenčného centra pre HPC, projektu EuroCC 2 a Národného Superpočítačového Centra na základe dohody o grante 101101903-EuroCC 2-DIGITAL-EUROHPC-JU-2022-NCC-01.

Výskum bol realizovaný s využitím výpočtovej infraštruktúry obstaranej v projekte Národné kompetenčné centrum pre vysokovýkonné počítanie (kód projektu: 311070AKF2) financovaného z Európskeho fondu regionálneho rozvoja, Štrukturálnych fondov EU Informatizácia spoločnosti, operačného programu Integrovaná infraštruktúra 2014-2020.

Plná verzia článku SK
Plná verzia článku EN

Autori

Bibiána Lajčinová – Národné superpočítačové centrum
Jozef Žuffa – Teologická fakulta Trnavskej univerzity v Trnave
Milan Urbančok – Teologická fakulta Trnavskej univerzity v Trnave

Literatúra

[1] Matúš Pikuliak, Štefan Grivalský, Martin Konôpka, Miroslav Blšťák, Martin Tamajka, Viktor Bachratý, Marián Šimko, Pavol Balážik, Michal Trnka, and Filip Uhlárik. Slovakbert: Slovak masked language model, 2021.

[2] Jianlv Chen, Shitao Xiao, Peitian Zhang, Kun Luo, Defu Lian, and Zheng Liu. Bge m3-embedding: Multi-lingual, multi-functionality, multi-granularity text embeddings through self-knowledge distillation, 2024.

[3] Liang Wang, Nan Yang, Xiaolong Huang, Linjun Yang, Rangan Majumder, and Furu Wei. Multi-lingual e5 text embeddings: A technical report, 2024.

[4] Harrison Chase. Langchain. https://github.com/langchain-ai/langchain, 2022. Accessed: May 2024.

[5] Xinbei Ma, Yeyun Gong, Pengcheng He, Hai Zhao, and Nan Duan. Query rewriting for retrieval-augmented large language models, 2023.

[6] Rolf Jagerman, Honglei Zhuang, Zhen Qin, Xuanhui Wang, and Michael Bendersky. Query expansion by prompting large language models, 2023.


Privítajte Mistral-sk-7b! 3 okt - Slovenská AI komunita sa po dlhom čase dočkala nového, tentoraz naozaj veľkého jazykového modelu pre slovenský jazyk.
NCC pre HPC na INOFESTe 2024: Festival inovácií v Žiline 24 sep - V dňoch 17. a 18. septembra 2024 sa v Žiline uskutočnil už piaty ročník festivalu inovácií INOFEST 2024, ktorý zorganizovalo združenie INOVATO. Podujatie sa stalo jedinečnou platformou pre stretnutie odborníkov, podnikateľov, akademikov, inovátorov, študentov, zástupcov štátnej správy a verejnosti, čím posilnilo spoluprácu v oblasti regionálnych inovačných ekosystémov na Slovensku.
Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Kategórie
Success-Stories Všeobecné

Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie

Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie

Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.

Zber dát

LiDAR je inovatívna metóda diaľkového merania vzdialenosti, ktorá funguje na princípe výpočtu doby šírenia impulzu laserového lúča odrazeného od objektov. LiDAR vysiela svetelné impulzy, ktoré zasiahnu zem, alebo daný objekt, a vrátia sa späť, kde sú zachytené senzormi. Meraním času návratu svetla LiDAR určí vzdialenosť bodu, v ktorom sa laserový lúč odrazil. 

LiDAR dokáže vysielať 100- až 300 000 impulzov za sekundu, pričom z každého metra štvorcového povrchu zachytí niekoľko desiatok až stoviek impulzov, v závislosti od konkrétneho nastavenia a vzdialenosti snímaného objektu. Týmto spôsobom sa vytvára tzv. mračno bodov (PointCloud) pozostávajúce, potenciálne, z miliónov bodov. Moderným využitím LiDAR-u je zber dát zo vzduchu, kde sa zariadenie umiestňuje na drony, čím sa zvyšuje efektivita a presnosť zberu dát. Na zber dát v tomto projekte boli použité drony od spoločnosti DJI, hlavne dron DJI M300 a Mavic 3 Enterprise (obr. 1). Dron DJI M300 je profesionálny dron navrhnutý pre rôzne priemyselné aplikácie a jeho parametre umožňujú, aby bol vhodným nosičom pre LiDAR.

Dron DJI M300 bol využitý ako nosič pre LiDAR značky Geosun (obr. 1). Ide o strednorozsahový, kompaktný systém s integrovaným laserovým skenerom a systémom na určovanie polohy a natočenia. Vzhľadom na pomer medzi rýchlosťou zberu a kvalitou dát boli dáta snímané z výšky 100 m nad povrchom, čím je možné zosnímať za pomerne krátky čas aj väčšie územia v postačujúcej kvalite.

Zozbierané dáta boli geolokalizované v súradnicovom systéme S-JTSK (EPSG:5514) a Baltskom výškovom systéme po vyrovnaní (Bpv), pričom súradnice sú udávané v metroch alebo metroch nad morom. Okrem lidarových dát bola súčasne vykonaná aj letecká fotogrametria, ktorá umožňuje tvorbu tzv. ortofotomozaiky. Ortofotomozaiky poskytujú fotografický záznam skúmanej oblasti vo vysokom rozlíšení (3 cm/pixel) a s polohovou presnosťou do 5 cm. Ortofotomozaika bola použitá ako podklad pre vizuálne overenie polôh jednotlivých stromov.

Obrázok 1. Dron DJI M300 (vľavo) a LiDAR značky Geosun (vpravo).

Klasifikácia dát

Nosným datasetom, ktorý vstupoval do automatickej identifikácie stromov, bolo lidarové mračno bodov vo formáte LAS/LAZ (nekomprimovaná a komprimovaná forma). LAS súbory sú štandardizovaným formátom pre ukladanie lidarových dát navrhnutý tak, aby zabezpečil efektívne ukladanie veľkého množstva bodových dát s presnými 3D súradnicami. LAS súbory obsahujú informácie o polohe (x, y, z), intenzite odrazu, klasifikácii bodov a ďalšie atribúty, ktoré sú nevyhnutné pre analýzu a spracovanie lidarových dát. Vďaka svojej štandardizácii a kompaktnosti sa LAS súbory často používajú v geodézii, kartografii, lesníctve, urbanistickom plánovaní a mnohých ďalších oblastiach, kde je potrebná detailná a presná 3D reprezentácia terénu a objektov.

Mračno bodov bolo potrebné najskôr spracovať do takej podoby, aby na ňom bolo možné čo najjednoduchšie identifikovať body jednotlivých stromov alebo vegetácie. Ide o proces, pri ktorom sa každému bodu v mračne bodov priradí určitá trieda, čiže hovoríme o klasifikácii.

Na klasifikáciu mračna bodov je možné použiť viacero nástrojov. V našom prípade sme sa, vzhľadom na dobré skúsenosti, rozhodli použiť softvér Lidar360 od spoločnosti GreenValley International [1]. V rámci klasifikácie mračna bodov boli jednotlivé body mračna klasifikované do nasledovných tried: neklasifikované (1), povrch (2), stredná vegetácia (4), vysoká vegetácia (5), budovy (6). Na klasifikáciu bola využitá metóda strojového učenia, ktorá po natrénovaní na reprezentatívnej trénovacej vzorke dokáže automaticky klasifikovať body ľubovoľného vstupného datasetu (obr. 2).

Trénovacia vzorka je vytvorená manuálnym klasifikovaním bodov mračna do jednotlivých tried. Na účely automatizovanej identifikácie stromov sú pre tento projekt podstatné hlavne triedy povrch a vysoká vegetácia. Avšak, pre čo najlepší výsledok klasifikácie vysokej vegetácie je vhodné zaradiť aj ostatné klasifikačné triedy. Trénovacia vzorka bola tvorená súborom viacerých menších oblastí z celého územia a zahŕňala všetky typy vegetácie, či už listnaté alebo ihličnaté, a taktiež rôzne typy budov. Na základe vytvorenej trénovacej vzorky boli následne automaticky klasifikované zvyšné body mračna. Kvalita trénovacej množiny má preto podstatný vplyv na výslednú klasifikáciu celého územia.


Obrázok 2. Ukážka mračna bodov oblasti zafarbeného pomocou ortofotomozaiky (vľavo) a pomocou príslušnej klasifikácie (vpravo) v programe CloudCompare.

Segmentácia dát

Klasifikované mračno bodov bolo následne segmentované pomocou softvéru CloudCompare [2]. Segmentácia vo všeobecnosti znamená rozdelenie klasifikovaných dát na menšie celky – segmenty, ktoré spĺňajú spoločné charakteristické vlastnosti. Pri segmentácii vysokej vegetácie bolo cieľom priradiť jednotlivé body ku konkrétnemu stromu.

Na účely segmentácie stromov bol použitý plugin TreeIso v softvérovom balíku CloudCompare, ktorý automaticky rozpoznáva stromy na základe rôznych výškových a polohových kritérií (obr. 3). Celková segmentácia sa skladá z troch krokov:

  1. Spájanie bodov, ktoré sú blízko seba, do segmentov a odstraňovanie šumu.
  2. Spájanie susedných segmentov bodov do väčších celkov.
  3. Zloženie jednotlivých segmentov do celku, ktorý tvorí jeden strom.

Výsledkom je kompletná segmentácia vysokej vegetácie. Tieto segmenty sa následne uložia do jednotlivých LAS súborov a použijú sa na následné spracovanie pre určenie polohy jednotlivých stromov. Veľkým nedostatkom tohto nástroja je, že pracuje len v sériovom režime, čiže dokáže využiť len jedno CPU jadro, čo značne limituje jeho použitie v HPC prostredí.

Obrázok, na ktorom je snímka obrazovky, softvér, grafický softvér, multimediálny softvér

Automaticky generovaný popis
Obrázok 3. Segmentované mračno bodov v programe CloudCompare použitím plugin modulu TreeIso.

Ako alternatívnu metódu na segmentovanie sme skúmali aj využitie ortofotomozaiky daných oblastí. Pomocou metód strojového učenia sme sa pokúsili identifikovať jednotlivé koruny stromov na snímkach a na základe takto určených geolokalizačných súradníc identifikovať príslušné segmenty v LAS súbore. Na detekciu korún stromov z ortofotomozaiky bol použitý model YOLOv5 [3] s predtrénovanými váhami z databázy COCO128 [4]. Tréningové dáta pozostávali z 230 snímok, ktoré boli manuálne anotované pomocou nástroja LabelImg [5]. Trénovacia jednotka pozostávala z 300 epoch, snímky boli rozdelené do sád po 16 vzoriek a ich veľkosť bola nastavená na 1000×1000 pixelov, čo sa ukázalo ako vhodný kompromis medzi výpočtovou náročnosťou a počtom stromov na daný výsek. Nedostatočná kvalita tohto prístupu bola obzvlášť markantná pre oblasti s hustou vegetáciou (zalesnených oblastí), ako je znázornené na obrázku 4. Domnievame sa, že to bolo spôsobené nedostatočnou robustnosťou zvolenej trénovacej sady, ktorá nedokázala dostatočne pokryť rôznorodosť obrazových dát (obzvlášť pre rôzne vegetatívne obdobia). Z týchto dôvodov sme segmentáciu z fotografický dát ďalej nerozvíjali a sústredili sme sa už iba na segmentáciu v mračne bodov.

Obrázok 4. Segmentovanie stromov v ortofotomozaike pomocou nástroja YOLOv5. Obrázok ilustruje problém detekcie jednotlivých stromov v prípade hustej vegetácie (súvislého porastu).

Aby sme naplno využili možnosti superpočítača Devana, nasadili sme v jeho prostredí knižnicu lidR [6]. Táto knižnica, napísaná v jazyku R, je špecializovaný nástroj určený na spracovanie a analýzu lidarových dát, poskytuje rozsiahly súbor funkcií a nástrojov pre čítanie, manipuláciu, vizualizáciu a analýzu LAS súborov. S knižnicou lidR je možné efektívne vykonávať úlohy ako filtrovanie, klasifikácia, segmentácia a extrakcia objektov priamo z mračien bodov. Knižnica tiež umožňuje interpoláciu povrchov, vytváranie digitálnych modelov terénu (DTM) a digitálnych modelov povrchu (DSM) a výpočet rôznych metrických parametrov vegetácie a štruktúry krajiny. Vďaka svojej flexibilite a výkonnosti je lidR populárnym nástrojom v oblasti geoinformatiky a je zároveň vhodným nástrojom pre prácu v HPC prostredí, keďže väčšina funkcií a algoritmov je plne paralelizovaná v rámci jedného výpočtového uzla, čo umožňuje naplno využívať dostupný hardvér. V prípade spracovania veľkých datasetov, keď výkon alebo kapacita jedného výpočtového uzla už nie je postačujúca, môže byť rozdelenie datasetu na menšie časti, a ich nezávislé spracovanie, cesta k využitiu viacerých výpočtových HPC uzlov súčasne.

V knižnici lidR je dostupná funkcia locate_trees(), ktorá dokáže pomerne spoľahlivo identifikovať polohu stromov. Na základe zvolených parametrov a algoritmu funkcia analyzuje mračno bodov a identifikuje polohu stromov. V našom prípade bol použitý algoritmus lmf pre lokalizáciu založenú na maximálnej výške [7]. Algoritmus je plne paralelizovaný, takže dokáže efektívne spracovať relatívne veľké zvolené oblasti v krátkom čase.

Takto určené polohy stromov sa dajú následne použiť v algoritme silva2016 na segmentáciu vo funkcii segment_trees() [8]. Táto funkcia segmentuje príslušné nájdené stromy do osobitných LAS súborov (obr. 5), podobne ako plugin modul TreeIso v programe CloudCompare. Následne sa takto segmentované stromy v LAS súboroch použijú na ďalšie spracovanie, konkrétne na určenie polohy jednotlivých stromov, napríklad pomocou klastrovacieho algoritmu DBSCAN [9].

Obrázok 5. Polohy stromov zistené pomocou algoritmu “lmf” (vľavo, červené body) a príslušne segmenty stromov určené algoritmom silva2016 (vpravo), pomocou knižnice lidR. 

Detekcia kmeňov stromov pomocou klastrovacieho algoritmu DBSCAN

Na určenie polohy a výšky stromov v jednotlivých LAS súboroch získaných segmentáciou sme použili rôzne prístupy. Výška jednotlivých stromov bola získaná na základe z-ových súradníc pre jednotlivé LAS súbory ako rozdiel minimálnej a maximálnej súradnice mračien bodov. Keďže jednotlivé výseky z mračna bodov obsahovali v niektorých prípadoch aj viac ako jeden strom, bolo potrebné identifikovať počet kmeňov stromov v rámci týchto výsekov.

Kmene stromov boli identifikované na základe klastrovacieho algoritmu DBSCAN, pracujúceho s nasledovnými nastaveniami: maximálna vzdialenosť dvoch bodov v rámci jedného klastra (= 1 meter) a minimálny počet bodov v jednom klastri (= 10). Poloha každého identifikovaného kmeňa bola následne získaná na základe x-ových a y-ových súradníc geometrických stredov (centroidov) klastrov. Identifikácia klastrov pomocou DBSCAN algoritmu je ilustrovaná na obrázku 6.

Obrázok 6. Výseky z mračna bodov, PointCloud-u (stĺpec vľavo) a príslušné detegované klastre vo výške 1-5 metrov (stĺpec vpravo).

Zistenie výšky stromov pomocou interpolácie povrchov

Ako alternatívnu metódu na určenie výšok stromov sme použili tzv. Canopy Height Model (CHM). CHM je digitálny model, ktorý predstavuje výšku stromovej obálky nad terénom. Tento model sa používa na výpočet výšky stromov v lese alebo inom vegetačnom poraste. CHM sa vytvára odčítaním digitálneho modelu terénu (DTM) od digitálneho modelu povrchu (DSM). Výsledkom je mračno bodov alebo raster, ktorý zobrazuje výšku stromov nad povrchom terénu (obr. 7).

Ak teda poznáme súradnice polohy stromu, pomocou tohto modelu môžeme jednoducho zistiť príslušnú výšku objektu (stromu) v danom bode. Výpočet tohto modelu je možné jednoducho uskutočniť použitím knižnice lidR pomocou funkcií grid_terrain(), ktorá vytvára DTM, a grid_canopy(), ktorá počíta DSM.

Obrázok 7. Canopy Height Model (CHM) pre skúmanú oblasť (na osiach X a Y sú uvedené súradnice v metroch), výška každého bodu v metroch je reprezentovaná pomocou farebnej škály.

Porovnanie výsledkov

Pre porovnanie dosiahnutých výsledkov vyššie popísanými prístupmi sme sa zameriavali na oblasť Petržalky v Bratislave, kde už boli vykonané manuálne merania polôh a výšok stromov. Z celej oblasti (približne 3500×3500 m) sme vybrali reprezentatívnu menšiu oblasť o rozmeroch 300×300 m (obr. 2). Získali sme tak výsledky pre plugin modul TreeIso v programe CloudCompare (CC), pričom sme pracovali na PC v prostredí Windows, a výsledky pre algoritmy vo funkciách locate_trees() a segment_trees() pomocou knižnice lidR  v HPC prostredí superpočítača Devana. Polohy stromov sme následne kvalitatívne a kvantitatívne vyhodnotili pomocou algoritmu Munkres (Hungarian Algorithm) [10] na optimálne párovanie. Algoritmus Munkres, tiež známy ako Maďarský algoritmus, je efektívny algoritmus na nájdenie optimálneho párovania v bipartitných grafoch. Jeho použitie pri párovaní stromov s manuálne určenými polohami stromov znamená nájdenie najlepšej zhody medzi identifikovanými stromami z lidarových dát a ich známymi polohami. Následne pri určení vhodnej hranice vzdialenosti v metroch (napríklad 5 m) potom vieme kvalitatívne zistiť počet presne určených polôh stromov. Výsledky sú spracované pomocou histogramov a percentuálne určujú správne polohy stromov v závislosti od zvolenej hranice presnosti (obr. 8). Zistili sme, že obe metódy dosahujú pri hranici vzdialenosti 5 metrov takmer rovnaký výsledok, približne 70% správne určených polôh stromov. Metóda použitá v programe CloudCompare vykazuje lepšie výsledky, resp. vyššie percento pri nižších prahových hodnotách, čo odzrkadľujú aj príslušné histogramy (obr. 8). Pri porovnaní oboch metód navzájom dosahujeme až približne 85% zhody pri prahovej hodnote do 5 metrov, čo poukazuje na kvalitatívnu vyrovnanosť oboch použitých prístupov. Kvalitu dosiahnutých výsledkov ovplyvňuje hlavne presnosť klasifikácie vegetácie v bodových mračnách, pretože prítomnosť rôznych artefaktov, ktoré sú nesprávne klasifikované ako vegetácia, skresľuje finálne výsledky. Algoritmy na segmentáciu stromov nedokážu vplyv týchto artefaktov eliminovať.

Obrázok 8. Histogramy vľavo zobrazujú počet správne identifikovaných stromov v závislosti od zvolenej prahovej hodnoty vzdialenosti v metroch (hore CC metóda a dole lidR metóda). Grafy vpravo ukazujú percentuálnu úspešnosť správne identifikovaných polôh stromov v závislosti od použitej metódy a od zvolenej prahovej hodnoty vzdialenosti v metroch.

Analýza paralelnej efektivity algoritmu locate_trees() v knižnici lidR

Na zistenie efektivity paralelizácie hľadania vrcholov stromov v knižnici lidR, pomocou funkcie locate_trees(), sme daný algoritmus aplikovali na rovnaké študované územie s rôznym počtom CPU jadier – 1, 2, 4 až po 64 (maximum HPC uzla). Aby sme zistili, či je daný algoritmus citlivý aj na veľkosť problému, otestovali sme ho na troch územiach s rôznou veľkosťou – 300×300, 1000×1000 a 3500×3500 metrov. Dosiahnuté časy sú zobrazené v Tabuľke 1 a škálovateľnosť algoritmu je znázornená na obrázku 9. Výsledky ukazujú, že škálovateľnosť algoritmu nie je ideálna. Pri použití približne 20 jadier CPU klesá efektivita algoritmu na približne 50%, pri použití 64 jadier CPU je efektivita algoritmu už len na úrovni 15-20%. Efektivitu algoritmu ovplyvňuje aj veľkosť problému – čím väčšie územie, tým menšia efektivita, aj keď tento efekt nie je až tak výrazný. Na záver môžeme konštatovať, že na efektívne využitie daného algoritmu je vhodné použiť 16-32 CPU jadier a vhodným rozdelením daného skúmaného územia na menšie časti dosiahnuť maximálne efektívne využitie dostupného hardvéru. Použitie viac ako 32 CPU jadier síce už nie je efektívne, ale umožňuje ďalšie urýchlenie výpočtu.

Obrázok 9. Zrýchlenie (SpeedUp) algoritmu lmf vo funkcii locate_trees() knižnice lidR v závislosti od počtu CPU jadier (NCPU) a veľkosti študovaného územia (v metroch).

Záverečné zhodnotenie

Zistili sme, že pre dosiahnutie dobrých výsledkov je extrémne dôležité správne nastavenie parametrov použitých algoritmov, keďže počet a kvalita výsledných polôh stromov sú od nich veľmi závislé. Na získanie čo najpresnejších výsledkov je vhodné vybrať reprezentatívnu časť skúmanej oblasti, manuálne zistiť polohy stromov a následne nastaviť parametre príslušných algoritmov. Takto optimalizované nastavenia môžu následne byť použité na analýzu celej skúmané oblasti.

Kvalitu výsledkov ovplyvňuje taktiež množstvo iných faktorov, ako napríklad ročné obdobie, ktoré má vplyv na hustotu vegetácie, alebo hustota stromov v danej oblasti a druhová variabilita vegetácie. Kvalitu výsledkov ovplyvňuje aj kvalita klasifikácie vegetácie v mračne bodov, pretože prítomnosť rôznych artefaktov, ako sú časti budov, cesty, dopravné prostriedky a iné objekty, môže následne negatívne skresliť výsledky, keďže použité algoritmy na segmentáciu stromov nedokážu tieto artefakty vždy spoľahlivo odfiltrovať.

Z hľadiska efektivity výpočtov môžeme konštatovať, že použitie HPC prostredia poskytuje zaujímavú možnosť násobného urýchlenia vyhodnocovacieho procesu. Na ilustráciu môžeme uviesť, že spracovanie, napríklad, celej skúmanej oblasti Petržalky (3500×3500 m) trvalo na jednom výpočtovom uzle HPC systému Devana približne 820 sekúnd, pri využití všetkých (t.j. 64) CPU jadier. Spracovanie danej oblasti v programe CloudCompare na výkonnom PC,  pri použití jedného CPU jadra, trvalo približne 6200 sekúnd, čo je asi 8-krát pomalšie.

Plná verzia článku SK
Plná verzia článku EN

Autori
Marián Gall – Národné superpočítačové centrum
Michal Malček – Národné superpočítačové centrum
Dávid Murín – SKYMOVE s. r. o.
Robert Straka – SKYMOVE s. r. o.

Zdroje:

[1] https://www.greenvalleyintl.com/LiDAR360/

[2] https://github.com/CloudCompare/CloudCompare/releases/tag/v2.13.1

[3] https://github.com/ultralytics/yolov5

[4] https://www.kaggle.com/ultralytics/coco128

[5] https://github.com/heartexlabs/labelImg

[6] Roussel J., Auty D. (2024). Airborne LiDAR Data Manipulation and Visualization for Forestry Applications.

[7] Popescu, Sorin & Wynne, Randolph. (2004). Seeing the Trees in the Forest: Using Lidar and Multispectral Data Fusion with Local Filtering and Variable Window Size for Estimating Tree Height. Photogrammetric Engineering and Remote Sensing. 70. 589-604. 10.14358/PERS.70.5.589.

[8] Silva C. A., Hudak A. T., Vierling L. A., Loudermilk E. L., Brien J. J., Hiers J. K., Khosravipour A. (2016). Imputation of Individual Longleaf Pine (Pinus palustris Mill.) Tree Attributes from Field and LiDAR Data. Canadian Journal of Remote Sensing, 42(5). 

[9] Ester M., Kriegel H. P., Sander J., Xu X.. KDD-96 Proceedings (1996) pp. 226–231

[10] Kuhn H. W., “The Hungarian Method for the assignment problem”, Naval Research Logistics Quarterly, 2: 83–97, 1955


Privítajte Mistral-sk-7b! 3 okt - Slovenská AI komunita sa po dlhom čase dočkala nového, tentoraz naozaj veľkého jazykového modelu pre slovenský jazyk.
NCC pre HPC na INOFESTe 2024: Festival inovácií v Žiline 24 sep - V dňoch 17. a 18. septembra 2024 sa v Žiline uskutočnil už piaty ročník festivalu inovácií INOFEST 2024, ktorý zorganizovalo združenie INOVATO. Podujatie sa stalo jedinečnou platformou pre stretnutie odborníkov, podnikateľov, akademikov, inovátorov, študentov, zástupcov štátnej správy a verejnosti, čím posilnilo spoluprácu v oblasti regionálnych inovačných ekosystémov na Slovensku.
Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Kategórie
Success-Stories Všeobecné

Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok

Implementácia metódy čiastočne riadeného učenia Uni-Match do metódy Frame Field Learning pre úlohu extrakcie budov z leteckých snímok

Extrakcia budov v Geografických informačných systémoch (GIS) je kľúčová pre urbanistické plánovanie, environmentálne štúdie a riadenie infraštruktúry, pretože umožňuje presné mapovanie stavieb, vrátane odhaľovania nelegálnych stavieb za účelom dodržiavania právnych predpisov, alebo efektívnejšieho vyberania daní. Integrácia extrahovaných údajov o budovách s inými geopriestorovými vrstvami zlepšuje pochopenie dynamiky miest a priestorových vzťahov. Vzhľadom na rozsah a zložitosť týchto úloh rastie potreba automatizovať extrakciu budov pomocou techník hlbokého učenia, ktoré ponúkajú vyššiu presnosť a efektívnosť pri spracovaní veľkých geopriestorových dát.

Ilustračný obrázok

V súčasnosti, väčšina najmodernejších segmentačných modelov hlbokého učenia poskytuje výstup iba v rastrovej forme. Avšak GIS často potrebujú dáta vo vektorovej forme. Jednou z metód, ktorá dokáže generovať dáta vo vektorovej forme, je Frame Field learning. Táto metóda generuje okrem segmentačnej masky aj frame field pole, ktoré obsahuje štrukturálne informácie o objektoch, ktoré sa následne využívajú v procese vektorizácie.

Modely Frame Field learningu sú trénované metódou “s učiteľom” (z angl. “supervised learning”), ktorá potrebuje veľké množstvo anotovaných dát. Na získanie takéhoto množstva kvalitných dát je potrebná manuálna ľudská práca, ktorá však môže byť zdĺhavá a nákladná. Jednou z metód, ktorá môže znížiť závislosť od anotovaných dát, je “učenie s čiastočným učiteľom”, resp. “čiastočne riadené učenie“ (z angl. “semi-supervised learning”). Tento prístup učenia využíva nielen anotované dáta, ale aj množinu neanotovaných dát.

Cieľom tejto spolupráce medzi Národným kompetenčným centrom pre HPC a Geodeticca Vision s.r.o. bolo identifikovať, implementovať a vyhodnotiť vhodnú metódu učenia s čiastočným učiteľom pre Frame Field learning.

Metódy
Frame Field learning

Hlavnou myšlienkou Frame Field learning [1] metódy je pomôcť vektorizačnému algoritmu vyriešiť nejednoznačné prípady pri vektorizácii, ktoré sú spôsobené diskrétnou pravdepodobnostnou segmentačnou mapou (výstup zo segmentačného modelu), a to pridaním tzv. frame fields poľa (viď. Obrázok 1) ako ďalšieho výstupu z neurónovej siete, reprezentujúceho geometrické charakteristiky budov.

Frame field pole

Frame field je vektorové pole rádu 4, čo znamená, že každému bodu v rovine priradí 4 smerové vektory. Protiľahlé vektory majú rovnakú hodnotu, ale s opačným znamienkom, takže každému bodu v rovine je priradený vektor {u, −u, v, −v}. Tieto vektory postačujú na definovanie tvaru budov, ktoré sú z veľkej časti pravidelného tvaru s pravouhlými rohmi.


Obrázok 1: Ukážka frame field poľa definovaného pre budovu z trénovacej sady [1].

Frame Field learning

Obrázok 2: Diagram procesu Frame Field learning [1].

Proces metódy Frame Field learning môžeme zosumarizovať nasledovne:

  1. Vstupom do neurónovej siete je RGB obraz o veľkosti 3 x V x Š.
  2. Na generovanie mapy príznakov (z angl. “feature map”) je možné využiť rôzne segmentačné architektúry, napr. U-Net.
  3. Učenie je supervizované (patrí medzi metódy učenia s učiteľom), pričom pre učenie segmentačných masiek sa využívajú označené rastrované polygóny pre interiér a hranice budov. Ako stratová funkcia sa využíva lineárna kombinácia funkcií cross-entropy a Dice loss.
  4. Pre učenie samotného Frame Field poľa sa využívajú vektory polygónov označených budov, kde konzistentnosť a presnosť Frame Field poľa zabezpečujú tri stratové funkcie:
    1. Lalign stratová funkcia riadi správne natočenie Frame Field poľa na smery dotyčnice vektoru polygónu.
    1. Lalign90 stratová funkcia zabraňuje, aby sa Frame Field pole degradovalo na priamkové pole.
    1. Lsmooth zabezpečuje hladký priebeh Frame Field poľa.
  5. Pre zachovanie konzistentnosti medzi segmentačnou pravdepodobnostnou mapu a Frame Field výstupom sú definované regularizačné stratové funkcie, ktoré zarovnávajú Frame Field pole s gradientmi segmentačnej mapy.

Vektorizácia

Obrázok 3: Vizualizácia procesu vektorizácie [1].

Proces vektorizácie transformuje výstup z natrénovanej neurónovej siete do topologicky čistých vektorov pomocou algoritmu Active Skeleton Model (ASM). Princíp algoritmu spočíva v iteratívnom posúvaní vrcholov skeletového grafu do ich ideálnej pozície. Skeletový graf je vygenerovaný pomocou morfologickej operácie “thinning” z gradientu segmentačnej mapy. Iteratívny posun je riadený gradientovou optimalizačnou metódou, ktorej cieľom je minimalizovať energetickú funkciu, ktorá má nasledujúce zložky:

  1. Eprobability – riadi prispôsobenie skeletového grafu kontúram pravdepodobnostnej mapy budovy na konkrétnu hodnotu pravdepodobnosti (napr. 0.5)
  2. Eframe field align – riadi zarovnanie každej hrany skeletového grafu na Frame Field pole.
  3. Elength – zaisťuje homogénnu distribúciu vrcholov skeletového grafu.

UniMatch metóda čiastočne riadeného učenia

UniMatch [2], pokročilá metóda učenia s čiastočným učiteľom z kategórie regulátorov konzistentnosti, stavia na základných princípoch vytvorených metódou FixMatch [3], ktorá je základnou metódou v tejto kategórií algoritmov. Funguje na princípe pseudo-označovania (z angl. “pseudo-labeling“) v kombinácií s reguláciou konzistentnosti.

Základný princíp metódy FixMatch spočíva v generovaní pseudo-označení (anotácií) pre neanotované dáta, pomocou predikcií neurónovej siete. To znamená, že pre slabo perturbovaný neanotovaný vstup xw sa vygeneruje predikcia pw, ktorá slúži ako pseudo-označenie pre predikciu silne perturbovaného vstupu xs. Následne sa vypočíta hodnota chybovej funkcie, napr. cross-entropy(pw,  ps), pričom do úvahy sa berú iba tie oblasti z pw, ktoré majú hodnotu pravdepodobnosti väčšiu ako daný prah, napr. >0.95. 

Rozšírenie metódy UniMatch oproti metóde FixMatch spočíva v dvoch princípoch:

  1. UniPerb (Unified Perturbations for Images and Features) – aplikácia perturbácie na úrovni príznakov (z angl. “feature perturbation“). V praxi to znamená, že na výstup (teda príznak – feature) z encoder vrstvy neurónovej siete sa aplikuje dropout funkcia, ktorá náhodne vynuluje niektoré príznaky. Takto upravený výstup z encoder vrstvy následne vstupuje do decoder časti siete, ktorá vygeneruje pfp.
  2. DusPerb (Dual-Stream Perturbations) – namiesto jednej silnej perturbácie sa využívajú dve silné perturbácie xs1 xs2.
Obrázok 4: (a) FixMatch základná metóda, (b) použitá UniMatch metóda. FP je označenie pre feature perturbation (perturbácia príznakov), w ako weak (slabá) a s ako strong (silná) perturbácia [2].

V konečnom dôsledku máme tri stratové funkcie – cross-entropy(pw,  pfp), cross-entropy(pw,  ps1), cross-entropy(pw,  ps2). Tie sa nakoniec lineárne kombinujú so supervizovanou stratovou funkciou.

Táto metóda v súčasnosti patrí medzi state-of-the-art metódy učenia s čiastočným učiteľom. Hlavnou výhodou tejto metódy je jej jednoduchosť pri implementácií a nevýhodou je jej citlivosť na výber vhodnej slabej a silnej perturbácie.

Integrácia UniMatch metódy do Frame Field učenia

Implementácia UniMatch do Frame Field learning frameworku

Aby sme mohli implementovať UniMatch metódu do Frame Field leagning štruktúry, potrebovali sme najprv definovať slabú a silnú perturbáciu v kontexte leteckých snímok. Ako slabé perturbácie sme zvolili základné priestorové transformácie obrazu, vrátane rotácie, zrkadlenia a vertikálneho/horizontálneho prevrátenia. Všetky tieto transformácie sú oprávnené pre letecké snímky.

V prípade silných perturbácií sme použili fotometrické transformácie. Tie zahŕňajú úpravy odtieňa, farby, či jasu obrazu. Poskytujú výraznejšie zmeny snímok než s použitím priestorových transformácií. 

Dôležitým krokom bola implementácia perturbácie na úrovni príznakov (feature perturbation).   Túto perturbáciu sme implementovali ako dropout mechanizmus vo vrstve medzi encoder a decoder časťami architektúry U-Net. Tento mechanizmus zahodí (nastaví na nulu) náhodne vybrané hodnoty príznakov (výstup z encoder vrstvy). Takto upravené hodnoty výstupu z encoder časti siete vstupujú ďalej do decoder časti U-Net architektúry.

V prípade dual-stream perturbácií sme prispôsobili Frame Field framework tak, aby využíval dve silné perturbácie. Predikcia pre slabú perturbáciu sa použila ako pseudo-označenie pre dve silné perturbácie (preto označenie dual-stream). Dve silné perturbácie prispievajú k celkovej robustnosti a efektívnosti modelu.

Prostredníctvom týchto úprav bola UniMatch metóda úspešne integrovaná do Frame Field learning algoritmu, čím sa zvýšila jeho schopnosť efektívne spracúvať a učiť sa z anotovaných a hlavne neanotovaných dát.

Experimenty
Dáta
Anotované dáta

Anotované dáta použité v štúdii pochádzajú z troch rôznych zdrojov, detaily sú uvedené v Tabuľke 1.

Tabuľka 1: Prehľad troch zdrojov anotovaných dát použitých na trénovanie modelov.

Neanotované dáta

Neanotované dáta (verejne dostupné vysoko kvalitné letecké snímky) pochádzajú z Geodetického a kartografického ústavu (GKÚ) [6]. Pri výbere sme sa zamerali na oblasť s rozlohou 7 000 km2, čím bola zaistená diverzita rôznych povrchov krajín a mestských prostredí.

Spracovanie dát: Patching

Anotované aj neanotované snímky boli spracované pomocou metódy “patching”,ktorá obraz rozdeľuje na malé časti veľkosti 320x320px. Táto veľkosť bola špecificky vybraná tak, aby vyhovovala požiadavkám pre vstup zvolenej neurónovej siete. Takýmto spôsobom vzniklo z anotovaných dát približne 55 000 malých častí a z neanotovaných dát okolo 244 000 častí.

Trénovanie
Architektúra modelu

Použitý model sme navrhli s pomocou U-Net architektúry s EfficientNet-B4 základom. Táto kombinácia poskytuje  dobrú rovnováhu presnosti a efektívnosti, čo je veľmi dôležité pri práci s komplexnými segmentačnými úlohami. EfficientNet-B4 ako základ neurónovej siete bol vybraný pre optimálnu rovnováhu medzi spotrebou pamäte a výkonom. V metóde Frame Field learning sa U-Net architektúra ukázala byť vysoko efektívna, o čom svedčia výsledky použitia tejto siete v rôznych štúdiách.

Trénovací proces

Na trénovanie sme použili AdamW optimalizátor, ktorý kombinuje výhody Adam optimalizácie s regularizačnou metódou “weight decay”, čím pomáha modelu lepšie generalizovať. Aby sme sa vyhli pretrénovaniu modelu, použili sme L2 regularizáciu a taktiež bola použitá metóda ReduceLROnPlateau na optimalizáciu parametra rýchlosti učenia. Táto metóda upravuje parameter rýchlosti učenia na základe validačnej straty.

Úpravy potrebné pre implementáciu učenia s čiastočným učiteľom

Kľúčovým aspektom nášho trénovania bolo nastavenia podielu anotovaných a neanotovaných obrázkov. Experimentovali sme s pomermi od 1:1 do 1:5 (počet anotovaných : počet neanotovaných). Takýmto spôsobom sme zisťovali, ako rôzne množstvá neanotovaných dát ovplyvňujú trénovací proces. Identifikovali sme optimálny pomer pre trénovanie nášho modelu tak, aby bolo zachované efektívne učenie s využitím metódy učenia s čiastočným učiteľom.

Vyhodnotenie modelu

Na vyhodnotenie nášho modelu na extrakciu budov sme zvolili metriky, ktoré precízne merajú ako presne sa predikcie zhodujú so skutočnými štruktúrami.

Intersection over Union (IoU)

Kľúčovou metrikou, ktorú sme využívali je metrika s názvom Intersection over Union (IoU). Počíta zhodu medzi predikciami modelu a skutočným tvarom budov. Hodnota skóre IoU blízka 1 znamená, že naše predikcie sú podobné skutočným budovám. Táto metrika je nevyhnutná na posúdenie geometrickej presnosti pre segmentované oblasti, pretože odráža presnosť vytýčenia hraníc budov. Okrem toho, vyhodnotením pomeru správne predikovanej oblasti ku kombinovanej oblasti (zjednotenie oblasti predikcie a skutočnej oblasti), nám IoU poskytuje jasnú mieru efektivity modelu v zachytávaní skutočného kontextu a tvaru budov v komplexnej mestskej krajine.

Precision, Recall (senzitivita) a F1 skóre

Metrika nazývaná precision vyjadruje podiel správne identifikovaných budov zo všetkých identifikovaných budov. Senzitivita (angl. “recall“) ilustruje schopnosť modelu zachytiť všetky skutočné budovy. Vysoká hodnota tejto metriky poukazuje na citlivosť modelu pri detekcii budov. F1 skóre kombinuje precision a senzitivitu do jednej metriky, poskytujúc vyvážený obraz výkonu modelu.

Complexity Aware IoU (cIoU)

Ďalšou použitou metrikou bola Complexity Aware IoU (cIoU) [7]. Táto metrika rieši nedostatky IoU tým, že vyvažuje presnosť segmentácie a komplexnosť tvarov polygónov. Zatiaľ čo IoU môže viesť model k vytváraniu veľmi komplexných polygónov, cIoU zaručuje, že komplexnosť polygónov (počet ich vrcholov) je zachovaná realistická, čím odráža skutočný tvar budov, ktoré sú obvykle málo komplexné.

N Ratio Metrika

Metrika N ratio je doplnkovým komponentom v našej vyhodnocovacej stratégii. Porovnáva počet vrcholov v našich predpovedaných tvaroch s tými v skutočných budovách [7]. Tým nám metrika pomáha porozumieť, ako presne náš model replikuje detailnú štruktúru budov.

Max Tangent Angle Error (MTAE)

Na zaistenie čistej geometrie pri extrakcii budov, je dôležité presné meranie pravidelnosti kontúr. Chyba maximálneho uhla dotyčníc (resp. Max Tangent Angle Error (MTAE)) [1] je metrika navrhnutá presne pre tieto potreby, a je doplnením Intersection over Union (IoU) metriky. Špecificky cieli na nedostatok IoU metriky, ktorým je to, že segmentácia s okrúhlymi rohmi môže dosiahnuť vyššie skóre než segmentácia s presnejšími (ostrejšími) rohmi. Vyhodnocovaním zhody okrajov budov cez porovnávanie uhlov dotyčníc vo vybraných bodoch predikovaných a skutočných kontúr, MTAE efektívne penalizuje nepresnosti v orientácii okrajov. Toto zameranie na presnosť okrajov je dôležité pre produkovanie čistých vektorových reprezentácií budov, zdôrazňujúc dôležitosť presného vymedzenia hraníc v segmentačných úlohách.

Vyhodnotenie

Natrénované modely boli testované na veľkej dátovej množne leteckých snímok v plnej veľkosti (namiesto malých častí, pomocou ktorých bola sieť trénovaná). Takéto testovanie poskytuje presnejšie zobrazenie reálnych použití takýchto modelov. Na extrakciu budov zo snímok v plnej veľkosti sme použili techniku posuvného okna, čím boli vytvorené predikcie po jednotlivých segmentoch obrázku. Na okraje prekrývajúcich sa segmentov bola použitá pokročilá priemerovacia technika, dôležitá pre minimalizáciu nežiadúcich efektov a zachovanie konzistentnosti v rámci predikčnej mapy. Výstupná predikčná mapa v plnej veľkosti bola následne vektorizovaná do presných vektorových polygónov s použitím algoritmu Active Skeleton Model (ASM).

Výsledky

Tabuľka 2: Výsledky trénovania modelov pre základný prístup (učenie s učiteľom) a prístupy učenia s čiastočným učiteľom s rôznymi podielmi použitých anotovaných a neanotovaných obrázkov.

Výsledky z experimentov, odrážajúce výkon segmentačného modelu natrénovaného s rôznymi nastaveniami, odhalili zaujímavé zistenia (viď. Tabuľka 2). Vyhodnotili sme výkon základného modelu (len supervizovaný prístup) a výkon modelov trénovaných metódami učenia s čiastočným učiteľom s použitím rôznych podielov anotovaných a neanotovaných dát (1:1, 1:3, a 1:5).

  1. IoU: hodnota IoU metriky bola pre základný model na hodnote 80.50%. S prínosom neanotovaných dát do trénovacieho procesu pozorujeme stabilný nárast, dosahujúc až 85.77%, s použitím pomeru 1:5 anotovaných k neanotovaným obrázkom.
  2. Precision, senzitivita a F1 skóre: Hodnota metriky precision sa zlepšila z hodnoty 85.75% pre základný model na hodnotu 90.04% pre model s použitým podielom 1:5. Podobne senzitivita sa zľahka zvýšila z hodnoty 94.27% na 94.76%. F1 skóre taktiež narástlo z hodnoty 89.81% na 92.34%. Tieto zlepšenia naznačujú, že zakomponovaním metódy s čiastočným učiteľom sa model stal presnejším a spoľahlivejším v predikciách.
  3. N Ratio a cIoU: Výsledky ukazujúznateľnýpokles v hodnote metriky N Ratio z hodnoty 2.33 pre základný model, na hodnotu 1.65 pre model s 1:5 podielom (anotované : neanotované), čo indikuje, že učenie s čiastočným učiteľom produkuje jednoduchšie, ale presnejšie vektorové tvary, ktoré viac pripomínajú skutočné štruktúry budov. Toto zjednodušenie tvarov pravdepodobne prispieva k zvýšenej použiteľnosti výstupu v praktických GIS aplikáciách. Súbežne, hodnoty metriky (cIoU) sa signifikantne zlepšili z hodnoty 48.89% pre základný model, na hodnotu 64.75% pre model s 1:5 podielom. Preto sa zdá, že učenie s čiastočným učiteľom nezlepšuje len zhodu predikovaných stôp budov a skutočných stôp budov, ale tiež generuje jednoduchšie vektorové tvary, ktoré sú bližšie reálnym geometrickým tvarom budov.
  4. Priemerná MTAE: Redukcia metriky MTAE z 18.60° na 17.45° pri použití učenia s čiastočným učiteľom predstavuje zlepšenie v geometrickej presnosti predikcií modelu. To naznačuje, že táto metóda učenia je lepšia pri zachytávaní architektonických prvkov budov s presnejšie definovanými uhlami, čo prispieva k produkcii topologicky jednoduchších a čistejších vektorových polygónov.

Trénovanie na HPC

HPC konfigurácia

Trénovanie bolo realizované na HPC klastri Devana vybavenom dostatočnými výpočtovými zdrojmi. HPC klaster Devana disponuje 8 GPU uzlami. Každý GPU uzol obsahuje 4 GPU karty NVIDIA A100 s kapacitou VRAM  40GB, 64 jadier CPU a 256GB kapacity RAM. Plánovanie úloh zabezpečuje systém Slurm.

PyTorch Lightning knižnica

Na paralelizáciu sme použili knižnicu PyTorch Lightning, ktoré poskytuje užívateľsky priateľské prostredie pre prácu s viacerými GPU. Táto knižnica umožňuje užívateľovi špecifikovať počet GPU, počet výpočtových uzlov, poskytuje rôzne distribuované stratégie a možnosť mixed-precision trénovania.

Slurm a PyTorch Lightning nastavenie

Pri trénovaní pomocou 1 GPU vyzerala naša Slurm konfigurácia nasledovne:
#SBATCH –partition=ngpu
#SBATCH –gres=gpu:1
#SBATCH –cpus-per-task=16
#SBATCH –mem=64000

A nastavenie PyTorch Lightning pre Trainer:

trainer = Trainer(accelerator=”gpu”, devices=1)

Takto sme alokovali jednu GPU kartu zo štyroch dostupných na danom uzle, a 16 CPU zo 64 dostupných, následkom čoho máme 16 workerov pre data loadery. Keďže učenie s čiastočným učiteľom využíva dva data loadery, (jeden pre anotované a ďalší pre neanotované dáta), alokovali sme 8 workerov pre každý z nich. Je dôležité zaručiť, aby celkový počet jadier pre data loadery nepresiahol počet dostupných jadier, pretože trénovanie môže zlyhať.

Distribuované dátovo-paralelné (DDP) trénovanie

S použitím PyTorch Lightning distribuovaného dátovo-paralelného trénovania (DDP) sme dosiahli, že každá použitá GPU bola operovaná nezávisle:

  • Každá GPU spracovala časť dátovej sady.
  • Všetky procesy inicializovali model nezávisle.
  • Všetky procesy vykonali dopredné a spätné šírenie paralelne.
  • Gradienty boli synchronizované a spriemerované medzi procesmi.
  • Každý proces aktualizoval svoj optimalizátor individuálne.

S týmto prístupom vypočítame počet data loaderov nasledovne: pre učenie s čiastočným učiteľom v prostredí jedného uzla so 4 GPU kartami a dvoma typmi data loaderov, máme 8 data loaderov, pričom každý má 8 workerov – dohromady 64 workerov.

Na plné využitie jedného uzla so 4 GPU sme použili nasledovnú konfiguráciu:

#SBATCH –partition=ngpu

#SBATCH –gres=gpu:4

#SBATCH –exclusive

#SBATCH –cpus-per-task=64

#SBATCH –mem=256000

Kľúčové slovo „–exclusive“ znamená, že daný výpočtový uzol nebude súčasne poskytnutý inému používateľovi. Špecifikácie „–cpus-per-task=64“ a „–mem=256000“ sú v danom nastavení redundantné, nakoľko sa použijú všetky výpočtové zdroje daného uzla.

PyTorch Lightning Trainer, nastavíme nasledovne:

trainer = Trainer(accelerator=”gpu”, devices=4, strategy=”ddp”)

Využitie viacerých výpočtových uzlov

S použitím PyTorch Lightning knižnice je tiež možné využiť viacero výpočtových uzlov v HPC systéme. Napríklad, využitie 4 uzlov so 4 GPU kartami na každom uzle (dohromady 16 GPU) bolo konfigurované:

trainer = Trainer(accelerator=”gpu”, devices=4, strategy=”ddp”, num_nodes=4)

Analogicky, Slurm konfigurácia bola nastavená takto:

#SBATCH –nodes=4

#SBATCH –ntasks-per-node=4

#SBATCH –gres=gpu:4

Tieto nastavenia a výsledky zdôrazňujú škálovateľnosť a flexibilitu komplexného trénovacieho procesu modelov strojového učenia v HPC prostredí, najmä pre úlohy, ktoré vyžadujú významné výpočtové zdroje, ako je napríklad naša úloha využívajúca učenie s čiastočným učiteľom v geopriestorovej dátovej analýze.

Analýza škálovateľnosti trénovania

Tabuľka 3: Výsledky trénovania prístupov učenia s učiteľom a učenia s čiastočným učiteľom s 1, 2, 4 a 8 GPU. Pre každú konfiguráciu je uvedený čas na jednu epochu a pomer urýchlenia proti 1 GPU.

V analýze škálovateľnosti trénovania sme dôkladne preskúmali vplyv rozširovania výpočtových zdrojov na efektívnosť trénovania modelov s využitím knižnice PyTorch Lightning.
Tento prieskum zahŕňal metódy učenia s učiteľom aj čiastočným učiteľom s dôrazom na zvyšovanie počtu GPU kariet, vrátane prístupu využívajúceho 2 uzly (8 GPU).

Obrázok 5: Urýchlenie pre trénovanie supervizovanou a nesupervizovanou metódou vzhľadom na počet použitých GPU. Pre porovnanie je uvedené aj ideálne (lineárne) urýchlenie. Učenie s čiastočným učiteľom je bližšie ideálnemu škálovaniu, t.j. efektívnejšie využíva výpočtové zdroje.

Kľúčovým zistením z tejto analýzy je, že nárast v pomeroch urýchlenia pre učenie s učiteľom nie je priamo úmerný počtu použitých GPU kariet. Ideálne, zdvojnásobenie počtu GPU kariet by malo zdvojnásobiť urýchlenie (t.j., napr. použitie 4 GPU kariet by malo mať za následok štvornásobné urýchlenie voči jednej GPU karte). Skutočné hodnoty urýchlenia boli nižšie než ideálne hodnoty. Tento nesúlad možno pripísať tzv. overhead-u (.j. nutnému navýšeniu operácií, ako transfer dát, I/O a pod. a tým pádom aj celkovému trvaniu výpočtu) asociovanému s manažovaním viacerých GPU kariet a výpočtových uzlov, obzvlášť synchronizácii dát cez všetky GPU karty, čo má za následok pokles efektívnosti.

Učenie s čiastočným učiteľom ukázalo mierne iný trend, viac približujúci sa ideálnemu (lineárnemu) nárastu urýchlenia. Zdá sa, že komplexnosť a vyššie výpočtové nároky učenia s čiastočným učiteľom zmierňujú dopad overhead nákladov a tým umožňujú efektívnejšie využívanie viacerých GPU. Napriek výzvam spojeným so synchronizáciou dát cez viacero GPU kariet a výpočtových uzlov, vyššie výpočtové nároky učenia s čiastočným učiteľom umožňujú efektívnejšie škálovanie zdrojov, t.j. urýchlenie bližšie ideálnemu scenáru.

Záver

Výskum predstavený v tejto práci úspešne demonštruje efektívnosť integrácie metódy UniMatch, ktorá patrí medzi metódy učenia s čiastočným učiteľom, do Frame Field learning metódy, pre úlohy extrakcie budov z leteckých snímok. Táto integrácia primárne adresuje notorický nedostatok anotovaných dát v aplikáciách hlbokého učenia v geografických informačných systémoch (GIS) a navyše, poskytuje škálovateľný a efektívny prístup z hľadiska úspory nákladov.

Výsledky sumarizované v tejto štúdii indikujú, že použitie učenia s čiastočným učiteľom významne zlepšuje výkon modelu vo viacerých kľúčových metrikách, vrátane  Intersection over Union (IoU), presnosti pozitívnych predikcií, senzitivity, F1 skóre, N Ratio, complexity-aware IoU (cIoU), a priemernej chyby Max Tangent Angle Error (MTAE). Obzvlášť, zlepšenia v metrikách IoU a cIoU zdôrazňujú zvýšenú presnosť modelu vo vymedzovaní stôp budov a generovaní vektorových tvarov, ktoré vierohodne reprezentujú skutočné štruktúry. Tento výsledok je dôležitý pre aplikácie urbanistického plánovania, environmentálne štúdie a manažment infraštruktúry, kde sú precízne mapovanie a popis budov kľúčové.

Prezentovaná metodika, ktorá kombinuje Frame Field learning s inovatívnym UniMatch prístupom, preukázala, že je vysoko efektívna vo využívaní kombinácie anotovaných a neanotovaných dát. Táto stratégia nielen že zlepšuje geometrickú presnosť predikcií modelu, ale tiež zaručuje generovanie jednoduchších a topologicky presnejších vektorových polygónov. Navyše, škálovateľnosť a efektívnosť trénovania na HPC systéme Devana s použitím knižnice PyTorch Lightning a distribuovanej, dátovo-paralelnej stratégie (DDP) bola kľúčová pre zvládnutie tak výpočtovo náročných úloh, akým je učenie s čiastočným učiteľom nad príslušnými dátami, v časovom rozsahu rádovo desiatok minút, až hodín.

Práca zdôrazňuje potenciál učenia s čiastočným učiteľom v zlepšovaní automatickej extrakcie budov z leteckých snímok. Implementácia UniMatch do Frame Field learning metódy predstavuje významný krok vpred, poskytujúc robustné riešenie pre výzvy spojené s nedostatkom dát a potreby vysokej presnosti geopriestorovej dátovej analýzy. Tento prístup zlepšuje efektívnosť a presnosť extrakcie budov, a taktiež otvára nové možnosti pre aplikácie metód učenia s čiastočným učiteľom v GIS a príbuzných oblastiach.

Poďakovanie

Výskum bol realizovaný s podporou Národného kompetenčného centra pre HPC, projektu EuroCC 2 a Národného Superpočítačového Centra na základe dohody o grante 101101903-EuroCC 2-DIGITALEUROHPC-JU-2022-NCC-01.

Časť výskumu bola realizovaná s využitím výpočtovej infraštruktúry obstaranej v projekte Národné kompetenčné centrum pre vysokovýkonné počítanie (kód projektu: 311070AKF2) financovaného z Európskeho fondu regionálneho rozvoja, Štrukturálnych fondov EU Informatizácia spoločnosti, operačného programu Integrovaná infraštruktúra 2014-2020.

Autori:

Patrik Sabol – Geodeticca Vision s.r.o., Floriánska 19, 044 01 Košice, Slovenská republika

 Bibiána Lajčinová – Národné Superpočítačové Centrum, Dúbravská cesta 3484/9, 84104 Bratislava-Karlová Ves, Slovenská republika

Plná verzia článku SK

Plná verzia článku EN

Literatúra:

[1] Nicolas Girard, Dmitriy Smirnov, Justin Solomon, and Yuliya Tarabalka. “Polygonal Building Extraction by Frame Field Learning”. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (June 2021), pp. 5891-5900.

[2] L. Yang, L. Qi, L. Feng, W. Zhang, and Y. Shi. “Revisiting Weak-to-Strong Consistency in Semi-Supervised Semantic Segmentation”. In: 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (June 2023), pp. 7236-7246. doi: 10.1109/CVPR52729.2023.00699.

[3] Kihyuk Sohn, David Berthelot, Chun-Liang Li, Zizhao Zhang, Nicholas Carlini, Ekin D. Cubuk, Alex Kurakin, Han Zhang, and Colin Raffel. “FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence”. In: CoRR, vol. abs/2001.07685 (2020). Available: https://arxiv.org/abs/2001.07685.

[4] Emmanuel Maggiori, Yuliya Tarabalka, Guillaume Charpiat, and Pierre Alliez. “Can Semantic Labeling Methods Generalize to Any City? The Inria Aerial Image Labeling Benchmark”. In: IEEE International Geoscience and Remote Sensing Symposium (IGARSS) (2017). IEEE.

[5] Adrian Boguszewski, Dominik Batorski, Natalia Ziemba-Jankowska, Tomasz Dziedzic, and Anna Zambrzycka. “LandCover.ai: Dataset for Automatic Mapping of Buildings, Woodlands, Water and Roads from Aerial Imagery”. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops (June 2021), pp. 1102-1110.

[6] “Ortofotomozaika.” Geoportal SK. Accessed February 14, 2024. https://www.geoportal.sk/sk/zbgis/ortofotomozaika/.

[7] Stefano Zorzi, Shabab Bazrafkan, Stefan Habenschuss, and Friedrich Fraundorfer. “PolyWorld: Polygonal Building Extraction with Graph Neural Networks in Satellite Images”. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (2022), pp. 1848-1857.

 

 



Privítajte Mistral-sk-7b! 3 okt - Slovenská AI komunita sa po dlhom čase dočkala nového, tentoraz naozaj veľkého jazykového modelu pre slovenský jazyk.
NCC pre HPC na INOFESTe 2024: Festival inovácií v Žiline 24 sep - V dňoch 17. a 18. septembra 2024 sa v Žiline uskutočnil už piaty ročník festivalu inovácií INOFEST 2024, ktorý zorganizovalo združenie INOVATO. Podujatie sa stalo jedinečnou platformou pre stretnutie odborníkov, podnikateľov, akademikov, inovátorov, študentov, zástupcov štátnej správy a verejnosti, čím posilnilo spoluprácu v oblasti regionálnych inovačných ekosystémov na Slovensku.
Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Kategórie
Success-Stories

Identifikácia entít pre extrakciu adries z transkriptovaných rozhovorov s využitím syntetických dát

Identifikácia entít pre extrakciu adries z transkriptovaných rozhovorov s využitím syntetických dát

Podniky vynakladajú vel’ké množstvo úsilia a finančných prostriedkov na komunikáciu s klientmi. Zvyčajne je ciel’om informácie klientom poskytnúť’, niekedy je však naopak potrebné informácie vyžiadať’ (napr. miesto bydliska). Na riešenie tejto požiadavky sa vynakladá značné úsilie, napríklad vývojom chat- a voicebotov, ktoré na jednej strane slúžia na poskytovanie informácií klientom, ale možno ich využiť’ aj na kontaktovanie klienta so žiadosťou o poskytnutie informácií. Konkrétnym príkladom z reálneho života je kontaktovanie klienta prostredníctvom textovej správy alebo telefonicky s cieľom aktualizovať’ jeho kontaktnú adresu. Keďže adresa klienta sa mohla časom zmeniť, podnik potrebuje priebežne aktualizovať tieto informácie vo svojej internej databáze klientov.

Ilustračný obrázok

Pri vyžiadaní takýchto informácií prostredníctvom ”nových” kanálov, akými sú chat- alebo voiceboty, je dôležité overiť’ správnosť’ a formát adresy. V takýchto prípadoch informácie o adrese zvyčajne pochádzajú z voľného textového vstupu, alebo ako transkript (prepis) hovorenej reči do textu. Takéto vstupy môžu obsahovať’ značne množstvo ”šumu” alebo odchýlky voči požadovanému formátu adresy. Na overenie formátu a platnosti adresy je potrebné odfiltrovať’ šum a extrahovať’ zodpovedajúce entity, ktoré tvoria skutočnú, t.j. presnú adresu. Tento proces extrakcie entít zo vstupného textu je označovaný ako rozpoznávanie pomenovaných entít (NER, z angl. ”Named-Entity Recognition”). V našom konkrétnom prípade ide o tieto entity: názov obce, názov ulice, číslo domu a poštové smerovacie číslo. Cieľom tohto reportu je opísať’ vývoj, implementáciu a posúdenie kvality systému NER na extrakciu spomenutých informácií.

POPIS PROBLÉMU

Táto štúdia je výsledkom spoločného úsilia Národného kompetenčného centra pre vysokovýkonné počítanie a spoločnosti nettle, s.r.o., ktorá je slovenským start-upom zameraným na spracovanie prirodzeného jazyka, chatboty a voiceboty. Cieľom bolo vyvinúť’ vysoko presný a spoľahlivý NER model na extrakciu adries, ktorého vstupom je voľný text, ako aj transkript reči do textu. Výsledný NER model predstavuje dôležitý prvok pre vývoj reálnych systémov starostlivosti o zákazníkov, ktorý sa dá využiť’ všade, kde je nutné extrahovanie adresy.

Výzvou tejto štúdie bolo spracovanie dát, ktoré boli dostupné výlučne v slovenskom jazyku. Z tohto dôvodu bol výber základného modelu veľmi obmedzený. Aktuálne je k dispozícii niekoľko verejne dostupných NER modelov pre slovensky jazyk. Tieto modely sú založené na predtrénovanom univerzálnom modeli SlovakBERT [1]. Bohužiaľ’, všetky tieto modely podporujú len niekoľko typov entít, pričom podpora entít relevantných pre extrakciu adries chýba. Priame využitie populárnych veľkých jazykových modelov (LLM, z angl. ”Large Language Models”), ako je GPT, prostredníctvom cloudových rozhraní (API) neprichádza v našom prípade do úvahy, primárne z dôvodov ochrany osobných údajov a časových oneskorení.

Navrhovaným riešením je doladenie (z angl. ”fine-tuning”) modelu SlovakBERT pre NER. Úloha NER je v našom prípade klasifikačná úloha na úrovni tokenov. Cieľom je dosiahnuť’ dostatočnú presnosť’ v rozpoznávaní entít s malým počtom dostupných reálnych pozorovaní. V časti 2.1 opisujeme náš dátový súbor, vrátane procesu tvorby týchto dát. Výrazný nedostatok dostupných, reálnych pozorovaní nás prinútil vytvoriť’ ”syntetické dáta”. V časti 2.2 navrhujeme úpravy SlovakBERT-u s cieľom natrénovať’ a doladiť’ ho pre našu úlohu. V časti 2.3 skúmame iteračné zlepšenia nášho prı́stupu generovania syntetických dát. Záverom, v časti 3, uvádzame výsledky trénovania a diskutujeme výkonnosť’ modelu.

DÁTA

K dispozícii bolo iba 69 zaznamenaných, reálnych vstupov. Všetky tieto vstupy boli navyše značne ovplyvnené šumom, napr. prirodzeným váhaním v reči, chybami pri prepise reči a pod. Preto boli tieto dáta použité výlučne na testovanie. V tabuľke 1 sú uvedené dva príklady zo zhromaždeného súboru dát.

Tabul’ka 1: Dva prı́klady z reálnych dát. V stĺpci Veta je zobrazený pôvodný text adresy. Stĺpec Tokenizovaný text obsahuje tokenizovanú reprezentáciu vety a stĺpec Anotácie obsahuje tag-y pre prı́slušné tokeny. Zdôrazňujeme, že nie každá veta musı́ nevyhnutne obsahovat’ všetky uvažované typy entı́t. Niektoré vety obsahujú šum, zatial’ čo iné obsahujú gramatické/pravopisné chyby: Token ,,Ďalši” nie je súčasťou adresy a názov ulice ,,bauerová” nezačína veľkým písmenom.

Vytváranie syntetického súboru trénovacích dát sa ukázalo ako jediná možnost’ riešenia problému nedostatku pozorovaní. Inšpirovaní 69 reálnymi príkladmi sme pomocou API do OpenAI vygenerovali množstvo podobných, reálne vyzerajúcich príkladov. Na anotovanie vygenerovaného súboru dát sa použila anotačná schéma BIO [2]. Táto schéma, často používaná v NLP na anotovanie tokenov, označuje v sekvencii začiatok (beginning – B), vnútro (inside – I) alebo ”vonkajšok” (outside – O) entít. Používame 9 anotácií: O, B-Ulica, I-Ulica, B-ČísloDomu, I ČísloDomu, B-Obec, I-Obec, B-PSČ, I-PSČ.

Údaje boli generované vo viacerých iteráciách, vid’. časť’ 2.3. Konečný súbor trénovacích dát pozostával z viac ako 104 pozorovaní. Na generovanie bolo použité GPT-3.5-turbo API. Keďže generovanie textu prostredníctvom tohto API je obmedzené počtom tokenov – ako generovaných, tak aj tokenov v prompte –, nebolo možné v rámci promptov použiť’ kompletný zoznam všetkých existujúcich slovenských názvov ulíc a obcí. Preto boli dáta generované so zástupnými znakmi názov ulice a názov obce, ktoré sa následne nahradili náhodne vybranými názvami ulíc a obcí zo zoznamov názvov ulíc, resp. obcí. Kompletný zoznam slovenských názvov ulíc a obcí bol získaný z webových stránok Ministerstva vnútra Slovenskej republiky [3].

Pomocou generatívneho algoritmu OpenAI, dostupného cez API, sa nám podarilo dosiahnuť’ organické vety bez potreby ručného generovania dát, čo výrazne urýchlilo prácu. Použitie tohto prístupu však neprebehlo úplne bez problémov. Vo vygenerovanom súbore sa vyskytovalo mnoho chýb, boli to hlavne nesprávne anotácie, ktoré bolo potrebné ručne opraviť’. Vygenerovaný súbor bol rozdelený tak, že 80% dát bolo použitých na trénovanie modelu, 15% na validáciu a 5% ako syntetické testovacie dáta, aby bolo možné porovnať’ výkonnosť’ modelu na skutočných dátach s výkonom na umelých testovacích dátach.

VÝVOJ A TRÉNOVANIE MODELOV

V práci boli boli použité a porovnané dva predtrénované, všeobecné modely pre slovenský jazyk: SlovakBERT [1] a destilovaná verzia tohto modelu [4]. V tomto texte označujeme destilovanú verziu ako DistilSlovakBERT. SlovakBERT je open source predtrénovaný model slovenského jazyka, ktorý využíva maskované modelovanie jazyka (MLM, z angl. ”Masked Language Modeling”). Bol natrénovaný na všeobecnom slovenskom webovom korpuse, ale dá sa l’ahko prispôsobit’ na riešenie nových úloh [1]. Dis-tilSlovakBERT je predtrénovaný model získaný z modelu SlovakBERT metódou nazývanou ”destilácia znalostí”, ktorá výrazne zmenšuje vel’kost’ modelu pri zachovaní (až 97%) jeho schopností porozumiet’ jazyku.

Oba modely boli upravané pridaním vrstvy klasifikácie, čím sa v oboch prípadoch získali modely vhodné pre úlohy NER. Posledná klasifikačná vrstva pozostáva z 9 neurónov zodpovedajúcich 9 anotáciám entít, t.j. 4 časti adresy a každá je reprezentovaná dvoma anotáciami – začiatok (B) a vnútro (I) každej entity a jedna anotácia je pre neprítomnosť akejkoľvek entity (O). Počet parametrov pre každý model a jeho zložky sú zhrnuté v tabuľke 2.

Tabul’ka 2: Počet parametrov v použitých NER modeloch a ich prı́slušné počty parametrov pre základný model a klasifikačnú vrstvu.

Trénovanie modelov sa ukázalo byt’ značne náchylné na preučenie. Na riešenie tohto problému a dalšie zlepšenie procesu trénovania bolo použíté lineárne zmenšovanie parametru rýchlosti učenia, regularizačná stratégiu ”weight decay” a niektoré d’alšie stratégie ladenia hyperparametrov.

Na trénovanie modelov boli využité výpočtové prostriedky HPC systému Devana, ktorý prevádzkuje Výpočtové stredisko Centra spoločných činností SAV, konkrétne s využitím akcelerovaného uzla s 1 grafickou kartou (GPU) NVidia A100. Na pohodlnejšiu analýzu a ladenie bolo využívané interaktívne prostredie OpenOnDemand, ktoré umožňuje používatel’om vzdialený webový prístup k superpočítaču.

Proces trénovania vyžadoval iba 10 − 20 epoch na natrénovanie pre oba modely. Pri použití spomenutých HPC prostriedkov bol čas trénovania jednej epochy v priemere 20 sekúnd pre 9492 vzoriek v trénovanom súbore dát pre SlovakBERT a 12 sekúnd pre DistilSlovakBERT. Inferencia na 69 vzorkách trvá 0, 64 sekundy pre SlovakBERT a 0, 37 sekundy pre DistilSlovakBERT, čo dokazuje dostatočnú efektivitu pre použitie týchto modelov v NLP aplikáciách v reálnom čase.

ITERATÍVNE VYLEPŠENIA

Hoci sme mali k dispozícii len 69 reálnych pozorovaní, ich komplexnost’ bola pomerne náročná na simulovanie v generovaných dátach. Generovaný súbor dát bol vytvorený pomocou viacerých promptov, výsledkom čoho bolo 11,306 viet, ktoré pripomínali človekom generovaný text. Získanie finalného riešenia pozostávalo z niekol’kých iterácií, pričom každú iteráciu možno rozdeliť na viaceré kroky: generovanie dát, trénovanie modelu, vizualizácia chýb predikcie na reálnych a umelých testovacích dátach a ich analýza. Týmto spôsobom boli identifikované vzory, ktoré model nedokázal rozpoznat’. Na základe týchto poznatkov boli vygenerované nové dáta, ktoré sa riadili týmito novoidentifikovanými vzormi. Dáta dopĺňané v iteráciách boli generované pomocou promptov uvedených v tabul’ke 3. Pomocou každého novorozšíreného súboru dát boli natrénované oba modely, pričom presnost’ modelu Slovak-BERT vždy prevyšovala presnost’ modelu DistilSlovakBERT. Preto bol d’alej využívaný ako základný model už iba SlovakBERT.

Výsledky

Matica zámen (z angl. ”Confusion Matrix”) zodpovedajúca výsledkom modelu natrénovaného v Iterácii 1 (pozri Tabul’ka 3)—je zobrazená v Tabul’ke 4. Tento model dokázal správne rozpoznat’ iba 67, 51% entít v testovacom súbore údajov. Podrobné preskúmanie chýb predikcie ukázalo, že súbor trénovacích dát nereprezentuje dostatočne dobre reálne pozorovania a je potrebné generovat’ viac reprezentatívnejších údajov. V tabul’ke 4 je zrejmé, že najčastejšou chybou bola identifikácia obce ako ulice a dochádzalo k tomu v prípadoch, ked’ sa názov obce objavil pred názvom ulice v adrese. Výsledkom bolo generovanie dát pomocou iterácie 2 a iterácie 3.

Tabul’ka 3: Iteratı́vny proces vytvárania dátového súboru. Každý prompt bol použitý dvakrát: najprv so šumom a potom bez šumu, t.j. s prirodzenými váhaniami l’udskej reči. Niekedy, ak je v tabul’ke uvedené, prompt umožňoval zamiešat’ alebo vynechat’ niektoré časti adresy (entity).

Ciel’om bolo dosiahnut’ viac ako 90% presnost’ na reálnych testovacích dátach. Presnost’ predikcie modelu sa so systematickým generovaním údajov neustále zvyšovala. Finálne bol celý súbor údajov zduplikovaný tak, že duplicity reflektovali text s použitím len malých písmen, nakol’ko využitý predtrénovaný model je citlivý na malé a vel’ké písmená a niektoré testovacie pozorovania obsahovali názvy ulíc a obcí s malými písmenami. Vd’aka tomu sa model stal robustnejším voči forme, v ktorej dostáva vstup, a dosiahol konečnú presnost’ 93,06%. Matica zámen najlepšieho (finálneho) modelu je zobrazená v Tabul’ke 5.

Tabul’ka 4: Matica zámen modelu natrénovaného na súbore dát z prvej iterácie, ktorá dosiahla predikčnú presnost’ modelu 67, 51 %.
Tabul’ka 5: Matica zámen konečného modelu s presnost’ou 93,06%. Porovnanı́m výsledkov s výsledkami v Tabul’ke 4 vidı́me, že presnost’ sa zvýšila o 25,55%.

V predikciách sa stále vyskytujú niektoré chyby; najmä tokeny, ktoré majú byt’ identifikované ako O, sú občas nesprávne klasifikované ako Obec. Týmto problémom sme sa d’alej nezaoberali, pretože sa vyskytuje pri slovách, ktoré sa môžu podobat’ na časti názvov entít, ale v skutočnosti nepredstavujú samotné entity. Príklad je zobrazený v Tabul’ke 6.

Tabul’ka 6: Prı́klady predikciı́ konečného modelu pre dve testovacie vety. Prvá veta obsahuje jeden nesprávne klasifikovaný token: tretı́ token ,,Kal” s anotáciou O bol klasifikovaný ako B-Obec. K ne- správnej klasifikácii “Kal” ako obce došlo v dôsledku jeho podobnosti s podslovami nachádzajúcimi sa v slove “Kalša”. Druhá veta má všetky svoje tokeny klasifikované správne.

ZÁVER

V tejto štúdii bol natrénovaný NER model postavený na predtrénovanom LLM modeli SlovakBERT. Model bol natrénovaný výlučne na umelo vygenerovanom súbore dát. Finálne syntentické trénovacie dáta boli reprezentatívne a kvalitné, vd’aka ich iteratívnemu rozširovaniu. Spolu s dolad’ovaním hyperparametrov tento iteratívny prístup umožnuje dosiahnut’ predikčnú presnost’ na reálnom dátovom súbore, presahujúcu 90%. Prezentovaný prístup naznačuje vysoký potenciál používania výlučne synteticky generovaných dát a to najmä v prípadoch, ked’ množstvo reálnych údajov nie je dostatočné na trénovanie.

Získaný model je možné využit’ v reálnych aplikáciách slúžiacich na extrakciu a overenie správnosti adries, získaných mechanizmami prevodu reči na text. V prípade, že je k dispozícii väčší súbor reálnych dát, odporúčame model pretrénovat’ a prípadne aj rozšírit’ syntetický súbor dát o d’alšie generované údaje, pretože existujúci súbor nemusí reprezentovat’ potenciálne nové vzory v týchto nových, reálnych dátach.
Model je dostupný na https://huggingface.co/nettle-ai/slovakbert-address-ner

POĎAKOVANIE

Výskum bol realizovaný s podporou Národného kompetenčného centra pre HPC, projektu EuroCC 2 a Národného Superpočítačového Centra na základe dohody o grante 101101903-EuroCC 2-DIGITAL-EUROHPC-JU-2022-NCC-01. Výskum (alebo jeho čast’) bol realizovaný s využitím výpočtovej infraštruktúry obstaranej v projekte Národné kompetenčné centrum pre vysokovýkonné počítanie (kód projektu: 311070AKF2) financovaného z Európskeho fondu regionálneho rozvoja, Štrukturálnych fondov EÚ Informatizácia spoločnosti, operačného programu Integrovaná infraštruktúra 2014-2020.

AUTORI

Bibiána Lajčinová – Národné superpočítačové centrum

Patrik Valábek – Národné superpočítačové centrum, Ústav informatizácie, automatizácie a matematiky, Slovenská technická univerzita v Bratislave

Michal Spišiak – nettle, s. r. o.

Plná verzia článku SK
Plná verzia článku EN

Zdroje:

[1] Matús Pikuliak, Stefan Grivalsky, Martin Konopka, Miroslav Blsták, Martin Tamajka, Viktor Bachratý, Marián Simko, Pavol Balázik, Michal Trnka, and Filip Uhlárik. Slovakbert: Slovak masked language model. CoRR, abs/2109.15254, 2021.

[2] Lance Ramshaw and Mitch Marcus. Text chunking using transformation-based learning. In Third Workshop on Very Large Corpora, 1995.

[3] Ministerstvo vnútra Slovenskej republiky. Register adries. https://data.gov.sk/dataset/register-adries-register-ulic. Accessed: August 21, 2023.

[4] Ivan Agarský. Hugging face model hub. https://huggingface.co/crabz/distil-slovakbert, 2022. Accessed: September 15, 2023.


Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Využitie veľkých jazykových modelov na efektívnu analýzu náboženských textov 5 aug - Analýza a štúdium textov s náboženskými témami boli historicky doménou filozofov, teológov a ďalších špecialistov v sociálnych vedách. S príchodom umelej inteligencie, konkrétne veľkých jazykových modelov, naberá výskum v tejto oblasti nové dimenzie. Tieto moderné technológie môžu byť využité na odhaľovanie skrytých nuáns v náboženských textoch, čím umožňujú hlbšie pochopenie rôznych symbolizmov a odhalenie významov, ktoré sú pre tieto texty charakteristické a môžu byť nejasné. Takéto zrýchlenie analytického procesu umožňuje výskumníkom sústrediť sa len na špecifické aspekty textu relevantné pre ich výskum.
Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Kategórie
Success-Stories

Detekcia anomálií v časových radoch: prevencia gamblingu pomocou hlbokého učenia

Detekcia anomálií v časových radoch: prevencia gamblingu pomocou hlbokého učenia

Prevencia gamblingu u hráčov online kasín je výzvou, so zjavne pozitívnym dopadom nielen na bežný život hráčov, ale aj na prevádzkovateľov kasín, ktorých úmyslom je sprostredkovať zodpovedné hranie. Na dosiahnutie týchto cieľov sme použili metódy hlbokého učenia „bez učiteľa“ (z angl. „unsupervised learning“), ktoré dokážu identifikovať hráčov vykazujúcich známky problémového hráčstva, s využitím dostupných dát vo forme časových radov. Prezentujeme porovnanie nami navrhnutej architektúry autoenkódera založenej na transformeroch s rekurentnými a konvolučnými autoenkódermi, s dôrazom na výhody tejto architektúry v detekcii anomálií. Keďže klinická diagnóza hráčov nebola v dostupných dátach k dispozícii, výsledky našej štúdie vyhodnocujeme analyzovaním „skóre anomálie“ získaného z autoenkódera a niekoľkých pomocných ukazovateľov, ktoré sú v literatúre často spomínané ako symptómy problémového hráčstva.

Ilustračný obrázok

Patologické hranie hier je definované ako problémové správanie, kedy osoba opakovane staví objekt určitej hodnoty (najčastejšie peniaze) za účelom výhry, ale s neurčitým výsledkom [1], [2]. Bolo tiež odhalených mnoho podobností medzi problémovým gamblingom a závislosťami na omamných látkach [3]. S prístupnosťou internetu sa zvýšil aj výskyt patologického hráčstva. Toto správanie má často negatívny dopad nielen na život dotknutých jednotlivcov, ale aj ich rodiny. Práve preto je včasná detekcia známok patologického hráčstva kľúčová nielen pre zachovanie duševného zdravia, ale aj finančnej situácie ovplyvnených osôb. Táto práca vznikla ako spolupráca Národného kompetenčného centra pre vysokovýkonné počítanie, spoločnosti DOXXbet s.r.o. (športové tipovanie a online kasíno) a spoločnosti Codium s.r.o. (vývoj softvérovej platformy športové tipovanie a iGaming-u pre DOXXbet, s.r.o.), s cieľom zlepšenia služieb zákazníkom a prevencie patologického hráčstva. Tento „proof of concept“ projekt je základom pre ďalší vývoj nástrojov, ktoré pomôžu poskytovateľovi zmierniť dopad negatívnych následkov problémového hráčstva na životy hráčov, aj za cenu zníženia príjmov, čo je v súlade s aktuálnymi európskymi trendmi v risk manažmente online hazardných hier.

V našej práci sme použili prístup učenia „bez učiteľa“ s využitím neurónovej AE siete založenej na transformeroch za účelom detekcie anomálií. Predpokladáme, že dáta patologických hráčov, ktorých by (štatisticky) medzi všetkými hráčmi malo byť medzi 0.5 až 5%, vykazujú anomálie, nie nutne naopak. Dátová sada, ktorú používame, neobsahuje klinickú diagnózu hráčov a spomedzi pomocných ukazovateľov spomenutých vyššie sa v dátach nachádzajú len niektoré – žiadosti o zvýšenie limitu vkladov, doháňanie strát intenzívnejším hraním (ďalej budeme tento indikátor označovať „epizódy naháňania straty“), používanie viacerých platobných metód, časté výbery malých finančných obnosov a ďalšie, ktoré budú spomenuté neskôr. Nakoľko nie všetci hráči, ktorí preukážu anomálne správanie musia byť patologickými hráčmi, boli pomocné ukazovatele použité v kombinácii so „skóre anomálie“, získaného ako výstup z AE.

DÁTA

Dáta použité v tejto štúdii sú sekvenciami pozorovaní zbieraných v čase, monitorujúce viaceré aspekty hráčskeho správania ako frekvencia a časy hier, frekvencia a výška peňažných vkladov, platobné metódy použité pri peňažných vkladoch, informácie o výške stávok, výhier, strát, výberoch a taktiež početnosť žiadostí o zmenu limitu pre výšku vkladov. Z týchto dát bolo extrahovaných 19 prvkov deskriptora vo forme časových radov (ČR). Každý prvok deskriptora pozostáva z viacerých hodnôt, ktoré sú chronologicky usporiadané. Tieto príznaky sú pre zrozumiteľnosť klasifikované do troch kategórií – „čas“, „peniaze“ a „zúfalstvo“, inšpirované autormi Seth a kol. [4]. Každý prvok deskriptora je sekvenciou N hodnôt, pričom každá hodnota predstavuje jedno z N po sebe idúcich časových okien. Každá takáto hodnota bola získaná agregáciou denných dát v príslušnom časovom okne, pričom dĺžka časového okna bola v rozmedzí od 15 dní až po 3 mesiace. Časové okno bolo v niektorých prípadoch pohyblivé, v iných nie. Pre každé pozorovanie teda potrebujeme dáta z N časových okien a zvolená hodnota N po sérii experimentov bola 8 . Celý proces extrakcie premenných je zobrazený na Obrázku 1, finálny tvar dát na Obrázku 2.

Obrázok 1: Vizualizácia agregácie denných záznamov do časových okien a do finálnej formy prvkov deskriptora. t1, …, t450 predstavujú časové záznamy pre denné dáta x1, …, x450. Denné záznamy z časového okna sú agregované do jednej hodnoty zi pre všetky i ∈ (1, . . . , 8).
Obrázok 2: Finálny tvar dát vstupujúcich do modelu. Každé pozorovanie pozostáva z devätnástich prvkov deskriptora a každý prvok pozostáva z ôsmych časových okien.

Architektúra modelu neurónovej siete

Autoenkóder je metóda hlbokého učenia „bez učiteľa“ vhodná na detekciu anomálií v ČR. Myšlienka použitia tohto typu neurónovej siete na detekciu anomálií je založená na rekonštrukčnej schopnosti modelu. AE sa naučí rekonštruovať dáta v trénovacej sade a keďže trénovacia sada by ideálne mala obsahovať len „normálne“ pozorovania, model sa naučí správne rekonštruovať len takéto pozorovania. Preto keď je vstupné pozorovanie anomálne, natrénovaný AE model nedokáže tento vstup zrekonštruovať dostatočne správne, čo má za následok vysokú rekonštrukčnú chybu. Táto rekonštrukčná chyba môže byť použitá ako skóre anomálie daného pozorovania, pričom vyššie skóre znamená väčšiu pravdepodobnosť, že pozorovanie sa vymyká všeobecnému trendu.

V štúdii sme natrénovali AE model na báze transformerov, kde enkóder aj dekóder obsahujú vrstvu nazývanú „Multi Head Attention“ so štyrmi „hlavami“ a 32-dimenzionálnymi vektormi kľúčov a hodnôt. Za touto vrstvou nasleduje klasická neurónová sieť s tzv. „dropout“ vrstvami a reziduálnymi spojeniami. Celý AE model má niečo málo viac než 100k trénovateľných parametrov.

Rekonštrukčná chyba a predikčná schopnosť

Na vyhodnotenie stability modelov sme uskutočnili 3-násobnú krížovú validáciu. Výsledná priemerná strata na trénovacej množine je 0.010, na validačnej 0.012 a na testovacej 0.015. Strata na testovacej množine je vyššia než tá na trénovacej alebo validačnej množine, čo je spôsobené tým, že 211 anomálnych pozorovaní bolo presunutých do testovacej množiny. Bez presunu týchto pozorovaní by bola strata na testovacej množine 0.012. Výkon modelu je prezentovaný na Obrázku 3 vo forme histogramu hodnoty stratovej funkcie. Histogram má „ťažký pravý chvost“, čo je očakávané pre dátové sady obsahujúce anomálie.

Obrázok 3: Histogramy rekonštrukčnej chyby AE modelu na báze transformeru pre testovaciu množinu. Na osi x je hodnota skóre anomálie a na osi y je frekvencia príslušnej hodnoty.

Na demonštráciu kvality rekonštrukcie ČR sú na obrázku Obrázku 4 znázornené pôvodné (modrá čiara) a predikované (červená čiara) hodnoty pre náhodne vybrané anomálne pozorovanie jedného hráča. Hodnota skóre anomálie pre príslušné modely je uvedená v nadpise grafov.

Obrázok 4: Porovnanie predikčnej schopnosti AE modelov. Všetky modely rekonštruovali rovnaké pozorovanie, pochádzajúce z testovacej množiny. Predikčná schopnosť: modrá čiara predstavuje vstupné dáta, červená rekonštrukciu získanú pomocou AE modelu na báze transformera. Číslo uvedené v nadpise grafu predstavuje skóre anomálie pre danú vzorku dát.

Výsledky

Nakoľko nebola klinická diagnóza súčasťou dát, ktorými sme disponovali, môžeme sa pri identifikácii hráčov s potenciálne problémovým hráčstvom spoliehať len na pomocné ukazovatele. K tejto úlohe sme pristúpili tak, že síce detegujeme anomálie v dátach, ale sme si vedomí toho, že nie všetky anomálie musia indikovať problém s gamblingom. Preto budeme korelovať výsledky AE modelu s týmito pomocnými ukazovateľmi:

  • Priemerný počet prihlásení v časovom okne.
  • Priemerný počet výberov v časovom okne.
  • Priemerný počet malých a častých výberov v časovom okne.
  • Priemerný počet žiadostí o zmenu limitu výšky vkladov v časovom okne.
  • Celkový počet epizód naháňania straty v období N časových okien.

Na Obrázku 5 je zobrazená korelácia skóre anomálie s horeuvedenými pomocnými ukazovateľmi. Každý z grafov obsahuje desať stĺpcov, pričom každý stĺpec reprezentuje jeden decil pozorovaní (t. j. každý stĺpec zobrazuje 10% pozorovaní zoradených podľa hodnoty skóre anomálie). Farby stĺpcov prestavujú hodnotu, resp. kategóriu príslušného pomocného ukazovateľa.

(a)
(b)
(c)
(d)
(e)
Obrázok 5: Každý stĺpec v grafoch predstavuje jeden decil skóre anomálie (MSE). Farby predstavujú kategórie príslušných pomocných ukazovateľov s hodnotami kategórií špecifikovanými v legende.

Na každom grafe je možné pozorovať zreteľné vzorce v správaní hráčov – hráči s vysokou hodnotou skóre anomálie majú tendenciu mať tiež vysoké hodnoty všetkých skúmaných pomocných ukazovateľov. Vysoká frekvencia prihlásení do online kasína je úmerná vysokému skóre anomálie, pričom viac než polovica hráčov v poslednom decile rekonštrukčnej chyby má priemerný počet prihlásení v časovom okne väčší než 50. Niečo podobné pozorujeme aj pre priemerný počet výberov v časovom okne. Hráči s nízkou hodnotou skóre nemajú žiadny, alebo majú veľmi malý priemerný počet výberov a zároveň viac než štvrtina hráčov v poslednom decile skóre má v priemere až dva a viac výberov v časovom okne. Ďalším skúmaným pomocným ukazovateľom je počet malých a častých výberov. Väčšina hráčov, ktorí majú v histórii aspoň jednu takúto udalosť, sú v 10% hráčov s najvyšším MSE. Pri analýze ďalšieho ukazovateľa, konkrétne počtu žiadostí o zmenu limitu vkladu, pozorujeme už menej výrazný trend. Je evidentné, že hráči v prvých piatich deciloch nemajú vo všeobecnosti žiadne zmeny limitu výberov (až na pár výnimiek), čím však skóre anomálie rastie, tým sa frekvencia zmeny limitu výberov u hráčov zvyšuje. Posledným pomocným ukazovateľom zobrazeným na grafoch je počet epizód naháňania straty. Opäť môžeme pozorovať zvyšujúcu sa frekvenciu týchto udalostí úmernú skóre anomálie. Viac než polovica hráčov v poslednom decile má aspoň jednu takúto epizódu v časovom okne.

Ak vykonáme superpozíciu týchto grafov za účelom zistenia, aký podiel hráčov spĺňa viacero pomocných ukazovateľov, dospejeme k nasledovnému pozorovaniu: 98.6% hráčov v posledných piatich percentiloch skóre anomálie spĺňa aspoň jeden pomocný ukazovateľ a 77.3% spĺňa aspoň tri ukazovatele. Analýzou správania hráčov v posledných dvoch percentiloch skóre anomálie zisťujeme, že takmer 90% z nich spĺňa aspoň tri ukazovatele. Hranice, ktoré boli použité na výpočet týchto podielov sú: >=1 epizóda naháňania straty, >=1 žiadosť o zmenu limitu, >=1 malý a častý výber, >=31 prihlásení a >=1.25 výberu v priemere počas jedného časového okna.

Záver

V práci sme úspešne aplikovali model autoenkódera (AE) založený na transformeroch na problém detekcie anomálií v dátovej sade hráčov online kasína. Cieľom bolo detegovať hráčov s patologickým hráčstvom metódami „bez učiteľa“. Zo vstupných dát bolo odvodených 19 prvkov deskriptora vo forme časových radov, ktoré odrážajú správanie hráčov v kontexte „času“, „peňazí“ a „zúfalstva“. Porovnali sme detekčnú schopnosť tejto architektúry s ďalšími troma AE architektúrami založenými na LSTM a konvolučných vrstvách, pričom sme zistili, že architektúra modelu založená na transformeroch dosiahla najlepšie výsledky zo všetkých skúmaných modelov v zmysle najlepšej rekonštrukčnej schopnosti. Výsledky tohto modelu tiež vykazujú vysokú koreláciu s pomocnými ukazovateľmi ako počet prihlásení hráča, počet výberov, počet epizód naháňania straty a ďalšími, ktoré sú často spomínané v literatúre vo vzťahu k patologickému hraniu.Tento súlad ”skóre anomálie”, ktoré odráža pravdepodobnosť, že dané pozorovanie sa vymyká priemeru, s pomocnými ukazovateľmi nám dovoľuje porozumieť modelu a jeho efektívnosti v detekcii hráčov s potenciálnym patologickým hráčstvom. Aj keď tieto pomocné ukazovatele boli použité ako prediktory v modeli, navrhujeme ich používať spolu s rekonštrukčnou chybou pri detekcii potenciálne problémových hráčov, aby sa redukovala falošná pozitivita predikcií, nakoľko nie všetky anomálie musia byť spojené s patologickým hráčstvom.

Plná verzia článku

Zdroje:

[1] Alex Blaszczynski and Lia Nower. “A Pathways Model of Problem and Pathological Gambling”. In: Addiction (Abingdon, England) 97 (June 2002), pp. 487–99. doi: 10.1046/j.1360-0443.2002.00015.x.

[2] National Research Council. Pathological Gambling: A Critical Review. Washington, DC: The National Academies Press, 1999. isbn: 978-0-309-06571-9. doi: 10 . 17226 / 6329. url: https ://nap .nationalacademies.org/catalog/6329/pathological – gambling – a – critical -review.

[3] Luke Clark et al. “Pathological Choice: The Neuroscience of Gambling and Gambling Addiction”. In: Journal of Neuroscience 33.45 (2013), pp. 17617–17623. issn: 0270-6474. doi:  0.1523/JNEUROSCI.3231-13.2013.eprint: https : / / www . jneurosci . org /content / 33 / 45 / 17617 . full . pdf. url: https://www.jneurosci.org/content/33/45/17617.

[4] Deepanshi Seth et al. “A Deep Learning Framework for Ensuring Responsible Play in Skill-based Cash Gaming”. In: 2020 19th IEEE International Conference on Machine Learning and Applications (ICMLA) (2020), pp. 454–459.


Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Využitie veľkých jazykových modelov na efektívnu analýzu náboženských textov 5 aug - Analýza a štúdium textov s náboženskými témami boli historicky doménou filozofov, teológov a ďalších špecialistov v sociálnych vedách. S príchodom umelej inteligencie, konkrétne veľkých jazykových modelov, naberá výskum v tejto oblasti nové dimenzie. Tieto moderné technológie môžu byť využité na odhaľovanie skrytých nuáns v náboženských textoch, čím umožňujú hlbšie pochopenie rôznych symbolizmov a odhalenie významov, ktoré sú pre tieto texty charakteristické a môžu byť nejasné. Takéto zrýchlenie analytického procesu umožňuje výskumníkom sústrediť sa len na špecifické aspekty textu relevantné pre ich výskum.
Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Kategórie
Success-Stories

Meranie štrukturálnych parametrov kapsúl použitím techník umelej inteligencie (AI) a strojového učenia (ML)

Meranie štrukturálnych parametrov kapsúl použitím techník umelej inteligencie (AI) a strojového učenia (ML)

Cieľom spolupráce medzi Národným kompetenčným centrom pre HPC (NCC pre HPC) a Ústavom polymérov (ÚP) SAV bol návrh a implementácia pilotného softvérového riešenia pre automatické spracovanie obrazu frakcií polymérnych mikrokapsúl. Tieto mikrokapsuly slúžia ako obal pre pankreatické ostrovčeky tvoriace perspektívne liečivo na ochorenie diabetes mellitus (t.j. cukrovky 1. typu). Mikrokapsuly pozostávajú z pankreatických ostrovčekov enkapsulovaných do polopriepustnej polymérnej membrány, ktorá bola vyvinutá na Ústave polymérov SAV.

Ilustračný obrázok

Automatizované riešenie je pre ÚP SAV mimoriadne dôležité z hľadiska časovej úspory a zjednodušenia vyhodnocovania početných výstupov z meraní, ako aj minimalizácie chyby, ktorá sa môže objaviť pri manuálnom spracovaní. Obrázky z optického mikroskopu pri 4-násobnom zväčšení typicky obsahujú jednu alebo niekoľko mikrokapsúl a sú vstupom do tréningu AI/ML modelov. Obrázky z optického mikroskopu pri 2,5-násobnom zväčšení obsahujú viac mikrokapsúl, zvyčajne tri až sedem. V takomto prípade je nutné v prvom kroku identifikovať jednotlivé mikrokapsuly. V procese inferencie sa z príslušného obrázku vytvorí tzv. binárna maska, z ktorej sa následne extrahujú informácie o štrukturálnych parametroch, akými sú predovšetkým vnútorný a vonkajší priemer kapsuly a hrúbka jej membrány.

Obrazový materiál je spracovaný v dvoch krokoch. Prvým krokom je lokalizácia nedefektných kapsúl a ich následné vystrihnutie, druhým je séria operácií vedúcich k samotnému určeniu štrukturálnych parametrov.

DETEKCIA KAPSÚL

Na detekciu kapsúl bol použitý model YOLOv5 [1] s predtrénovanými váhami z databázy COCO128 [2]. Tréningové dáta pozostávali z 96 snímok, ktoré boli manuálne anotované pomocou nástroja LabelImg [3]. Tréningová jednotka pozostávala z 300 epoch, snímky boli rozdelené do sád po 16 a ich veľkosť bola nastavená na 640 pixelov. Výpočtový čas jednej tréningovej jednotky na grafickej karte NVIDIA GeForce GTX 1650 bol približne 3.5 hodiny.

Detekcia pomocou natrénovaného YOLOv5 modelu je prezentovaná na Obrázku 1. Spoľahlivosť natrénovaného modelu, overená na 12 snímkach, bola 96%, pričom priepustnosť na rovnakej grafickej karte bola približne 40 snímok za sekundu.

Obrázok 1: (a) vstupný obraz z optickej mikroskopie; (b) detegovaná kapsula; (c) výrez detegovanej kapsuly pri 4-násobnom zväčšení; (d) vstupný obraz z optickej mikroskopie; (e) detegovaná kapsula; (f) výrez detegovanej kapsuly pri 2,5-násobnom zväčšení.

MERANIE ŠTRUKTURALNÝCH PARAMETROV KAPSÚL POMOCOU TECHNÍK AI/ML

Binárne masky pre vnútorné a vonkajšie časti kapsúl boli získané individuálne, ako výstup z hlbokej neurónovej siete architektúry U-Net [4], ktorá bola vyvinutá na spracovanie obrazu v biomedicínskych aplikáciách. Na tréning príslušných váh bolo použitých 140 obrázkov s korešpondujúcimi maskami pre 4-násobné zväčšenie optického mikroskopu a rovnako 140 obrázkov s korešpondujúcimi maskami aj pre 2,5-násobné zväčšenie. Tréningový proces pozostával z 200 epoch (veľkosť sady 16), pričom 10% z tréningových dát bolo použitých na validáciu. Presnosť na testovacej sade, ktorá pozostávala zo 120 obrázkov, presahovala 96%. Tréningový proces trval 1,5 až 2 hodiny a na trénovanie bol využitý HPC systém s uzlami typu IBM Power 7. Tento proces bolo nutné niekoľkokrát opakovať. Výstupné binárne masky boli následne postprocesované operáciami „fill_holes” [5] a „watershed“ [6], na získanie čo najhladších oválnych masiek. Následne bola na masky fitovaná elipsa s využitím knižnice „scikit-image measure“ [7], ktorej hlavná a vedľajšia os sú základom pre samotný výpočet štrukturálnych parametrov. Postupnosť týchto krokov je prezentovaná na Obrázku 2.

Obrázok 2: (a) vstupná obraz; (b) vnútorná binárna maska; (c) vonkajšia binárna maska; (d) výstupný obraz s fitovanými elipsami elipsy na základe binárnych masiek.

Štrukturálne parametre získané predikciou  AI/ML modelu (značený ďalej ako „U-Net“) boli porovnané s hodnotami, ktorými disponovali pracovníci ÚP SAV a boli získané „manuálnym meraním“ v snímkach. Ako ďalší, nezávislý zdroj referenčných dát bol použitý prístup označovaný ďalej ako „Retinex“, ktorý navrhol a implementoval RNDR. Andrej Lúčny, PhD. z Katedry aplikovanej informatiky Fakulty matematiky, fyziky a informatiky Univerzity Komenského v Bratislave. Tento prístup nevyužíva neurónové siete, ale vytvára kandidátov na binárne masky agregáciou úsekov s nízkou krivosťou, získaných pomocou „retinex“ filtra [8] tak, aby vytvorili útvar s minimálnou štandardnou odchýlkou krivosti. Tento prístup je dobrou referenciou, nakoľko nevyžaduje trénovanie a je vysoko presný, avšak na rozdiel od modelu U-net nie je plne automatizovaný, obzvlášť pre vnútornú membránu kapsuly.

Obrázok 3 sumarizuje porovnanie všetkých spomenutých riešení pre rôzne sady („batches“) z experimentov pre obrázky získané pri 4-násobnom zväčšení.

(a)
(b)
(c)

Obrázok 3: (a) rozmer kapsúl vypočítaný pre prístupy U-net a Retinex ako priemer hlavnej a vedľajšej osi elipsy (b) rozdiel medzi hlavnou osou elipsy pre vonkajší priemer kapsúl (c) rozdiel medzi vedľajšou osou elipsy pre vonkajší priemer kapsúl. V obrázkoch (b) a (c) je červenou čiarou zobrazená hraničná odchýlka akceptovateľná ÚP SAV. Obrázky z optického mikroskopu boli získané pri 4-násobnom zväčšení.

Zo získaných výsledkov je možné skonštatovať, že až na 4 snímky (1.5%) v sade 194 pre vedľajšiu os elipsy, sú všetky parametre v medziach akceptovateľnej presnosti, ktorá bola definovaná ÚP SAV. Z Obrázku 3(a) pozorujeme systematicky lepšiu vzájomnú zhodu medzi výsledkami získanými prístupmi U-net a Retinex, čo môže byť spôsobené buď aproximáciou tvaru kapsuly elipsou, ktorá sa v „manuálnom vyhodnotení“ ÚP SAV neaplikovala, alebo iným, systematickým rozdielom pri vyhodnocovaní, a/alebo chybou v „manuálnom vyhodnotení“. Kvalita U-net modelu môže byť do budúcna výrazne zlepšená, hlavne rozšírením tréningovej sady ako aj aplikovaním ďalšieho pre- a postprocesingu. Zhoda medzi „manuálnym vyhodnotením“ a modelmi U-net / Retinex môže byť zlepšená harmonizáciou spôsobu vyhodnocovania štrukturálnych parametrov kapsúl z binárnych masiek.

AI/ML model bude nasadený v predprodukčnej fáze ako cloudové riešenie na HPC systémoch CSČ SAV. Inferencia a kontinuálny tréning s pribúdajúcimi snímkami nebude vyžadovať investíciu do vysokovýkonných výpočtových prostriedkov samotným ÚP SAV. Produkčná fáza, ktorá presahuje rámec pilotného riešenia, uvažuje s integráciou tohto prístupu do desktopovej aplikácie.

Zdroje:

[1] https://github.com/ultralytics/yolov5

[2] https://www.kaggle.com/ultralytics/coco128

[3] https://github.com/heartexlabs/labelImg

[4] https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/

[5] https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.binary_fill_holes.html

[6] https://scikit-image.org/docs/stable/auto_examples/segmentation/plot_watershed.html

[7] https://scikit-image.org/docs/stable/api/skimage.measure.html

[8] D.J. Jobson, Z. Rahman, G.A. Woodell, IEEE Transactions on Image Processing 6 (7) 965-976, 1997.


Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Využitie veľkých jazykových modelov na efektívnu analýzu náboženských textov 5 aug - Analýza a štúdium textov s náboženskými témami boli historicky doménou filozofov, teológov a ďalších špecialistov v sociálnych vedách. S príchodom umelej inteligencie, konkrétne veľkých jazykových modelov, naberá výskum v tejto oblasti nové dimenzie. Tieto moderné technológie môžu byť využité na odhaľovanie skrytých nuáns v náboženských textoch, čím umožňujú hlbšie pochopenie rôznych symbolizmov a odhalenie významov, ktoré sú pre tieto texty charakteristické a môžu byť nejasné. Takéto zrýchlenie analytického procesu umožňuje výskumníkom sústrediť sa len na špecifické aspekty textu relevantné pre ich výskum.
Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Kategórie
Success-Stories

Use case: Prenos a optimalizácia pracovného toku CFD výpočtov v HPC prostredí

Use case: Prenos a optimalizácia pracovného toku CFD výpočtov v HPC prostredí

Autori: Ján Škoviera (Národné kompetenčné centrum pre HPC), Sylvain Suzan (Shark Aero)

Spoločnosť Shark Aero navrhuje a vyrába ultraľahké športové lietadlá s dvojmiestnym tandemovým kokpitom. Na vývoj dizajnu používajú populárny open-source softvérový balík openFOAM [1], konkrétne CFD simulácie (Computational Fluid Dynamics), využívajú metódu konečných prvkov (Finite elements method – FEM). Po vytvorení modelu pomocou softvéru Computer-Aided Design (CAD) sa model rozdelí na samostatné bunky, tzv. sieť (angl. mesh). Presnosť simulácie silne závisí od hustoty siete, pričom výpočtové a pamäťové požiadavky stúpajú s treťou mocninou počtu jej vrcholov. Pre niektoré simulácie môžu byť výpočtové nároky naozaj limitujúcim faktorom, ak používateľ pracuje s bežne dostupnou výpočtovou technikou. Pokúsili sme sa preto preniesť pracovný tok simulácie do High-Performance Computing (HPC) prostredia s osobitným zameraním na preskúmanie efektívnosti paralelizácie výpočtových úloh pre daný typ modelu.

METÓDY

Pre tento projekt boli použité výpočtové uzly s 2×6 jadrami Intel Xeon L5640 @ 2,27GHz, 48 GB RAM a 2×500 GB. Všetky výpočty sa robili v štandardnom HPC prostredí s použitím systému plánovania úloh Slurm. Takéto riešenie je prijateľné pre typ výpočtových úloh, kde sa nevyžaduje odozva v reálnom čase ani okamžité spracovanie údajov. Pre CFD simulácie sme používali softvérové ​​balíky OpenFOAM a ParaView verzie 9. Na spúšťanie výpočtov bol použitý kontajnerový softvér Singularity s ohľadom na možný budúci prenos výpočtov na iný HPC systém. Podľa očakávania, zrýchlenie výpočtov dosiahnuté len samotným transferom do HPC prostredia bolo približne 1,5x v porovnaní so štandardným notebookom.

PARALELIZÁCIA

Paralelne vykonávané výpočtové úlohy môžu zvýšiť rýchlosť celkového výpočtu využitím viacerých výpočtových jednotiek súčasne. Pre paralelizáciu úlohy takéhoto typu je potrebné rozdeliť pôvodnú sieť na domény – časti, ktoré sa budú spracovávať súbežne. Domény však potrebujú komunikovať cez procesorové okrajové podmienky, t.j. steny domény alebo plochy v mieste rozdelenia pôvodnej siete. Čím väčšia je hraničná plocha procesora, tým viac I/O operácií je potrebných na vyriešenie okrajových podmienok. Dátová komunikácia procesorových okrajových podmienok je zabezpečená protokolom MPI (distributed memory Message Passing Interface), takže rozdiel medzi jadrami CPU a rôznymi výpočtovými uzlami je od používateľa abstrahovaný. To vedie k určitým obmedzeniam efektívneho využívania mnohých paralelných procesov, pretože príliš paralelizované vykonávanie úloh môže byť v skutočnosti pomalšie kvôli úzkym miestam v komunikácii a I/O. Preto by mali byť domény vytvorené spôsobom, ktorý minimalizuje hranice procesora. Jednou z možných stratégií je rozdeliť pôvodnú sieť iba v koplanárnom smere s čo najmenšou stranou pôvodnej siete. Pri paralelizácii a definícii domén je potrebné dbať na množstvo prenášaných údajov – napríklad pri delení siete vo viacerých osiach sa vytvorí aj viac procesorových okrajových podmienok.

Figure 1: Ilustrácia segmentácie siete. Obklopujúci mesh je reprezentovaný priesvitnými kvádrami.

Výpočty sa robili v štyroch krokoch: generovanie siete, segmentácia siete, vnorenie modelu a simulácia CFD. Prvý krok – vytvorenie siete sme urobili pomocou utility blockMesh, nsledovala segmentácia siete pomocou utility decomposePar, vnorenie modelu pomocou programu snappyHexMesh a samotná CFD simulácia bola robená programom SimpleFoam. Výpočtovo najnáročnejší krok je snappyHexMesh. Je to pochopiteľné z toho, že kým pri CFD simulácii je potrebné vykonať výpočet niekoľkokrát pre každú hranu siete a každú iteráciu, v prípade vnorenia modelu sa vytvárajú nové vrcholy a staré sa vymazávajú na základe polohy vrcholov siete. To si vyžaduje vytvorenie „oktree“ (rozdelenie trojrozmerného priestoru jeho rekurzívnym rozdelením na osem oktantov), ​​opakované inverzné vyhľadávanie a opätovné zaradenie do oktantov. Každý z týchto procesov je N*log(N) v najlepšom prípade a N2 v najhoršom prípade, kde N je počet vrcholov. Samotné CFD škáluje lineárne s počtom hrán, t.j. „takmer“ lineárne s N (prepojené sú len priestorovo blízke uzly). Vyvinuli sme pracovný postup, ktorý vytvára množstvo domén, ktoré môžu byť priamo paralelné s rovinou yz (x je os nosa lietadla), čo používateľovi zjednodušuje rozhodovanie. Po zahrnutí nového modelu je možné jednoducho špecifikovať počet domén a spustiť výpočet, čím sa minimalizuje ľudský zásah potrebný na paralelizáciu výpočtu.

VÝSLEDKY A ZÁVER

Relatívne zrýchlenie výpočtových procesov je určené najmä obmedzenými vstupmi/výstupmi. Ak sú výpočtové úlohy hlboko pod hranicou I/O operácií, rýchlosť je nepriamo úmerná počtu domén. Pri menej náročných výpočtoch, t.j. pri malých modeloch sa môžu procesy ľahko stať nadmerne paralelizovanými.

Figure 2: Závislosť reálneho výpočtového času od počtu výpočtových jednotiek pre snappyHexMesh and simpleFoam. V prípade simpleFoam-u čas začína divergovať pre 8 procesov a viac, nakoľko dátový transfer prekonáva paralelizačnú výhodu. Ideálne škálovanie ukazuje teoretický čas potrebný na dokončenie výpočtu v prípade, že by procesorové podmienky a dátový transfer neboli zahrnuté.

Keď je hustota siete dostatočne vysoká, čas na výpočet kroku CFD je tiež nepriamo úmerný počtu paralelných procesov. Ako je znázornené na druhej dvojici obrázkov s dvojnásobným zvýšením hustoty siete, výpočty sú pod hranicou I/O dokonca aj v CFD kroku. Aj keď je krok CFD v tomto prípade pomerne rýchly v porovnaní s procesom tvorby siete, výpočet dlhých časových intervalov by z neho mohol urobiť časovo najnáročnejší krok.

Návrh častí lietadla vyžaduje viacnásobné simulácie relatívne malých modelov za meniacich sa podmienok. Hustota siete potrebná pre tieto simulácie patrí do strednej kategórie. Pri prenose výpočtov do HPC prostredia sme museli brať do úvahy skutočné potreby koncového užívateľa z hľadiska veľkosti modelu, hustoty siete a požadovanej presnosti výsledku. Používanie HPC má niekoľko výhod:

  • Koncový používateľ je nepotrebuje udržiavať svoje vlastné výpočtové kapacity.
  • Aj v prípade, že by simulácie boli obmedzené na úlohy s jedným vláknom (neparalelizované), ich prenos do HPC prostredia predstavuje zrýchlenie, navyše s možnosťou použitia tzv. embarrassingly parallel prístupu.
  • Pre ďalšie zefektívnenie vypočtov bol navrhnutý jednoduchý spôsob využitia paralelizácie pre tento konkrétny typ úloh. Identifikovali sme obmedzenia paralelných behov pre definovaný prípad použitia a podmienky. Celkové zvýšenie rýchlosti, ktoré bolo dosiahnuté v praktických podmienkach, je 7,3-násobné. Vo všeobecnosti je možné očakávať zrýchlenie rastúce so zložitosťou výpočtu a presnosťou/hustotou siete.


Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Využitie veľkých jazykových modelov na efektívnu analýzu náboženských textov 5 aug - Analýza a štúdium textov s náboženskými témami boli historicky doménou filozofov, teológov a ďalších špecialistov v sociálnych vedách. S príchodom umelej inteligencie, konkrétne veľkých jazykových modelov, naberá výskum v tejto oblasti nové dimenzie. Tieto moderné technológie môžu byť využité na odhaľovanie skrytých nuáns v náboženských textoch, čím umožňujú hlbšie pochopenie rôznych symbolizmov a odhalenie významov, ktoré sú pre tieto texty charakteristické a môžu byť nejasné. Takéto zrýchlenie analytického procesu umožňuje výskumníkom sústrediť sa len na špecifické aspekty textu relevantné pre ich výskum.
Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.
Kategórie
Success-Stories

MEMO98

MEMO98

MEMO 98 je nezisková mimovládna organizácia, ktorá sa viac ako 20 rokov zaoberá monitorovaním médií v kontexte volieb a iných udalostí, pričom svoje aktivity realizovala vo viac ako 50 krajinách. V poslednom čase sa taktiež zaoberá vplyvom sociálnych sietí na integritu volebných procesov.

Informačné prostredie sa v posledných rokoch výrazne zmenilo, obzvlášť vplyvom nástupu sociálnych sietí. Odhliadnuc od niektorých pozitívnych aspektov, ako sú rozšírené možnosti prijímania a zdieľania informácií, sociálne médiá tiež umožnili rýchle a lacné šírenie dezinformácií zasahujúcich široké publikum. Organizácia MEMO 98 analyzovala predvolebnú kampaň parlamentných volieb, ktoré sa konali 11. júla 2021 v Moldavsku, a to na piatich sociálnych platformách: Facebook, Instagram, Odnoklassniki, Telegram a YouTube.

Dáta zo sociálnych sietí boli získané pomocou nástroja CrowdTangle (nástroj na analýzu sociálnych médií vlastnený Facebookom). Len počet interakcií k postom kandidátov a jednotlivých politických strán na Facebooku bol 1,82 mil., počet interakcií postov predsedov strán sa vyšplhal k 1,09 mil. Pred začiatkom tohto projektu nemala organizácia MEMO 98 skúsenosti s využitím nástrojov na efektívnu analýzu veľkých objemov dát. Odborníci NCC navrhli riešenie na spracovanie dát a ich následnú vizualizáciu voľne dostupným softvérom Gephi [1] v HPC prostredí. Výsledkom je tzv. sieťová mapa, čo je interaktívna schéma umožňujúca hľadať a analyzovať šírenie špecifických výrazov a webových adries v kontexte predvolebnej kampane. NCC poskytlo v rámci projektu aj prístup k výpočtovým prostriedkom na testovanie riešení a tiež individuálne zaškolenie tak, aby organizácia MEMO98 vedela v budúcnosti s týmto riešením samostatne pracovať.

Predbežné výsledky a závery monitoringu MEMO98 zverejňuje na svojej webstránke [2].

Referencie


[1] Bastian M., Heymann S., Jacomy M. (2009). Gephi: an open source software for exploring and manipulating networks. International AAAI Conference on Weblogs and Social Media.

[2] Network mapping, Moldova Early Parliamentary Elections July 2021, Monitoring of Social Media – Preliminary Findings. Dostupné na:

https://memo98.sk/article/moldovan-social-media-reflected-a-division-in-society

https://memo98.sk/uploads/content_galleries/source/memo/moldova/2021/preliminary-findings-on-the-monitoring-of-parliamentary-elections-2021-on-social-media.pdf


Klasifikácia intentov pre bankové chatboty pomocou veľkých jazykových modelov 12 sep - Tento článok hodnotí použitie veľkých jazykových modelov na klasifikáciu intentov v chatbote s preddefinovanými odpoveďami, určenom pre webové stránky bankového sektora. Zameriavame sa na efektivitu modelu SlovakBERT a porovnávame ho s použitím multilingválnych generatívnych modelov, ako sú Llama 8b instruct a Gemma 7b instruct, v ich predtrénovaných aj fine-tunovaných verziách. Výsledky naznačujú, že SlovakBERT dosahuje lepšie výsledky než ostatné modely, a to v presnosti klasifikácie ako aj v miere falošne pozitívnych predikcií.
Využitie veľkých jazykových modelov na efektívnu analýzu náboženských textov 5 aug - Analýza a štúdium textov s náboženskými témami boli historicky doménou filozofov, teológov a ďalších špecialistov v sociálnych vedách. S príchodom umelej inteligencie, konkrétne veľkých jazykových modelov, naberá výskum v tejto oblasti nové dimenzie. Tieto moderné technológie môžu byť využité na odhaľovanie skrytých nuáns v náboženských textoch, čím umožňujú hlbšie pochopenie rôznych symbolizmov a odhalenie významov, ktoré sú pre tieto texty charakteristické a môžu byť nejasné. Takéto zrýchlenie analytického procesu umožňuje výskumníkom sústrediť sa len na špecifické aspekty textu relevantné pre ich výskum.
Mapovanie polohy a výšky stromov v PointCloud dátach získaných pomocou LiDAR technológie 25 júl - Cieľom spolupráce medzi Národným superpočítačovým centrom (NSCC) a firmou SKYMOVE, v rámci projektu Národného kompetenčného centra pre HPC, bol návrh a implementácia pilotného softvérového riešenia pre spracovanie dát získaných technológiou LiDAR (Light Detection and Ranging) umiestnených na dronoch.