• Rezultati Niso Bili Najdeni

Decentraliziran spletni vmesnik za oblačno analizo videotokov 18

Po pregledu znanstvene literature smo umestili naše delo v širši kontekst član-kov iz področij, ki jih pokriva ta magistrska naloga – verige bločlan-kov, razvoja decentraliziranih aplikacij, ekosistemov metod umetne inteligence, modelov virov, integracije umetne inteligence in verige blokov, prerokov, pametnih pogodb in analize videotokov. Glavne novosti magisterija so izpostavljene v podpoglavjih 2.5.1, 2.5.2, 2.5.3 in 2.5.4.

2.5. DECENTRALIZIRAN SPLETNI VMESNIK ZA OBLAČNO

ANALIZO VIDEOTOKOV 19

2.5.1 Decentraliziran trg metod umetne inteligence

Umetna inteligenca odpira nove možnosti za napredno obdelavo podatkov na praktičnih domenah vsakdanjega življenja. Trenutni mehanizmi za distri-bucijo metod umetne inteligence so GitHub repozitoriji, akademske spletne strani in komercialni portali, vsem pa je skupno, da vsebujejo kar nekaj pomanjkljivosti. GitHub repozitoriji in akademske spletne strani ne ponu-jajo možnosti monetizacije. Postopki namestitve, konfiguracije in zagona so pogosto zahtevni in jih lahko izvedejo le strokovnjaki na tem področju. Ob-stoječi komercialni portali (Agorai, Algorithmia, OVHcloud AI, GravitzAI, SingularityNET in drugi) so večinoma centralizirani in kontrolirani s strani enega podjetja. Motivi uporabnikov portala in njenega upravitelja se lahko drastično razlikujejo, kar privede do konfliktov in enotne točke odpovedi.

Metode umetne inteligence, ki so objavljene na takih portalih, pogosto ne vsebujejo najnovejših znanstvenih dosežkov, ki jih raziskovalci objavljajo v GitHub repozitorije ali na raziskovalne spletne strani.

Obstoječe rešitve vsebujejo omenjene pomanjkljivosti, ki jih želimo v tej magistrski nalogi izboljšati ali odpraviti. V ta namen predstavimo napredni decentraliziran trg metod umetne inteligence z namenom pritegniti različne akterje, kjer vsak prispeva svoj delež k delovanju celotnega ekosistema. Raz-vijalci metod umetne inteligence lahko objavljajo najnovejše in najbolj izpo-polnjene modele, ki so jih razvili v laboratorijih. Čas od zaključka razvoja metode do njene množične uporabe iz strani uporabnikov je na ta način precej krajši. Ponudniki infrastrukture poskrbijo za to, da imajo metode zagoto-vljeno zmogljivo izvajalno okolje z grafičnimi karticami, velikimi količinami delovnega pomnilnika in hitrimi procesorji. Predstavljen sistem je decentra-liziran, kar pomeni, da je dosti bolj transparenten in zaupanja vreden kot sistem, kjer je v ozadju le eno podjetje.

2.5.2 Transparentna in zaupanja vredna interakcija med akterji

Transparentnost obstoječih centraliziranih sistemov, ki jih upravlja eno pod-jetje, je pogosto majhna. Uporabniki nimajo celotnega pregleda nad tem, katere operacije so se v sistemu zgodile. Tak vpogled imajo običajno le sis-temski administratorji. Grajenje zaupanja v sistem je dolgoročen postopek, ki pa ga lahko olajšamo ali pohitrimo z uporabo decentraliziranih sistemov.

Njihova pomembna konkurenčna prednost je nespremenljivost podatkov, ko so enkrat zapisani na verigo blokov. Oboji, centralizirani in decentralizirani sistemi imajo svoje prednosti in slabosti. V centraliziranih sistemih upravi-telj sistema zaračunava transakcijske stroške, kar ga tudi motivira, da zago-tavlja visoko kvaliteto delovanja storitev, stalno dopolnjuje funkcionalnosti in razrešuje morebitne konflikte med najemniki in ponudniki modelov ume-tne inteligence. V decentraliziranem sistemu so vsi navedeni cilji prav tako dosegljivi, vendar z večjo porabo energije in časa, saj morajo vse spremembe doseči strinjanje vseh vozlišč v verigi blokov. Trenutni algoritmi porabljajo veliko energije [69], vendar je velika verjetnost, da se bodo v prihodnosti izboljšali.

Ker je sistem razvit v tej magistrski nalogi decentraliziran, stremimo k temu, da si s tem pridobimo večje zaupanje uporabnikov v sistem in med uporabniki samimi (kupec zaupa prodajalcu). Zaradi uporabe verige blokov so uporabniki lahko prepričani, da so njihovi podatki nespremenljivi. Vse transakcije so javno vidne z orodji za analizo transakcij (npr. Etherscan).

