Περίληψη
Η εξαγωγή συμπερασμάτων (inference) σε βαθιά νευρωνικά δίκτυα (deep neural networks, DNNs) βασίζεται ολοένα και περισσότερο σε εξειδικευμένους επιταχυντές υλικού για την επίτευξη υψηλών επιδόσεων. Η παρούσα διατριβή εστιάζει στην επιτάχυνση τελεστών (operators) βαθιών νευρωνικών δικτύων σε υλικό τεχνολογίας FPGA, με έμφαση στον γενικό πολλαπλασιασμό μητρώων (general matrix-matrix multiplication, GEMM). Παράλληλα, αναπτύχθηκε σύστημα εξομοίωσης σε FPGA που μοντελοποιεί τις μη-ιδανικότητες των memristive συσκευών μνήμης για τη διερεύνηση, σε επίπεδο συστήματος, αρχιτεκτονικών αναλογικής υπολογιστικής εντός μνήμης (analog in-memory computing, AIMC) και των εφαρμογών τους. Προτείνεται ένας επιταχυντής υλικού που ενσωματώνει συστολικές διατάξεις (systolic arrays), μνήμη υψηλού εύρους ζώνης (HBM) και μνήμες UltraRAM. Επιπλέον, παρουσιάζουμε δύο διαμορφώσεις για τις μονάδες επεξεργασίας (processing units, PUs) με διαφορετικές υπολογιστικές δυνατότητες, αξιοποιώντας τις ίδιες διεπαφές και τα ί ...
Η εξαγωγή συμπερασμάτων (inference) σε βαθιά νευρωνικά δίκτυα (deep neural networks, DNNs) βασίζεται ολοένα και περισσότερο σε εξειδικευμένους επιταχυντές υλικού για την επίτευξη υψηλών επιδόσεων. Η παρούσα διατριβή εστιάζει στην επιτάχυνση τελεστών (operators) βαθιών νευρωνικών δικτύων σε υλικό τεχνολογίας FPGA, με έμφαση στον γενικό πολλαπλασιασμό μητρώων (general matrix-matrix multiplication, GEMM). Παράλληλα, αναπτύχθηκε σύστημα εξομοίωσης σε FPGA που μοντελοποιεί τις μη-ιδανικότητες των memristive συσκευών μνήμης για τη διερεύνηση, σε επίπεδο συστήματος, αρχιτεκτονικών αναλογικής υπολογιστικής εντός μνήμης (analog in-memory computing, AIMC) και των εφαρμογών τους. Προτείνεται ένας επιταχυντής υλικού που ενσωματώνει συστολικές διατάξεις (systolic arrays), μνήμη υψηλού εύρους ζώνης (HBM) και μνήμες UltraRAM. Επιπλέον, παρουσιάζουμε δύο διαμορφώσεις για τις μονάδες επεξεργασίας (processing units, PUs) με διαφορετικές υπολογιστικές δυνατότητες, αξιοποιώντας τις ίδιες διεπαφές και τα ίδια περιφερειακά δομικά στοιχεία. Με την υλοποίηση πολλαπλών PUs και την εφαρμογή ευρετικής στρατηγικής χρονοπρογραμματισμού (scheduling) για τις μεταφορές των συναπτικών βαρών (weights), η προτεινόμενη αρχιτεκτονική επιτυγχάνει υψηλότερη αποδοτικότητα ως προς τον ρυθμό διεκπεραίωσης (throughput efficiency) σε σχέση με προγενέστερες υλοποιήσεις. Για τον συντονισμό της λειτουργίας πολλαπλών PUs χωρίς μία συγκεκριμένη στρατηγική εκτέλεσης, η διατριβή αντιμετωπίζει τον συντονισμό ως επίπεδο που προγραμματίζεται με εντολές, επιτρέποντας τη συστηματική διερεύνηση διαφορετικών τεχνικών παραλληλισμού και χρονοπρογραμματισμού. Για τον σκοπό αυτό, παρουσιάζεται μια αρχιτεκτονική συντονισμού βασισμένη σε εντολές, η οποία προγραμματίζει τις PUs για την επιτάχυνση της εξαγωγής συμπερασμάτων. Η αρχιτεκτονική αυτή επιτρέπει προγραμματιζόμενο συγχρονισμό των PUs μέσω μονάδων ελέγχου εντολών, σε συνεργασία με μονάδες συγχρονισμού, αξιοποιώντας τύπους εντολών οργανωμένους σε λειτουργικές ομάδες φόρτωσης (load), υπολογισμού (compute) και αποθήκευσης (store). Επιπλέον, παρουσιάζεται πλαίσιο μεταγλώττισης (compilation framework) που μετασχηματίζει τα μοντέλα DNN σε εκτελέσιμα προγράμματα εντολών για τον επιταχυντή, επιτρέποντας την κατάτμηση του γράφου του DNN σε τοπολογικά συνεχή υπογραφήματα, τα οποία αντιστοιχίζονται στις διαθέσιμες PUs. Υποστηρίζονται διάφορες στρατηγικές εκτέλεσης, επιτρέποντας παραλληλισμό διοχέτευσης (pipeline parallelism) μεταξύ των PUs και παραλληλισμό σε επίπεδο παρτίδας εισόδων (batch-level parallelism) μεταξύ διαφορετικών υποσυνόλων PUs, με δυνατότητα εναλλαγής κατά τον χρόνο εκτέλεσης χωρίς την επαναδιαμόρφωση της αρχιτεκτονικής του επιταχυντή στο FPGA. Η προτεινόμενη προσέγγιση επιτρέπει τη διερεύνηση του χώρου σχεδίασης (design space exploration), υποστηρίζοντας συμβιβασμούς αποδοτικότητας μεταξύ εκτέλεσης μιας παρτίδας εισόδων και πολλαπλών παρτίδων εισόδων για την επιτάχυνση της εξαγωγής συμπερασμάτων. Τα πειραματικά αποτελέσματα στο μοντέλο ResNet-50 δείχνουν υπολογιστική αποδοτικότητα (compute efficiency) έως 98%, κέρδη αποδοτικότητας ρυθμού διεκπεραίωσης (throughput efficiency) έως 2.7× καθώς και βελτιώσεις ενεργειακής αποδοτικότητας (energy efficiency) έως 2.9× έναντι προηγούμενων εργασιών. Πέρα από την επιτάχυνση της εξαγωγής συμπερασμάτων σε DNN, η διατριβή εξετάζει πώς τα μη-ιδανικά χαρακτηριστικά των memristive συσκευών μνήμης αποτυπώνονται τόσο σε επίπεδο συσκευής όσο και σε επίπεδο συστήματος σε επιταχυντές με διατάξεις crossbar, όπου οι αρχιτεκτονικές επιλογές πρέπει να αξιολογούνται λαμβάνοντας υπόψη τις μη-ιδανικότητες και τον θόρυβο των συσκευών αυτών. Η αναλογική υπολογιστική εντός μνήμης αποτελεί non-von Neumann υπολογιστικό παράδειγμα, στο οποίο συγκεκριμένοι υπολογισμοί εκτελούνται εντός της μνήμης, αξιοποιώντας τις φυσικές ιδιότητες των μη-πτητικών μνημών (non-volatile memories). Ειδικότερα, οι μνήμες αλλαγής φάσης (phase-change memory, PCM) είναι ένα είδος μη-πτητικών μνημών που αποθηκεύουν πληροφορία σε επίπεδα αγωγιμότητας και είναι κατάλληλες για υπολογισμό εντός μνήμης. Όταν οργανώνονται σε διάταξη crossbar, μπορούν να υλοποιήσουν πράξεις πολλαπλασιασμού μητρώου-διανύσματος (matrix-vector multiplication), αξιοποιώντας τους νόμους του Kirchhoff και του Ohm. Για την αξιόπιστη αξιολόγηση αρχιτεκτονικών που βασίζονται σε AIMC για εφαρμογές όπως η εξαγωγή συμπερασμάτων σε DNN καθώς και για αρχιτεκτονική διερεύνηση σε επίπεδο συστήματος, είναι απαραίτητη η ανάπτυξη ενός εξομοιωτή υλικού που αποτυπώνει τα κύρια χαρακτηριστικά των memristive συσκευών. Στην παρούσα διατριβή παρουσιάζουμε έναν τέτοιο εξομοιωτή για μνήμες αλλαγής φάσης, ο οποίος επαληθεύεται πειραματικά αξιοποιώντας μετρήσεις από πρωτότυπο ολοκληρωμένο κύκλωμα με PCM συσκευές. Επιπλέον, παρουσιάζουμε μια εφαρμογή του εξομοιωτή για εξαγωγή συμπερασμάτων σε νευρωνικά δίκτυα, στην οποία ο εξομοιωτής αποτυπώνει με πιστότητα την εξέλιξη της αγωγιμότητας περίπου 400.000 PCM συσκευών. Τέλος, περιγράφουμε πώς η αρχιτεκτονική του PU μπορεί να επεκταθεί ώστε να εξομοιώνει τα χαρακτηριστικά θορύβου μη-πτητικών μνημών, διευκολύνοντας τον σχεδιασμό chips επόμενης γενιάς βασισμένων σε αρχιτεκτονικές AIMC για τη διερεύνηση της ακρίβειας στην εξαγωγή συμπερασμάτων σε βαθιά νευρωνικά δίκτυα.
περισσότερα
Περίληψη σε άλλη γλώσσα
Deep neural network (DNN) inference increasingly relies on specialized hardware for high computational efficiency. This thesis presents a scalable architecture for DNN inference acceleration, prototyped on an FPGA, with a focus on general matrix-matrix multiplication (GEMM)-based operations. Also, it develops a hardware emulator to support system-level architectural exploration of analog in-memory computing (AIMC) and its application to DNN inference. We introduce a dynamically configurable accelerator featuring systolic arrays, high-bandwidth memory, and UltraRAMs. In addition, we implement two configurations of the processing unit (PU) architecture, with different compute performance, using the same interfaces and peripheral blocks. By instantiating multiple PUs and employing a heuristic scheduling strategy for weight transfers, the proposed architecture achieves higher throughput efficiency over prior works. To orchestrate multi-PU execution without using a single deployment strateg ...
Deep neural network (DNN) inference increasingly relies on specialized hardware for high computational efficiency. This thesis presents a scalable architecture for DNN inference acceleration, prototyped on an FPGA, with a focus on general matrix-matrix multiplication (GEMM)-based operations. Also, it develops a hardware emulator to support system-level architectural exploration of analog in-memory computing (AIMC) and its application to DNN inference. We introduce a dynamically configurable accelerator featuring systolic arrays, high-bandwidth memory, and UltraRAMs. In addition, we implement two configurations of the processing unit (PU) architecture, with different compute performance, using the same interfaces and peripheral blocks. By instantiating multiple PUs and employing a heuristic scheduling strategy for weight transfers, the proposed architecture achieves higher throughput efficiency over prior works. To orchestrate multi-PU execution without using a single deployment strategy, the thesis treats coordination as an instruction-programmable layer, allowing the same hardware fabric to be systematically explored across different parallelism and scheduling policies. To this end, we present an instruction-based coordination architecture with multiple PUs to accelerate DNN inference. This architecture enables programmable multi-PU synchronization through instruction controller units coupled with instruction synchronization units, utilizing instruction types organized into load, compute, and store functional groups. A compilation framework is also presented that transforms DNN models into executable instruction programs, enabling flexible partitioning of the DNN graph into topologically contiguous subgraphs mapped to available PUs. Multiple deployment strategies are supported, enabling pipeline parallelism among PUs and batch-level parallelism across different PU subsets, with runtime switching capabilities among them without FPGA reconfiguration. The proposed approach enables design space exploration, supporting dynamic trade-offs between single-batch and multi-batch performance to accelerate DNN inference. Experimental results on ResNet-50 demonstrate compute efficiency of up to 98%, throughput efficiency gains of up to 2.7×, and energy efficiency improvements of up to 2.9× over prior works across different configurations. Beyond DNN inference acceleration, the thesis examines the system-level impact of device-level non-idealities in memristive crossbar accelerators, where architectural decisions must be evaluated under realistic device variability and noise. AIMC is an emerging non-von Neumann computing paradigm in which certain computational tasks are performed in memory by exploiting the physical properties of the non-volatile memory (NVM) devices. Memristive devices, such as phase-change memory (PCM), store information in conductance levels and are well-suited for in-memory computing. In particular, memristive devices, when organized in a crossbar configuration, can be used to perform matrix-vector multiply operations by exploiting Kirchhoff's circuit laws. To explore the feasibility of AIMC cores for applications such as DNN inference and system-level architectural exploration, it is highly desirable to develop an accurate hardware emulator that captures the key physical attributes of memristive devices. Here, we present such an emulator for PCM, implemented on an FPGA, and experimentally validate it using measurements from a PCM prototype chip. Moreover, we present an application of the emulator for neural network inference, in which it consistently captures the conductance evolution of approximately 400,000 PCM devices. Finally, we outline how the PU architecture can be extended to emulate the noise characteristics of NVM devices, to aid next-generation heterogeneous AIMC-based chip designs by enabling system-level accuracy assessment for DNN inference applications.
περισσότερα