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.


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.


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í

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.


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