2.5.3 Zaupanja vredni podatki in upravljanje z meto-dami umetne inteligence

S hitrim napredkom informacijske tehnologije lahko uporabniki in organiza-cije pridobijo in obdelujejo podatke iz različnih virov. Pri tem je pomembno, da zagotovimo integriteto podatkov, saj le na ta način lahko iz njih izluščimo smiselne ugotovitve [70]. V zadnjih letih se je pojavil koncept pametne

pro-2.5. DECENTRALIZIRAN SPLETNI VMESNIK ZA OBLAČNO

ANALIZO VIDEOTOKOV 21

izvodnje, ki s pomočjo velike količine podatkov v realnem času ustvarja po-slovno inteligenco in dodano vrednost podjetju. Poslovanje takih podjetij je pogosto odvisno od kvalitetnih podatkov. Pri njihovi obdelavi se poslužujejo konceptov velikih podatkov, strojnega učenja, naprednih simulacij in inter-neta stvari [71]. Pridobljeni podatki običajno potujejo skozi cevovod (angl.

pipeline), ki poskrbi za združevanje podatkov iz večih virov in shranjevanje v ustrezno podatkovno zbirko, kjer so podatki obdelani [72].

Tok podatkov v aplikaciji StreamAI, ki smo jo razvili v okviru magistr-ske naloge, obsega več stopenj. Pretok podatkov se dogaja v skoraj realnem času. Nadzorna kamera na terenu pošilja videotok Docker vsebniku, ki vse-buje izbrano metodo umetne inteligence. Ta obdela vsako sličico videotoka in MQTT strežniku posreduje zaznave na posnetku. Podatki se na poti trans-formirajo glede na potrebe njihovega odjemalca.

Pomemben vidik podatkov je tudi njihovo upravljanje in varovanje [73].

Če gledamo na metodo umetne inteligence kot na podatek v sitemu do ka-terega lahko dostopajo uporabniki, je pomembno, da je vsak uporabniški dostop reguliran. To v StreamAI rešujemo s pomočjo prerokov, ki so zmo-žni pridobiti zunanje podatke in jih zapisati na verigo blokov. Uporabniki so lahko prepričani, da so ti podatki resnični, saj je bilo za njihov zapis potrebno strinjanje deležnikov v verigi blokov.

2.5.4 Hitre in poceni P2P transakcije

S pomočjo tehnologije veriženja blokov lahko hitro in nevtralno obdelujemo transakcije. Hitrost delovanja decentraliziranih aplikacij je v veliki meri odvi-sna od hitrosti delovanja Ethereumove mreže [74]. Tekom razvoja aplikacije običajno uporabljamo testna omrežja, ki se razlikujejo po načinu delovanja.

Testno omrežje Ropsten se obnaša kot glavna mreža (angl. main-net) in uporablja konsenzusni protokol dokaza o delu (angl. Proof-of-Work, PoW).

Testni omrežji Kovan in Rinkeby uporabljata konsenzusni protokol dokaza o avtoriteti (angl. Proof-of-Authority, PoA).

Dejstvo je, da so transakcije na verigi blokov počasnejše kot centralizirane

podatkovne baze, saj mora veriga blokov izvesti večje število operacij, da se transakcija dejansko izvede. Tri pomembne operacije, ki se morajo izvesti so:

preverjanje podpisa, konsenzusni mehanizmi in redundanca [75]. Vsekakor pa se moramo zavedati, da ima veriga blokov veliko prednost pri zagota-vljanju zanesljivega, varnega in robustnega načina za shranjevanje podatkov brez potrebe po intervenciji tretje osebe. Glede na vse izpostavljene predno-sti verige blokov, cena transakcij in nekoliko počasnejše delovanje sistema v določenih aplikacijskih domenah ne igrata tako velike vloge.

Poglavje 3

Zahteve po decentraliziranem ekosistemu

Tradicionalni informacijski sistemi, ki omogočajo organizacijam sodelovanje med uporabniki in deljenje informacij ter virov, se soočajo s pomanjklji-vostmi, kot sta varnost in transparentnost delovanja [76]. Zaradi tega mnoga podjetja že razvijajo decentralizirane alternative, ki z verigo blokov poskrbijo za nespremenljive in zaupanja vredne podatke, ne da bi se morali zanašati na osrednjo entiteto. V tem poglavju opišemo, zakaj je uporaba decentralizira-nega sistema smiselna iz različnih vidikov na konkretnem primeru aplikacije StreamAI.

3.1 Transparentnost

Transparentnost v programskem inženirstvu definiramo kot stopnjo, do ka-tere lahko zainka-teresirane strani (razvijalci programske opreme, projektni vodje, stranke in končni uporabniki) odgovorijo na svoja vprašanja z uporabo infor-macij, ki jih pridobijo o programskem sistemu v njegovem življenjskem ciklu [77]. Omenjena definicija sloni na treh atributih:

