Mapping Efficient Convolutional Neural Networks to Resource-Limited System-on-Chip Field-Programmable Gate Arrays for Mobile Deep Learning Application Acceleration
Creators: name: Μουσουλιώτης, Παναγιώτης Γ.
Publisher: name: Aristotle University of Thessaloniki
Year: 2023
Subjects: Συστήματα-σε-Τσιπ με Συστοιχία Επιτόπια Προγραμματιζόμενων Πυλών
Συνελικτικά Νευρωνικά Δίκτυα
Επιτάχυνση Αλγορίθμων
Υψηλού Επιπέδου Σύνθεση
System-on-Chip Field-Programmable Gate Arrays (SoC FPGAs)
Convolutional Neural Networks (CNNs)
Algorithm Acceleration
High-level Synthesis (HLS)

description: Η παρούσα διατριβή μελετά και παρουσιάζει την επιτάχυνση σύγχρονων αλγορίθμων νευρωνικών δικτύων σε σύστημα-σε-τσιπ (System-on-a-Chip (SoC)) το οποίο περιλαμβάνει μέσα στο ίδιο τσιπ έναν επεξεργαστή γενικού σκοπού καθώς και μία συστοιχία επιτόπια προγραμματιζόμενων πυλών. Αυτού του είδους τα τσιπ αναφέρονται και ως SoC FPGAs. Για την υλοποίηση φορητών εφαρμογών χαμηλού κόστους έχουν επιλεγεί SoC FPGAs χαμηλού κόστους και σχετικά χαμηλών δυνατοτήτων που παρουσιάζουν κατανάλωση ισχύος μικρότερη των 5 Watts. Επιπρόσθετα, για τη μείωση του χρόνου ανάπτυξης του επιταχυντή σε SoC FPGA, έχει επιλεγεί η ανάπτυξη με τη χρήση εργαλείων υψηλού-επιπέδου σύνθεσης (High-Level Synthesis (HLS)). Με τη χρήση HLS εργαλείων, ο σχεδιαστής μπορεί να περιγράψει τον επιταχυντή σε μια γλώσσα υψηλού επιπέδου όπως C/C++ και αυτή η περιγραφή θα μεταφραστεί τελικά από το HLS εργαλείο σε γλώσσα περιγραφής υλικού (Hardware Description Language (HDL)). Τελικά ο επιταχυντής υλοποιείται στο FPGA τμήμα του SoC FPGA, ενώ στον επεξεργαστή του SoC εκτελείται η εφαρμογή συμπερασμού του νευρωνικού δικτύου (inference) που επικοινωνεί με τον επιταχυντή που υλοποιείται στο FPGA μέσω κλήσεων λογισμικού. Οι κλήσεις λογισμικού ελέγχουν την λειτουργία του επιταχυντή και είναι υπεύθυνες για τη μεταφορά δεδομένων από και προς τον επιταχυντή από το σύστημα μνήμης του επεξεργαστή του SoC μέσω γρήγορων διαύλων επικοινωνίας. Όσον αφορά τους σύγχρονους αλγόριθμους νευρωνικών δικτύων, έχουν επιλεγεί σύγχρονοι και αποδοτικοί αλγόριθμοι συνελικτικών νευρωνικών δικτύων (Convolutional Neural Networks (CNNs)), οι οποίοι χρησιμοποιούνται για την επίλυση του προβλήματος της αναγνώρισης αντικειμένου (object recognition) σε εικόνα και την κατάταξή του σε κλάση (classification). Για το σκοπό αυτό, χρησιμοποιείται το σύνολο δεδομένων του ImageNet, το οποίο περιλαμβάνει πάνω από 1.2 εκατομμύρια εικόνες που ανήκουν σε 1000 κλάσεις.
description: Mobile deep learning applications running on consumer smartphones, drones, and autonomous vehicles have to satisfy the high computation requirement of the deep learning algorithms, and, at the same time, achieve low power consumption. Low parameter and high accuracy Convolutional Neural Networks (CNNs) have made a strong appearance in the deep learning research community. These efficient CNNs are the most suitable workload for mobile deep learning applications. Apart from using an efficient CNN, the required workload can be further reduced by using compression methods. This thesis presents the candidate CNN workloads, the methods used for applying compression on a CNN model, the development of a System-on-a-Chip (SoC) Field-Programmable Gate Array (FPGA) CNN accelerator template based on High-Level Synthesis (HLS) methods, an HLS-driven analytical performance model, a CNN-to-FPGA mapping workflow, and, finally, results, conclusions, and future work. Hopefully, this thesis and its results will be used for developing new research ideas in the field of mobile deep learning application acceleration using SoC FPGAs.