Περίληψη
Η ραγδαία εξέλιξη των εφαρμογών Τεχνητής Νοημοσύνης (Artificial Intelligence, AI) και η συνεχώς αυξανόμενη πολυπλοκότητα των συνελικτικών νευρωνικών δικτύων (CNNs) έχουν οδηγήσει σε έντονη αύξηση των υπολογιστικών και ενεργειακών απαιτήσεων, ιδιαίτερα σε συστήματα edge με αυστηρούς περιορισμούς πόρων. Η αποδοτική επιτάχυνση της διαδικασίας εξαγωγής συμπερασμάτων (inference) σε τέτοια περιβάλλοντα απαιτεί αρχιτεκτονικές που μειώνουν δραστικά το κόστος πρόσβασης και μεταφοράς δεδομένων από και προς τη μνήμη του υπολογιστικού συστήματος, αντιμετωπίζοντας το λεγόμενο φράγμα μνήμης (memory wall), το οποίο επιδεινώνεται από τον μεγάλο όγκο δεδομένων που απαιτείται να μετακινηθεί σε κάθε στάδιο υπολογισμού. Παράλληλα, απαιτείται αποδοτική υποστήριξη των συνελικτικών πράξεων (Convolutions), που αποτελούν το βασικό υπολογιστικό φορτίο των σύγχρονων CNNs, οι οποίες μπορούν να αναδιατυπωθούν ισοδύναμα ως πράξεις Matrix–Vector Multiplication (MVM). Η ανάγκη περιορισμού της μεταφοράς δεδομένων και ...
Η ραγδαία εξέλιξη των εφαρμογών Τεχνητής Νοημοσύνης (Artificial Intelligence, AI) και η συνεχώς αυξανόμενη πολυπλοκότητα των συνελικτικών νευρωνικών δικτύων (CNNs) έχουν οδηγήσει σε έντονη αύξηση των υπολογιστικών και ενεργειακών απαιτήσεων, ιδιαίτερα σε συστήματα edge με αυστηρούς περιορισμούς πόρων. Η αποδοτική επιτάχυνση της διαδικασίας εξαγωγής συμπερασμάτων (inference) σε τέτοια περιβάλλοντα απαιτεί αρχιτεκτονικές που μειώνουν δραστικά το κόστος πρόσβασης και μεταφοράς δεδομένων από και προς τη μνήμη του υπολογιστικού συστήματος, αντιμετωπίζοντας το λεγόμενο φράγμα μνήμης (memory wall), το οποίο επιδεινώνεται από τον μεγάλο όγκο δεδομένων που απαιτείται να μετακινηθεί σε κάθε στάδιο υπολογισμού. Παράλληλα, απαιτείται αποδοτική υποστήριξη των συνελικτικών πράξεων (Convolutions), που αποτελούν το βασικό υπολογιστικό φορτίο των σύγχρονων CNNs, οι οποίες μπορούν να αναδιατυπωθούν ισοδύναμα ως πράξεις Matrix–Vector Multiplication (MVM). Η ανάγκη περιορισμού της μεταφοράς δεδομένων και αποδοτικής υλοποίησης πράξεων MVM έχει οδηγήσει στην ανάπτυξη νέων αρχιτεκτονικών, με κυριότερο παράδειγμα το υπολογιστικό πρότυπο In-Memory Computing (IMC). Το IMC αξιοποιεί τη μαζική παραλληλία που προσφέρουν οι μνήμες αποθήκευσης, μεταφέροντας τον υπολογισμό κοντά στο σημείο που βρίσκονται αποθηκευμένα τα δεδομένα. Με τον τρόπο αυτό επιτυγχάνεται σημαντική μείωση του κόστους μεταφοράς, ενώ παράλληλα ενισχύεται η ενεργειακή αποδοτικότητα και ο ρυθμός επεξεργασίας, ιδιαίτερα σε πράξεις MVM που κυριαρχούν στα CNN workloads. Η παρούσα διατριβή εστιάζει στην αξιοποίηση Non-Volatile μνημών (NVM) για την υλοποίηση διατάξεων IMC, καθώς προσφέρουν μεγαλύτερη πυκνότητα αποθήκευσης. Στις υλοποιήσεις αυτές, οι πράξεις MVM πραγματοποιούνται σε αναλογική μορφή, όπου τα βάρη κωδικοποιούνται σε τιμές αγωγιμότητας και οι υπολογισμοί υλοποιούνται μέσω αναλογικών ρευμάτων και τάσεων. Ωστόσο, οι μη-ιδανικότητες (non-idealities) που εισάγονται από τις αναλογικές αυτές υλοποιήσεις, όπως η παρουσία θορύβου, η μεταβλητότητα και οι μη γραμμικότητες, καθώς και η ετερογενής φύση των υβριδικών αρχιτεκτονικών που ενσωματώνουν επιταχυντές IMC μαζί με συμβατικές ψηφιακές μονάδες σε System-on-Chips (SoCs) σχεδιασμένα για την επιτάχυνση της εκτέλεσης συνελικτικών νευρωνικών δικτύων (CNN inference), καθιστούν την αξιολόγηση της συνολικής συστημικής συμπεριφοράς ιδιαίτερα απαιτητική. Η υφιστάμενη βιβλιογραφία επικεντρώνεται κυρίως σε εργαλεία προσομοίωσης χαμηλού επιπέδου και μελέτες σε επίπεδο συσκευής (device-level), καθώς και σε πειραματικές υλοποιήσεις πυριτίου, ενώ παραμένει περιορισμένη η έμφαση σε εργαλεία που υποστηρίζουν συστημική αξιολόγηση σε πλήρες αρχιτεκτονικό επίπεδο. Τέτοια εργαλεία, όπως οι εξομοιωτές (emulators), έχουν αξιοποιηθεί με ιδιαίτερη επιτυχία σε άλλους τεχνολογικούς τομείς, όπου έχουν διευκολύνει σημαντικά τη μελέτη, την ανάλυση και τη λήψη σχεδιαστικών αποφάσεων μέσω παραμετροποίησης, παρατηρησιμότητας και επαναληψιμότητας. Η διατριβή εισάγει τον In-Memory Computing Emulator (IMCE), μία πλατφόρμα εξομοίωσης επιπέδου συστήματος (SoC), σχεδιασμένη για τη μελέτη της εκτέλεσης συνελικτικών νευρωνικών δικτύων σε υβριδικές AIMC–Digital αρχιτεκτονικές. Ο IMCE υλοποιείται ως πλήρες σύστημα που συνδυάζει ετερογενείς μονάδες επεξεργασίας (Processing Units – PUs), συμπεριλαμβανομένων μονάδων που προσομοιώνουν τη λειτουργική συμπεριφορά αναλογικών IMC επιταχυντών (AIMC PUs) και πλήρως ψηφιακών μονάδων επεξεργασίας (DPUs), μαζί με τους αντίστοιχους μηχανισμούς διασύνδεσης, συντονισμού και εκτέλεσης. Μέσω ενός ολοκληρωμένου λογισμικού υπόβαθρου (software stack), η πλατφόρμα εκτελεί πραγματικά νευρωνικά μοντέλα και συλλέγει εκτεταμένα στατιστικά κατά την εκτέλεση, επιτρέποντας ελεγχόμενα και επαναλήψιμα πειράματα σε ολόκληρη τη ροή επεξεργασίας του μοντέλου (inference pipeline). Η αρχιτεκτονική του IMCE αναπαριστά ένα τυπικό edge AI chip, όπου συνυπάρχουν ετερογενείς υπολογιστικές μονάδες με αυστηρούς περιορισμούς πόρων. Παράλληλα, είναι επεκτάσιμη και κατανεμημένη, υποστηρίζοντας την παραμετροποίηση του πλήθους, του τύπου και της τοπολογίας των PUs, καθώς και την υπέρβαση των ορίων ενός μεμονωμένου chip μέσω δυναμικής προσθήκης υπολογιστικών μονάδων, τοπικά ή απομακρυσμένα. Η δυνατότητα αυτή καθιστά εφικτή την εκτέλεση και τη συστηματική αξιολόγηση πολύπλοκων και ετερογενών νευρωνικών μοντέλων που απαιτούν πολλαπλές συνεργαζόμενες PUs, στο ίδιο ενοποιημένο πλαίσιο. Η πλατφόρμα IMCE παρέχει εκτεταμένα, παραμετροποιήσιμα στατιστικά εκτέλεσης, τα οποία χρησιμοποιούνται σε πολλαπλά επίπεδα αξιολόγησης: από τον υπολογισμό της ακρίβειας και την αποτίμηση της υπολογιστικής απόδοσης, έως τη βελτιστοποίηση της αντιστοίχισης των κόμβων του CNN δικτύου σε PUs και την κατανόηση της δυναμικής συμπεριφοράς του συστήματος κατά το runtime. Η λειτουργική ορθότητα και η αξιοπιστία της πλατφόρμας επαληθεύονται πειραματικά σε συνελικτικά και συναφή inference workloads, όπως δίκτυα τύπου ResNet και YOLO. Υπό ιδανικές συνθήκες μνήμης, δηλαδή αγνοώντας τις αναλογικές μη-ιδανικότητες που χαρακτηρίζουν τις υλοποιήσεις που βασίζονται σε NVM μνήμες, η ακρίβεια του IMCE είναι συγκρίσιμη με αντίστοιχες ψηφιακές υλοποιήσεις κβαντισμένης ακρίβειας (INT8), τεκμηριώνοντας τη δυνατότητα αξιόπιστης εκτέλεσης CNN μοντέλων. Επιπλέον, αξιοποιώντας τα δεδομένα που συλλέγονται κατά τη λειτουργία της πλατφόρμας, διατυπώνεται και μελετάται το πρόβλημα της αντιστοίχισης των κόμβων ενός CNN δικτύου σε ετερογενείς πόρους AIMC και DPU. Η ανάλυση επικεντρώνεται στους κόμβους που εκτελούνται σε AIMC μονάδες, δεδομένου ότι αντιπροσωπεύουν τη συντριπτική πλειονότητα και περιλαμβάνουν τις πιο υπολογιστικά απαιτητικές πράξεις του μοντέλου. Η μελέτη βασίζεται σε μετρικές χρόνων εκτέλεσης και απαιτήσεων μνήμης για την αποθήκευση των βαρών ανά κόμβο (αποθηκευτικό αποτύπωμα), καθώς και στην τοπολογία του υπολογιστικού γράφου, με έμφαση στην κρίσιμη διαδρομή, δηλαδή τη διαδρομή με τον μεγαλύτερο συνολικό χρόνο εκτέλεσης, και στους παράλληλους κλάδους του γράφου. Η αξιολόγηση πραγματοποιείται σε δίκτυα τύπου ResNet και σε τεχνητά, ελεγχόμενα δίκτυα CoMes27, επιτρέποντας την απομόνωση και την ανάλυση τοπολογικών και αρχιτεκτονικών παραγόντων. Τα αποτελέσματα δείχνουν ότι οι αλγόριθμοι αντιστοίχισης κόμβων που λαμβάνουν υπόψη τον συνολικό υπολογιστικό φόρτο και την τοπολογία του γράφου (load-aware και topology-aware) επιτυγχάνουν υψηλότερο ρυθμό επεξεργασίας και χαμηλότερη συνολική καθυστέρηση από άκρο σε άκρο (end-to-end latency). Αντιθέτως, απλοποιημένοι αλγόριθμοι που βασίζονται στην τυχαία κατανομή (random) ή στην κυκλική ανάθεση (round-robin) των κόμβων, ή μέθοδοι που βασίζονται αποκλειστικά στην ισοκατανομή της μνήμης ή του αριθμού των κόμβων ανά PU, παρουσιάζουν αισθητή υποβάθμιση της απόδοσης. Για τη ρεαλιστική αξιολόγηση υβριδικών AIMC–Digital συστημάτων, η ανάλυση επικεντρώνεται στον θόρυβο που εισάγεται από τις αναλογικές μονάδες που βασίζονται σε Phase-Change Memory (PCM). Προς αυτήν την κατεύθυνση, ενσωματώνονται παραμετροποιήσιμα μοντέλα θορύβου PCM και εισάγεται το General PCM Model (GPM) ως ενιαίο και ευέλικτο πλαίσιο περιγραφής θορύβου. Το GPM καλύπτει δύο αντιπροσωπευτικά μοντέλα PCM, επιτρέποντας συνεπή και συγκρίσιμη noise-aware ανάλυση της αντιστοίχισης των αναλογικών κόμβων στις διαφορετικές μονάδες επεξεργασίας του συστήματος. Με τον τρόπο αυτό επιτρέπεται η ποσοτική αποτίμηση των συμβιβασμών ακρίβειας–απόδοσης υπό ρεαλιστικές συνθήκες PCM θορύβου. Συμπερασματικά, η διατριβή τεκμηριώνει ότι η αποτελεσματική αξιοποίηση υβριδικών AIMC–Digital αρχιτεκτονικών για την εκτέλεση CNN inference απαιτεί τη συν-βελτιστοποίηση της αρχιτεκτονικής, της διασύνδεσης, της αντιστοίχισης κόμβων σε PUs και της ανθεκτικότητας σε φαινόμενα αναλογικού θορύβου. Ο IMCE προσφέρει ένα ελεγχόμενο και επεκτάσιμο περιβάλλον εξομοίωσης, το οποίο γεφυρώνει τη θεωρητική ανάλυση με τη ρεαλιστική υλοποίηση σε πυρίτιο, υποστηρίζοντας τεκμηριωμένο αρχιτεκτονικό σχεδιασμό πριν από την τελική υλοποίηση.
περισσότερα
Περίληψη σε άλλη γλώσσα
The rapid evolution of Artificial Intelligence (AI) applications and the continuously increasing complexity of Convolutional Neural Networks (CNNs) have led to a significant rise in computational and energy demands, particularly in edge systems with strict resource constraints. The efficient acceleration of the inference process in such environments requires architectures that drastically reduce the cost of accessing and transferring data to and from memory, addressing the so-called memory wall, which is exacerbated by the large volume of data that must be moved at each computational stage. At the same time, efficient support for convolution operations, which constitute the main computational workload of modern CNNs and can be equivalently reformulated as Matrix–Vector Multiplication (MVM) operations, is required. The need to reduce data movement and efficiently implement MVM operations has led to the development of new architectures, with In-Memory Computing (IMC) being a prominent ex ...
The rapid evolution of Artificial Intelligence (AI) applications and the continuously increasing complexity of Convolutional Neural Networks (CNNs) have led to a significant rise in computational and energy demands, particularly in edge systems with strict resource constraints. The efficient acceleration of the inference process in such environments requires architectures that drastically reduce the cost of accessing and transferring data to and from memory, addressing the so-called memory wall, which is exacerbated by the large volume of data that must be moved at each computational stage. At the same time, efficient support for convolution operations, which constitute the main computational workload of modern CNNs and can be equivalently reformulated as Matrix–Vector Multiplication (MVM) operations, is required. The need to reduce data movement and efficiently implement MVM operations has led to the development of new architectures, with In-Memory Computing (IMC) being a prominent example. IMC exploits the massive parallelism offered by memory arrays by moving computation closer to where data are stored. In this way, a significant reduction in data transfer cost is achieved, while energy efficiency and processing throughput are enhanced, particularly for MVM operations that dominate CNN workloads. This dissertation focuses on the use of Non-Volatile Memories (NVMs) for implementing IMC arrays, as they offer higher storage density. In these implementations, MVM operations are performed at the analog level, where weights are encoded as conductance values and computations are carried out through analog currents and voltages. However, the non-idealities introduced by these analog implementations, such as noise, variability, and nonlinearities, as well as the heterogeneous nature of hybrid architectures that integrate IMC accelerators with conventional digital units in System-on-Chip (SoC) platforms designed for CNN inference acceleration, make the evaluation of overall system behavior particularly challenging. Existing literature mainly focuses on low level simulation tools and device-level studies, as well as experimental silicon implementations, while limited emphasis is placed on tools that support system-level evaluation at a full architectural scale. Such tools, including emulators, have been successfully employed in other technological domains, significantly facilitating analysis and design decision-making through parameterization, observability, and repeatability. This dissertation introduces the In-Memory Computing Emulator (IMCE), a system-level emulation platform designed for studying CNN execution on hybrid analog–digital architectures (AIMC-Digital). IMCE is implemented as a complete system that integrates heterogeneous Processing Units (PUs), including units that emulate the functional behavior of analog IMC accelerators (AIMC PUs) and fully digital processing units(DPUs), together with their corresponding interconnection, coordination, and execution mechanisms. Through a comprehensive software stack, the platform executes real neural models and collects extensive runtime statistics, enabling controlled and repeatable experiments across the entire inference pipeline. The architecture of IMCE represents a typical edge AI chip, where heterogeneous computing units coexist under strict resource constraints. At the same time, it is inherently scalable and distributed, supporting parameterization of the number, type, and topology of PUs, as well as the extension beyond a single chip through dynamic addition of local or remote computing units. This capability enables the execution and systematic evaluation of complex and heterogeneous neural models requiring multiple cooperating PUs within a unified framework. The IMCE platform provides extensive, configurable execution statistics, which are used at multiple levels of evaluation: from accuracy estimation and performance assessment to optimization of CNN node-to-PU mapping and understanding of system dynamic behavior at runtime. The functional correctness and reliability of the platform are experimentally validated on convolutional and related inference workloads, such as ResNet and YOLO networks. Under ideal memory conditions, that is, ignoring the analog non-idealities of NVM-based implementations, the accuracy of IMCE is comparable to that of corresponding quantized digital implementations (INT8), demonstrating the feasibility of reliable CNN model execution. Furthermore, by leveraging the data collected during platform operation, the problem of mapping CNN graph nodes to heterogeneous AIMC and DPU resources is formulated and studied. The analysis focuses on nodes executed on AIMC units, as they represent the vast majority and include the most computationally demanding operations. The study is based on execution-time metrics, memory requirements for storing per node weights (storage footprint), and the topology of the computational graph, with emphasis on the critical path, that is, the path with the largest total execution time, and on parallel branches. The evaluation is conducted on ResNet-type networks as well as on controlled synthetic CoMes27 networks, enabling the isolation and analysis of topological and architectural factors. The results show that node-mapping algorithms that take into account overall computational load and graph topology (load-aware and topology aware)achieve higher throughput and lower end-to-end latency. In contrast, simplified algorithms, such as random assignment, round-robin scheduling, or methods based solely on equalizing memory usage or node count per PU, exhibit noticeable performance degradation. For realistic evaluation of hybrid AIMC–Digital systems, the analysis focuses on noise introduced by analog units based on Phase-Change Memory (PCM). To this end, parameterizable PCM noise models are incorporated, and the General PCM Model (GPM) is introduced as a unified and flexible framework for noise description. GPM covers two representative PCM models, enabling consistent and comparable noise-aware analysis of analog node mapping across different processing units. In this way, quantitative assessment of accuracy–performance trade-offs under realistic PCM noise conditions becomes possible. In conclusion, this dissertation demonstrates that effective utilization of hybrid AIMC–Digital architectures for CNN inference requires co-optimization of architecture, interconnection, node-to-PU mapping, and robustness to analog noise phenomena. IMCE provides a controlled and extensible emulation environment that bridges theoretical analysis and realistic silicon implementation, supporting informed architectural design prior to final deployment.
περισσότερα