Performance Evaluation of Deep Neural Network Models Implemented in MLIR for Microcontrollers
Creators: name: Μπουζίκας, Γεώργιος Χρ.
Publisher: name: Aristotle University of Thessaloniki
Year: 2025
Subjects: Πληροφορική
Νευρονικά Δύκτια
Μικροελεγκτές
Informatics
Neural Networks
Microcontrollers

description: Η παρούσα διπλωματική εργασία επικεντρώνεται στην ανάπτυξη και τη βελτιστοποίηση βαθιών νευρωνικών δικτύων (Deep Neural Networks - DNNs) για μικροελεγκτές, οι οποίοι χαρακτηρίζονται από αυστηρούς περιορισμούς στη μνήμη και την υπολογιστική ισχύ. Η αυξανόμενη ανάγκη για εφαρμογές όπως το TinyML και η τεχνητή νοημοσύνη για εφαρμογές στα άκρα του δικτύου (Edge AI) έχει αναδείξει τη σημασία της αποδοτικής εκτέλεσης νευρωνικών δικτύων σε τοπικές συσκευές, ώστε να μειωθεί η εξάρτηση από το υπολογιστικό νέφος (cloud). Παρά την αξιοσημείωτη απόδοση των DNNs σε τομείς όπως η όραση υπολογιστών, η αναγνώριση προτύπων και η επεξεργασία φυσικής γλώσσας, η ενσωμάτωσή τους σε συσκευές περιορισμένων πόρων παραμένει πρόκληση λόγω των απαιτήσεων τους σε μνήμη και υπολογιστική ισχύ. Η εργασία διερευνά τη χρήση του περιβάλλοντος IREE (Integrated Runtime for Edge Execution) για την βελτιστοποίηση της εκτέλεσης νευρωνικών δικτύων σε μικροελεγκτές. Η ανάλυση επικεντρώνεται στον μικροελεγκτή STM32 NUCLEO-F411RE, ο οποίος διαθέτει επεξεργαστή ARM Cortex-M4 και περιορισμένους πόρους μνήμης (128 KB SRAM, 512 KB Flash). Εξετάζονται επίσης τεχνικές βελτιστοποίησης, όπως η ποσοτικοποίηση, η συγχώνευση κόμβων και η μείωση της αριθμητικής ακρίβειας. Αρχικά, σχεδιάστηκαν και αναπτύχθηκαν διάφορα νευρωνικά δίκτυα, όπως πλήρως συνδεδεμένα δίκτυα (fully connected), συνελικτικά νευρωνικά δίκτυα ( convolutional networks ή ConvNets) και δίκτυα με depthwise convolutional επίπεδα. Στόχος ήταν να διερευνηθεί η αποδοτικότητα αυτών των μοντέλων (και των αντίστοιχων επιπέδων) υπό συνθήκες αυστηρών περιορισμών πόρων. Το περιβάλλον IREE Bare-Metal ARM χρησιμοποιήθηκε για την ενσωμάτωση και βελτιστοποίηση των μοντέλων, ενώ το STM32CubeProgrammer χρησιμοποιήθηκε για την αποστολή των binaries στον μικροελεγκτή. Οι έξοδοι παρακολουθήθηκαν μέσω του PuTTY. Για την περαιτέρω βελτιστοποίηση των μοντέλων εφαρμόστηκαν τέσσερις τεχνικές του IREE: η εξάλειψη σταθερών υπολογισμών κατά την εκτέλεση (Constant Evaluation), η μείωση ακρίβειας δεδομένων (Numeric Precision Reduction), η μετακίνηση σταθερών εκφράσεων σε υψηλότερα επίπεδα του γραφήματος (Constant Expression Hoisting) και η αφαίρεση ελέγχων χρόνου εκτέλεσης (Assertion Stripping). Τα μοντέλα δοκιμάστηκαν αρχικά σε εικονικά περιβάλλοντα με τον προσομοιωτή Renode και στη συνέχεια αναπτύχθηκαν και εκτελέστηκαν στην πλακέτα ανάπτυξης του μικροελεγκτή. Οι μετρήσεις περιλάμβαναν χρόνους εκτέλεσης και αξιολόγηση της απόδοσης με και χωρίς βελτιστοποιήσεις. Τα αποτελέσματα υποδεικνύουν ότι οι βελτιστοποιήσεις βελτιώνουν σημαντικά την απόδοση για συγκεκριμένα μοντέλα. Τα μικρότερα μοντέλα, όπως πλήρως συνδεδεμένα και convolutional δίκτυα, εκτελέστηκαν επιτυχώς με βελτίωση χρόνου εκτέλεσης έως και 13% όταν εφαρμόστηκαν όλες οι βελτιστοποιήσεις. Ωστόσο, τα μεγαλύτερα μοντέλα, όπως το AlexNet και το MobileNet, δεν ήταν εφικτό να εκτελεστούν λόγω περιορισμών μνήμης και υπολογιστικής ισχύος. Ακόμα και μετά την εφαρμογή ποσοτικοποίησης, οι απαιτήσεις μνήμης παρέμειναν πολύ υψηλές για το διαθέσιμο υλικό. Η μείωση της αριθμητικής ακρίβειας αποδείχθηκε η πιο αποτελεσματική τεχνική, μειώνοντας σημαντικά τον χρόνο εκτέλεσης χωρίς απώλεια ακρίβειας στα αποτελέσματα. Για πιο πολύπλοκα μοντέλα, οι συνδυασμένες βελτιστοποιήσεις απέδωσαν τις μεγαλύτερες βελτιώσεις, μειώνοντας τον χρόνο εκτέλεσης κατά περισσότερο από 12%. Η εργασία αποδεικνύει τη δυνατότητα εφαρμογής DNNs σε μικροελεγκτές, υπό την προϋπόθεση ότι εφαρμόζονται οι κατάλληλες τεχνικές βελτιστοποίησης. Τα αποτελέσματα παρέχουν σαφείς κατευθύνσεις για τη σχεδίαση μοντέλων που ισορροπούν την απόδοση με τους περιορισμούς που τίθενται από τις υπολογιστικές δυνατότητες των συσκευών. Αποδεικνύεται ότι τα μικρότερα και πιο προσαρμοσμένα μοντέλα, σχεδιασμένα ειδικά για να λειτουργούν αποδοτικά σε περιβάλλοντα με περιορισμένους πόρους, είναι πιο κατάλληλα για μικροελεγκτές. Αντίθετα, τα μεγαλύτερα μοντέλα απαιτούν προηγμένες τεχνικές βελτιστοποίησης, όπως το pruning και το knowledge distillation, για να καταστούν λειτουργικά σε τέτοιες πλατφόρμες με αποδεκτή απόδοση. Η μελλοντική εργασία θα επικεντρωθεί στην ανάπτυξη προηγμένων τεχνικών βελτιστοποίησης και στην ενσωμάτωσή τους σε άλλα περιβάλοντα και πλατφόρμες (μικροελεγκτές), όπως οι ARM Cortex-M7 και Cortex-M33. Η διερεύνηση τεχνολογιών όπως η νευρωνική αρχιτεκτονική αναζήτησης (Neural Architecture Search - NAS) και η δυναμική ποσοτικοποίηση αναμένεται να επεκτείνει τη χρησιμότητα της τεχνητής νοημοσύνης σε ακόμη πιο απαιτητικές εφαρμογές, ενισχύοντας την αποδοτικότητα και την ευελιξία σε περιβάλλοντα περιορισμένων πόρων.
description: Deep Neural Networks (DNNs) have revolutionized machine learning by enabling automatic feature extraction and hierarchical learning. However, their high computational and memory requirements pose significant challenges for deployment in resource-constrained environments, such as microcontrollers and edge devices. This thesis explores optimization techniques for deploying DNNs on microcontrollers, specifically leveraging the Multi-Level Intermediate Representation (MLIR)-based Integrated Runtime for Edge Execution (IREE) framework. The research systematically evaluates the impact of IREE optimization flags, including constant evaluation, numeric precision reduction, and assertion removal, on neural network models of varying complexities. Models are tested on the STM32 NUCLEO-F411RE microcontroller, with results highlighting significant improvements in runtime and efficiency for smaller models, while larger models encounter constraints such as memory overflow and execution errors. Our experimental findings underscore the effectiveness of optimization techniques in balancing computational demands with resource limitations, providing practical insights into the design and deployment of ML models in constrained environments. The contributions of this thesis include benchmarking the performance of optimized models, identifying trade-offs in model complexity, and proposing resource-aware strategies for embedded AI applications. Future work involves exploring advanced techniques, such as model pruning and knowledge distillation, and extending compatibility to a broader range of microcontrollers, paving the way for more intelligent and efficient IoT and edge computing solutions.