1. Dostopnost (angl. accessibility). Ta pojem se pojavlja v inžinirskih pa-nogah, med drugim v inženirstvu zahtev [78, 79], spletnih portalih [80]

23

in interakciji človek-računalnik [81, 82]. Pogosto dostopnost aplikacije povezujemo z njeno uporabnostjo. Doseči želimo, da jo lahko upora-bljajo različni profili uporabnikov, ne da bi pri tem imeli večje težave pri njenem razumevanju. Dostopnost predstavlja enega najpomemb-nejših atributov transparentnosti, saj morajo uporabniki najprej priti do podatkov, če želijo oceniti njihovo uporabnost. Ko je dostop uspe-šno pridobljen, lahko ocenjujemo še ostala dva atributa – razumljivost in ustreznost.

2. Razumljivost (angl. understandability). Ko uporabniki uspešno prido-bijo podatke, jih morajo razumeti. Če so podatki kompleksni, jih je preveč ali niso na voljo orodja za njihovo vizualizacijo in obdelavo, se lahko uporabnost programskega sistema drastično zmanjša [83]. Po-dročja, ki jih pokriva razumljivost so konceptualno modeliranje [84], dokumentacija [85] in inžinirstvo zahtev [86]. Pomen razumljivosti na transparentnost je velik, saj v primeru pomanjkanja razumljivosti upo-rabniki ne morejo oceniti, če informacija odgovarja na njihovo vpraša-nje.

3. Ustreznost (angl. relevance). Če uporabniki razumejo podatke, se poraja vprašanje, kako dobro te podatki odgovorijo na njihovo vpra-šanje. Sprašujemo se, kako hitro lahko uporabniki najdejo odgovor na vprašanje in kako tesno so podatki povezani z zastavljenim vprašanjem [87]. Zanima nas tudi, če so pridobljeni podatki na vprašanje odgovorili delno ali v celoti.

Z zavedanjem, da uporabniki potrebujejo čim večjo transparentnost sis-tema, lahko prilagodimo izbor tehnologij, ki nam to delo olajšajo ali impli-citno rešijo brez dodatnega napora. Odličen primer, kjer je transparentnost velika dodana vrednost, je gastronomski turizem [88]. Turistične destinacije in ponudniki, ki želijo delovati v kontekstu pametnega turizma, si morajo la-stiti najnovejšo tehnologijo. Ta poskrbi za garancijo, da so lokalni produkti originalni in preverjenega izvora. To lahko dosežemo z uporabo verige

blo-3.1. TRANSPARENTNOST 25

kov, ki vsebuje podatke o celotni verigi dobave izdelka. Vsak člen v dobavni verigi je opremljen z GPS sledilnikom, ki oddaja podatke o lokaciji izdelka.

Sistem vsebuje tudi naprave, ki zaznavajo optimalnost razmer shranjeva-nja. Kot rezultat je nastal sistem, kjer imajo uporabniki kljub kompleksnosti produkcijskega in distribucijskega okolja dostop do razumljivih podatkov, ki odgovorijo na njihova vprašanja o izvoru izbranega artikla.

Sistem StreamAI v določeni meri prav tako implementira zgoraj naštete atribute transparentnosti, kar pripomore k večjemu zaupanju uporabnikov v sistem. Atribute transparentnosti smo v StreamAI implementirali na nasle-dnji način:

1. Dostopnost. Vsi tipi uporabnikov imajo dostop do podatkov, ki so shra-njeni na verigi blokov. V našem primeru lahko kot podatke smatramo metode umetne inteligence, katerih metapodatki so shranjeni na verigi blokov in so enostavno dostopni preko uporabniškega vmesnika aplika-cije. Tam je med drugim možno pregledovati oznako javne Docker slike iz repozitorija Docker Hub, ceno najema na minuto, avtorja, potrebno količino delovnega pomnilnika, potrebno število procesorskih jeder in opis uporabe ter delovanja. Na enem mestu imajo uporabniki na voljo nespremenljive podatke o metodi umetne inteligence.

2. Razumljivost. Podatki niso zahtevni za razumevanje in naj bi bili razu-mni že osebi z osnovnim računalniškim znanjem. Pri vsakem podatku je zapisana tudi merska enota (npr. megabajt – MB), da ne pride do dvoumnosti pri interpretaciji.

3. Ustreznost. Ocenjujemo jo lahko predvsem za opis in uporabo me-tode umetne inteligence. Tam mora njen ustvarjalec natančno in na-zorno opisati namen metode, kakšen vhod pričakuje, kakšen je format izhodnih podatkov, kakšne so njene omejitve in dodatne opombe, ki koristijo bodočemu porabniku.