title: Analysis and design methodology of convolutional neural networks mapping on reconfigurable logic
title: Μεθοδολογία ανάλυσης και σχεδίασης συνελικτικών νευρωνικών δικτύων σε αναδιατασσόμενη λογική
Creators: name: Φωτακης Τζανης
Publisher: name: Technical University of Crete
Year: 2020

description: Over the last few years, Convolutional Neural Networks have proved their abilities in several fields of study, with the research community continuing to surprise the world with new and paradoxical use cases, and even more exciting results. The rise of neural networks in general, and especially CNNs, creates a necessity for hardware acceleration of such computationally complex applications to achieve high-performance and energy-efficiency. Due to the fact that neural networks are highly parallelizable, they can exploit FPGA's hardware flexibility. This study presents a hardware platform targeted for FPGA devices for easy and structured implementation of neural network inference accelerators. It is designed with flexibility and versatility in mind, capable of being transferred to various FPGA devices. Furthermore, it is extendable to enable for easy adding of new layer types and new layer accelerators. In addition, it is scalable for multi-FPGA implementations, using platforms such as the FORTH QFDB, a custom four-FPGA platform. Moreover, it can run various CNN models' inference, but most importantly, it provides easy experimentation and development of neural networks hardware accelerator architectures. The proposed platform is implemented for accelerating AlexNet's inference, an award-winning CNN whose robustness analysis is carried out to investigate the FPGA's strengths and weaknesses, studying the computational workloads, memory access patterns, memory and bandwidth reduction, as well as algorithmic optimizations. A comparison in inference performance metrics is presented between the proposed platform, a CPU, a GPU, and other Xilinx developed neural network accelerator platforms. Although there are no performance benefits of using an FPGA over a modern GPU, a potential for performance improvements appears with further development, focusing on the convolution accelerator, which exploits the platform's ease of use, extendability, and expandability.
description: Τα τελευταία χρόνια, τα Συνελικτικά Νευρωνικά Δίκτυα (Convolutional Neural Networks - CNNs) έχουν αποδείξει τις ικανότητές τους σε πολλά πεδία, με την ερευνητική κοινότητα να συνεχίζει να εκπλήσσει τον κόσμο με τις νέες και παράδοξες χρήσεις τους και τα ακόμα πιο συναρπαστικά αποτελέσματά τους. Η άνοδος των νευρωνικών δικτύων γενικά, και ιδιαίτερα των CNNs, δημιουργεί την ανάγκη hardware επιτάχυνσης των τόσο υπολογιστικά ακριβών εφαρμογών, για να επιτευχθεί υψηλή παραγωγικότητα και ενεργειακή απόδοση. Εξ αιτίας του γεγονότος ότι ένα μεγάλο μέρος των νευρωνικών δικτύων μπορεί να τρέξει παράλληλα τα κάνει ιδανικά να εκμεταλλευτούν την ευελιξία που παρέχουν οι FPGAs σε επίπεδο υλικού. Aυτή η εργασία παρουσιάζει μία hardware πλατφόρμα, στοχευμένη σε FPGAs, για εύκολη και δομημένη σχεδίαση inference επιταχυντών νευρωνικών δικτύων. Η πλατφόρμα αυτή είναι σχεδιασμένη με γνώμονα την ευελιξία και την μεταφερσιμότητα, ώστε να μπορεί εύκολα να χρησιμοποιηθεί από διάφορες FPGAs. Ακόμα, λόγω της επεκτασιμότητάς της, μπορεί εύκολα να γίνει η προσθήκη νέων τύπων layer αλλά και των αντίστοιχων επιταχυντών τους. Επιπλέον, μπορεί να κλιμακωθεί χρησιμοποιώντας πολλαπλές FPGAs, όπως το QFDB, μία πλατφόρμα τεσσάρων διασυνδεδεμένων FPGAs, σχεδιασμένη από το ‘Ιδρυμα Τεχνολογίας και Έρευνας (Ι.Τ.Ε.).  Επίσης, μπορεί να εκτελέσει το inference διαφόρων μοντέλων CNN, αλλά το πιο σημαντικό, παρέχει μία πλατφόρμα για εύκολο πειραματισμό και ανάπτυξη αρχιτεκτονικών hardware επιταχυντών νευρωνικών δικτύων. Η προτεινόμενη πλατφόρμα υλοποιήθηκε για την inference επιτάχυνση του δικτύου AlexNet, ενός βραβευμένου CNN, με βάση το οποίο διερευνήθηκαν τα πλεονεκτημάτα και οι αδυναμίες των FPGAs, μελετώντας τον υπολογιστικό φόρτο, τα πρότυπα πρόσβασης στη μνήμη, τη μείωση του bandwidth και της απαιτούμενης μνήμης, καθώς και τις αλγοριθμικές βελτιστοποιήσεις. Τέλος, η εργασία αυτή παρουσιάζει μια σύγκριση των μετρικών απόδοσης μεταξύ της προτεινόμενης πλατφόρμας, ενός επεξεργαστή (CPU), μιας κάρτας γραφικών (GPU) και πλατφορμών επιτάχυσνης νευρωνικών δικτύων από την Xilinx. Παρόλο που δεν εμφανίζονται οφέλη απόδοσης από τη χρήση των FPGAs σε σχέση με μια σύγχρονη GPU, με περαιτέρω ανάπτυξη υπάρχει ακόμα δυνατότητα βελτίωσης, εστιάζοντας στον συνελικτικό επιταχυντή και εκμεταλλεύοντας την ευκολία χρήσης και την επεκτασιμότητα της πλατφόρμας.