izpis_h1_title_alt

Deep Inference Optimization for Real-Time Edge Deployment on Microcontrollers
ID Nikodinovska, Angela (Author), ID Perš, Janez (Mentor) More about this mentor... This link opens in a new window, ID Koporec, Gregor (Comentor)

.pdfPDF - Presentation file, Download (7,53 MB)
MD5: 6E50C55EEA4B76BFF4C6FF9FB8F6D1A5

Abstract
In recent years, Artificial Intelligence (AI) has made remarkable advancements, revolutionizing various industries by enabling intelligent decision-making and automation. The rapid growth of AI applications has led to an increased demand for real-time inference. Our aim has been to implement edge AI technology by investigating the feasibility of deploying our existing AI cloud-model on a microcontroller, enabling real-time inference. Moving the AI model from the cloud to the edge offers several advantages, including reduced latency, improved privacy, enhanced reliability, and cost-effectiveness. However, migrating the current AI model to a microcontroller presented technical challenges due to the limited computational resources and memory constraints of such devices. Conventional optimization techniques like pruning and weight clustering were inadequate for microcontrollers. We found that quantization significantly reduced the model size, making it a viable solution. Our secondary objective has been to explore alternative AI models more compatible with edge computing. We tested various models, including MobileNetV2, EfficientNetB0, ResNet50 and CNN-LSTM and developed a novel approach to decrease model size while maintaining accuracy. To ensure a cost-effective solution, we investigated different microcontrollers suitable for edge AI and selected the STM32H747 and ESP32-S3 for evaluation.

Language:English
Keywords:edge AI, image classification, neural networks, deep learning, microcontrollers
Work type:Master's thesis/paper
Organization:FE - Faculty of Electrical Engineering
Year:2024
PID:20.500.12556/RUL-160437 This link opens in a new window
COBISS.SI-ID:208926979 This link opens in a new window
Publication date in RUL:28.08.2024
Views:295
Downloads:72
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:Slovenian
Title:Optimizacija metod globoke inference za sprotno izvajanje na mikrokrmilnikih
Abstract:
Umetna inteligenca (UI) je v zadnjih letih naredila izjemen napredek in revolucionirala različne industrije z omogočanjem inteligentnega odločanja in avtomatizacije. Zaradi hitre rasti aplikacij umetne inteligence se je povečalo povpraševanje po odločanju v realnem času. Cilj magistrskega dela je bil raziskati možnosti prenosa tehnologije umetne inteligence iz oblaka na rob, torej na mikrokrmilnik, ki omogoča odločanje v realnem času. Premik modela iz oblaka na rob ponuja številne prednosti, ki vključujejo zmanjšanje zakasnitve, izboljšanje zasebnosti, večjo zanesljivost in optimizacijo stroškov. Pri prenosu trenutno uporabljenega modela umetne inteligence na mikrokrmilnik smo naleteli na tehnične izzive zaradi omejenih računskih virov in pomnilniških omejitev tovrstnih naprav. Preizkusili smo več tehnik optimizacije, da bi dosegli zmanjšanje velikosti modela. Zaključili smo, da običajne tehnike optimizacije, kot sta obrezovanje in združevanje uteži, niso primerne za uporabo z mikrokrmilniki. Po drugi strani pa je kvantizacija znatno zmanjšala velikost modela in se je tako izkazala za primerno rešitev v našem primeru. Sekundarni cilj tega dela je bil raziskati, kateri modeli računalniškega vida so najbolj primerni za uporabo v robnem računalništvu. Preizkusili smo različne modele, vključno z MobileNetV2, EfficientNetB0, ResNet50 in CNNLSTM, ter razvili drugačen pristop za zmanjšanje velikosti modela ob ohranjanju natančnosti. Naša metoda torej efektivno zmanjšuje velikost modela brez izgube njegove natančnosti. Uporabili smo prednaučene modele, iz katerih smo uporabili samo plasti določevalnika značilk. Prvi korak pri zmanjševanju velikosti modela je bil odstranitev zadnje plasti iz določevalnika značilk. Če je bila velikost modela še vedno prevelika, smo odstranili plasti, ki vsebujejo zapletene značilke, specifične za originalni primer uporabe. V nasprotnem primeru smo obdržali vse plasti določevalnika značilk. V obeh primerih smo dobljene plasti določevalnika značilk zamrznili in doučili razvrščevalnik na naši učni množici. Nato smo model doučili tako, da smo odmrznili plasti določevalnika značilk z izjemo plasti za normalizacijo paketov. Z zamrznitvijo plasti normalizacije paketov smo ohranili pridobljene statistične podatke iz nabora učne množice ImageNet, kot je opisano v [1]. Ker opisani postopek še vedno ni zadoščal za pridobitev modela, ki bi se lahko izvajal na mikrokrmilniku, smo za bolj efektivne izračune in dodatno zmanjšanje velikosti modela uporabili postopek kvantizacije. Obstajajo različne metode kvantizacije modela. Najenostavnejši tip je kvantizacija že naučenega modela. Drugi tip kvantizacije je kvantizacijsko ozaveščeno učenje, ki omogoča učenje modela s pomočjo simulacije celoštevilskega modela, kar omogoča doseganje bolj natančnih rezultatov. Poleg natančnosti razpoznavanja modela je za našo uporabo pomembna tudi cena končne rešitve in čas, potreben za inferenco. V ta namen smo preizkusili dva mikrokrmilnika, ki nimata posebne strojne opreme, prilagojene za nevronske mreže, STM32H747 in ESP32-S3. Za izvajanje modelov na izbranih mikrokrmilnikih obstajajo številne programske rešitve, odvisno od družine mikrokrmilnikov. Za mikrokrmilnik STM32 smo uporabili X-CUBE-AI, za ESP32 pa TensorFlow Lite za mikrokrmilnike. Izvedli smo večje število eksperimentov. Začeli smo s tem, da smo naučili le razvrščevalnik ob zamrznjenem določevalniku značilk in dobili rezultate, ki še niso bili zadovoljivi. Nadaljevali smo z uglaševanjem vseh slojev modelov, pri čemer smo dosegli precejšnje izboljšanje rezultatov. S to metodo smo dosegli v povprečju 20% izboljšanje rezultatov. Eksperimente smo nadaljevali z uporabo obeh postopkov kvantizacije in prišli do pomembnih ugotovitev. Pri uporabi kvantizacije naučenega modela je prišlo do padca natančnosti, med tem ko smo z uporabo kvantizacijsko ozaveščenega učenja uspeli doseči celo boljši rezultat kot z njegovo različico pred kvantizacijo. Tako smo prišli do pomembnega zaključka, da kvantizacija ne pomeni nujno poslabšanja delovanja modela. Na koncu smo izmerili še čas inference na obeh mikrokrmilnikih in med seboj primerjali rezultate vseh naučenih modelov. Izkazalo se je, da je čas inference modelov na mikrokrmilniku STM32 bistveno hitrejši v primerjavi z mikrokrmilnikom ESP32. Med preizkušenimi modeli smo najboljše rezultate dosegli z MobileNetV2, ki je v metriki makro F1 dosegel rezultat 79% za nekvantiziran model in 82% za kvantiziran model, pri čemer je čas inference znašal 155.999 ms.

Keywords:umetna inteligenca na robu, razvrščanje slik, nevronske mreže, globoko učenje, mikrokrmilniki

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back