dc.contributor.author | Danopoulos, Dimitrios | |
dc.contributor.author | Δανόπουλος, Δημήτριος | |
dc.date.accessioned | 2024-11-04T10:11:26Z | |
dc.date.available | 2024-11-04T10:11:26Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/60363 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.28059 | |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
dc.subject | Machine Learning | en |
dc.subject | Deep Learning | en |
dc.subject | Deep Neural Networks | en |
dc.subject | Computer Architecture | en |
dc.subject | Hardware Acceleration | en |
dc.subject | Μηχανική Μάθηση | el |
dc.subject | Βαθιά Μάθηση | el |
dc.subject | Βαθιά Νευρωνικά Δίκτυα | el |
dc.subject | Αρχιτεκτονική Υπολογιστών | el |
dc.subject | Επιτάχυνση Υλικού | el |
dc.title | Hardware-software co-design of deep learning accelerators: from custom to automated design methodologies | en |
dc.title | Συσχεδίαση υλικού και λογισμικού για επιταχυντές βαθιάς μάθησης: από προσαρμοσμένες σε αυτοματοποιημένες μεθοδολογίες σχεδίασης | el |
dc.contributor.department | Microprocessors and Digital Systems Lab | el |
heal.type | doctoralThesis | |
heal.classification | Computer Engineering | en |
heal.classification | Μηχανική υπολογιστών | el |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2024-09-02 | |
heal.abstract | In the past few years, Deep Learning (DL), a subset within the broader field of Artificial Intelligence (AI), has achieved remarkable success across a wide spectrum of applications, such as computer vision and autonomous systems. It has emerged as one of the most powerful and accurate techniques, often employing Deep Neural Networks (DNNs) that frequently surpass human performance. However, the ongoing AI research heavily relies on high-performance systems to handle the vast amounts of computations and data involved. Advancements in technology and architecture have led to the integration of co-processors like Graphics Processing Units (GPUs) or Field Programmable Gate Arrays (FPGAs). These devices are types of hardware accelerators that play crucial roles in accelerating AI workloads and have facilitated the deployment but also the development of increasingly sophisticated AI models. To address the substantial computational demands of AI algorithms, such specialized hardware requires significant engineering effort to achieve optimal performance and efficiency. Moreover, the current state-of-the-art leverages approximate computing, an approach that permits computations to be less precise, trading off some precision for additional efficiency gains. However, evaluating the accuracy of approximate DNNs is cumbersome due to the lack of adequate support for approximate arithmetic in Deep Learning frameworks, such as PyTorch or Tensorflow. In this dissertation, we first employ FPGAs as accelerators for a wide range of AI applications and present various strategies and techniques to improve the efficiency and performance for such applications. We also examine automated frameworks to convert trained neural network models into optimized FPGA firmware, alleviating the hardware development challenges faced by engineers in the process. Additionally, we investigate the use of approximate computing to leverage the intrinsic error resilience of DNN models. We address the challenge of evaluating approximate DNNs by introducing two frameworks, AdaPT and TransAxx. These frameworks, built on PyTorch and optimized using CPU and GPU hardware acceleration respectively, facilitate approximate inference and approximation-aware retraining for various DNN models, Last, we propose a hardware-driven Monte Carlo Tree Search (MCTS) algorithm to efficiently search the space of possible approximate configurations on Vision Transformer (ViT) models and achieve significant trade-offs between accuracy and power. | en |
heal.abstract | Τα τελευταία χρόνια, η Βαθιά Μάθηση (Deep Learning), ένα υποσύνολο στο ευρύτερο πεδίο της Τεχνητής Νοημοσύνης (AI), έχει σημειώσει αξιοσημείωτη επιτυχία σε ένα ευρύ φάσμα εφαρμογών, όπως η όραση υπολογιστών και τα αυτόνομα συστήματα. Έχει αναδειχθεί ως μια από τις πιο ισχυρές και ακριβείς τεχνικές, χρησιμοποιώντας συχνά Βαθιά Νευρωνικά Δίκτυα (DNNs) που πολλές φορές ξεπερνούν την ανθρώπινη απόδοση. Ωστόσο, η συνεχιζόμενη έρευνα της τεχνητής νοημοσύνης βασίζεται σε μεγάλο βαθμό σε υπολογιστικά συστήματα υψηλής απόδοσης για τη διαχείριση των τεράστιων όγκων υπολογισμών και δεδομένων που εμπλέκονται. Οι εξελίξεις στην τεχνολογία και την αρχιτεκτονική οδήγησαν στην ενσωμάτωση συνεπεξεργαστών όπως Graphics Processing Units (GPUs) ή Field Programmable Gate Arrays (FPGAs). Αυτές οι συσκευές είναι τύποι επιταχυντών υλικού που παίζουν κρίσιμο ρόλο στην επιτάχυνση του φόρτου εργασίας της τεχνητής νοημοσύνης και έχουν διευκολύνει την ανάπτυξη ολοένα και πιο εξελιγμένων μοντέλων τεχνητής νοημοσύνης. Για την αντιμετώπιση των σημαντικών υπολογιστικών απαιτήσεων των αλγορίθμων AI, τέτοιο εξειδικευμένο υλικό απαιτεί σημαντική προγραμματιστική προσπάθεια για την επίτευξη βέλτιστης απόδοσης και αποδοτικότητας. Επιπλέον, η τελευταία λέξη της τεχνολογίας αξιοποιεί την μέθοδο προσεγγιστικών υπολογισμών (approximate computing), μια μέθοδο που επιτρέπει στους υπολογισμούς να είναι λιγότερο ακριβείς, ανταλλάσσοντας κάποια ακρίβεια για κέρδη αποδοτικότητας. Ωστόσο, η αξιολόγηση της ακρίβειας των προσεγγιστικών νευρωνικών δικτύων είναι δύσκολη λόγω της έλλειψης επαρκούς υποστήριξης για την προσεγγιστική αριθμητική σε περιβάλλοντα Βαθιάς Μάθησης, όπως το PyTorch ή Tensorflow. Στόχος της παρούσας διατριβής είναι, αρχικά, η χρήση των FPGAs ως επιταχυντές για ένα ευρύ φάσμα εφαρμογών τεχνητής νοημοσύνης, ενώ παρουσιάζονται διάφορες στρατηγικές και τεχνικές για τη βελτίωση της αποτελεσματικότητας και της απόδοσης για τέτοιες εφαρμογές. Προτείνονται επίσης διάφορες βελτιστοποιήσεις για αυτοματοποιημένα περιβάλλοντα με στόχο την μετατροπή εκπαιδευμένων μοντέλων νευρωνικών δικτύων σε βελτιστοποιημένο υλικολογισμικό για FPGA, μειώνοντας τις προκλήσεις ανάπτυξης υλικού που αντιμετωπίζουν οι μηχανικοί στην συγκεκριμένη διαδικασία. Επιπλέον, εξετάζεται η χρήση προσεγγιστικών υπολογισμών για να αξιοποιηθεί η εγγενής ανθεκτικότητα σφάλματος των Βαθιών Νευρωνικών Δικτύων. Αντιμετωπίζεται η δυσκολία στην αξιολόγηση προσεγγιστικών δικτύων, εισάγοντας για τον σκοπό αυτό δύο περιβάλλοντα, το AdaPT και το TransAxx. Αυτά τα περιβάλλοντα, που είναι βασισμένα στο PyTorch και είναι βελτιστοποιημένα με χρήση επιτάχυνσης CPU και GPU αντίστοιχα, επιτρέπουν προσεγγιστικό inference και retraining για διάφορα βαθιά νευρωνικά μοντέλα. Τέλος, προτείνεται ένας αλγόριθμος Monte Carlo Tree Search (MCTS) που οδηγείται από υλικό για την αποτελεσματική αναζήτηση του χώρου των προσεγγιστικών παραμέτρων σε μοντέλα Vision Transformer (ViT) με στόχο την επίτευξη σημαντικών αντισταθμίσεων μεταξύ ακρίβειας και ισχύος. | el |
heal.advisorName | Σούντρης, Δημήτριος | |
heal.advisorName | Soudris, Dimitrios | |
heal.committeeMemberName | Pekmestzi, Kiamal | |
heal.committeeMemberName | Pnevmatikatos, Dionisios | |
heal.committeeMemberName | Xydis, Sotirios | |
heal.committeeMemberName | Kachris, Christoforos | |
heal.committeeMemberName | Tsanakas, Panayiotis | |
heal.committeeMemberName | Zervakis, Georgios | |
heal.academicPublisher | Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 250 | |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: