Mobilno računalništvo je v zadnjem desetletju prineslo izjemno inovativnost in na novo opredelilo naš pristop k komunikaciji, iskanju informacij in odločanju. Z naraščajočim zanašanjem na mobilne naprave postaja vse bolj pomembno, da se mobilno računalništvo še naprej širi.
Izboljšave strojne opreme in gostejše pakiranje tranzistorjev sta v zadnjem desetletju bile glavne metodi za potešitev našega računalniškega apetita. Toda nedavno je postalo očitno, da niti Moorejev zakon, ki navaja, da se število tranzistorjev na mikročipu podvoji vsaki dve leti, niti Dennardovo skaliranje, zakon, ki navaja, da ko se tranzistorji zmanjšajo, poraba energije ostane sorazmerna s površino, veljata več. Posledično bo nadaljnje večanje zmogljivosti strojne opreme zahtevalo več prostora in več energije (posledično tudi večje baterije), česar si prenosne mobilne naprave ne morejo privoščiti. Kljub temu, mobilno računalništvo še naprej potrjuje svojo osrednjo vlogo v našem vsakdanjem življenju, mu zaupamo vedno večje število zapletenih računskih nalog. Računalniški vid, prepoznavanje govora, sledenje fizični aktivnosti in priporočila na podlagi lokacije so le nekatere naloge, za katere pričakujemo, da jih bodo morale rešiti naše mobilne naprave. Te nove aplikacije temeljijo na računsko zahtevnih izračunih, pogosto se zanašajo na globoke nevronske mreže in že maksimalno obremenjujejo računske zmožnosti mobilnih naprav. Ko raste naša apetit za računanje, postaja jasno, da (ne)zmožnosti strojne opreme močno ogrožajo mobilne inovacije.
S predlaganim projektom želimo zagotoviti prihodnje širjenje mobilnega računalništva, zlasti mobilnega globokega učenja, s pionirskim pristopom kontekstualnega približnega računalništva na mobilnih napravah (CODA). Namesto da bi izboljševali strojno opremo, uvajamo nadzorovano zmanjšanje računalniške natančnosti, ki ohranja vire, s tem pa tudi količino izračuna, ki je potrebna za dokončanje naloge. CODA temelji na vpogledu v to, da ni nujno da je rezultat popolnoma natančen, da lahko izpolni potrebe uporabnika. Opažamo, da potrebe glede na kontekst obstajajo v različnih aplikacijah: od mobilne aplikacije za oskrbo starejših, ki mora biti natančnejša pri odkrivanju dejavnosti (npr. padcev), ko je uporabnik sam, v primerjavi s tem, ko je uporabnik v družbi skrbnika, do aplikacije osebnega asistenta, ki lahko poda nekoliko premešan vrstni red priporočil, ko uporabnik povpraša po bližnjih restavracijah, vendar bi moral dati priporočila najvišje kakovosti, ko uporabnik postavi vprašanje v zvezi z zdravljenjem.
Za uresničitev CODA bomo:
- Omogočili izvajanje računanja spremenljive natančnosti na mobilnih napravah in raziskali prostor, ki ga rišejo natančnost računanja in poraba virov mobilne naprave.
- Modelirali dovzetnost uporabnikov za približne rezultate v različnih kontekstih.
- Nadzirali in prilagajali približno izvajanje v realnem času, in s tem bomo zmanjšali porabo virov, hkrati pa izpolnili uporabnikove zahteve glede natančnosti rezultata v danem kontekstu.
CODA projekt bo občutno zmanjšal količino virov, potrebnih za dokončanje naloge v mobilni napravi, in tako zagotovil podlago za prihodnje napredne aplikacije. Temeljneje bo premostil vrzel med uporabniškimi pričakovanji in rezultatom računanja, ter razširil dimenzionalnost prostora za optimizacijo mobilnega računalništva.
Projekt bo zagotovil celostni cevovod za ustvarjanje kontekstualnih približnih aplikacij za mobilno računalništvo in bo vključeval: vmesnik Keras, ki razvijalcu omogoča določitev približnih delov kode, profiler, ki izračuna najprimernejše približke za zahtevano stopnjo natančnosti rezultata, knjižnicao vzorčenja izkušenj in zaznavanja konteksta za ugotavljanje uporabnikovih potreb, nadzorni sistem za prilagoditev približnega računanja v realnem času glede na različne potrebe in distribucijski sistem odjemalec-strežnik za pripravo in upravljanje z aplikacijami CODA. Nazadnje bomo razvili aplikacijo za varno turno smuko, ki demonstrira prilagoditev približnega računanja in temelji na zaznavanju konteksta, ter bomo ovrednotili prihranek virov, ki ga CODA prinaša.
Faze projekta
Projekt je sestavljen iz štirih delovnih paketov (WP):
1. Impelementacija in profiliranje aproksimacij; kjer bomo prinesli tehnike približnega računanja na mobilne naprave. Poleg tega bomo zasnovali profiler za učinkovito prepoznavanje najbolj obetavnih konfiguracij zgoraj omenjenih tehnik.
2. Modeliranje pričakovanj glede natančnosti rezultata odvisno od konteksta uporabe; kjer bodo ocenjene uporabnikove potrebe glede natančnosti računanja. V ta namen bomo na mobilnih napravah implementirali metodo vzorčenja izkušenj.
3. Spremljanje in nadzor izvajanja v realnem času; kjer se bo spremljala natančnost izračunanega rezultata in kjer se bodo po potrebi dinamično nalagale približne konfiguracije.
4. Integracija in študije primerov; kjer bomo razvite elemente ogrodja CODA združili v popolno mobilno aplikacijo; aplikacija bo dostavljena dejanskim uporabnikom, prednosti približnega mobilnega računalništva pa bodo temeljito ovrednotene.
Bibliografske reference projekta
T. Knez, O. Machidon, and V. Pejovic
Self-Adaptive Approximate Mobile Deep Learning
Electronics (2021)
O. Machidon, D. Sluga, and V. Pejovic
Queen Jane Approximately: Enabling Efficient Neural Network Inference with Context-Adaptivity
EuroMLSys workshop with EuroSys 2021
O. Machidon, T. Fajfar, and V. Pejovic
Watching the Watchers: Resource-Efficient Mobile Video Decoding through Context-Aware Resolution Adaptation
EAI MobiQuitous 2020
V. Pejovic
Towards Approximate Mobile Computing
ACM GetMobile Magazine, Vol 22(5), December, 2018