title: Convolutional neural network optimizations using knowledge distillation for applications on hardware accelarators
title: Βελτιστοποιήσεις συνελικτικών νευρωνικών δικτύων με τεχνικές απόσταξης γνώσης για εφαρμογές σε επιταχυντές υλικού (Hardware)
Creators: name: Βαϊλακης Αποστολος-Νικολαος
Publisher: name: Technical University of Crete
Year: 2022

description: Over the last decade, Convolutional Neural Networks have gained popularity amongst the scientific community, due to their versatility and performance in an all-growing domain of applications. Recent advances in computational power have enabled researchers to develop and train CNNs of exponential complexity, capable of solving problems previously considered unattainable. From facial recognition, to climate analysis and self-driving cars, CNNs constantly prove their value in the field of Machine Learning. Deploying however such models in real-world applications presents a significant challenge. While training complex CNNs requires high performance computing systems, inference may need to be performed at much tighter computational budgets. This has motivated the scientific community to develop both hardware architectures capable of efficiently executing CNNs, as well as methodologies for compressing networks. Hardware accelerators focused on edge applications opt for lower precision arithmetics (network quantization), which in turn simplifies the computational engines and greatly reduces the memory footprint of the models. This however can result in staggering accuracy losses. Recent advances in quantization-aware training techniques promise to mitigate these effects. Centered around DenseNet, a state-of-the-art CNN developed for image classification, this study performs an in-depth analysis of Quantization Aware Knowledge Distillation (QKD), a promising technique which combines quantization-aware training with knowledge distillation. Additionally, a comparison in inference performance between a CPU, a GPU and a Xilinx DPU is conducted, the latter of which employs 8-bit integer arithmetic. To achieve this, QKD is integrated in Xilinx's Vitis-AI workflow. Achieving a minimum of 9x latency speedup and 4x power efficiency compared to all other platforms using Xilinx's DPU, indicates that effective model compression and quantization, coupled with dedicated hardware architectures can produce highly capable systems for edge applications.
description: Την τελευταία δεκαετία, τα Συνελικτικά Νευρωνικά Δίκτυα (CNN) γίνονται ολοένα και πιο δημοφιλή στην επιστημονική κοινότητα, λόγω της ευελιξίας και της απόδοσής τους σε πληθώρα εφαρμογών. Πρόοδοι στην διαθέσιμη υπολογιστική ισχύ επιτρέπουν στους ερευνητές να αναπτύξουν και να εκπαιδεύσουν CNN εκθετικής πολυπλοκότητας, ικανά να λύσουν προβλήματα που προηγουμένως θεωρούνταν μη προσεγγίσημα. Από αναγνώριση προσώπων, μέχρι κλιματική ανάλυση και αυτοοδηγούμενα οχήματα, τα CNN αποδεικνύουν συνεχώς την αξία τους στον τομέα της Μηχανικής Μάθησης. Ωστόσο, η ανάπτυξη τέτοιων μοντέλων σε εφαρμογές πραγματικού κόσμου αποτελεί σημαντική πρόκληση. Ενώ η εκπαίδευση πολύπλοκων CNN απαιτεί υπολογιστικά συστήματα υψηλής απόδοσης, η χρήση τους μπορεί να προϋποθέτει συστήματα περιορισμένης επεξεργαστικής ισχύoς. Αυτό έχει παρακινήσει την επιστημονική κοινότητα να αναπτύξει τόσο αρχιτεκτονικές υλικού ικανές να εκτελούν αποτελεσματικά CNN, όσο και μεθοδολογίες για τη συμπίεση δικτύων. Οι επιταχυντές υλικού που εστιάζουν σε εφαρμογές χαμηλής κατανάλωσης βασίζονται σε αριθμητικές ακέραιων αριθμών (κβάντιση δικτύου), κάτι που με τη σειρά του απλοποιεί τις υπολογιστικές μηχανές και μειώνει σημαντικά το αποτύπωμα των μοντέλων στη μνήμη. Αυτό, ωστόσο, μπορεί να οδηγήσει σε σημαντικές απώλειες ακρίβειας. Οι πρόσφατες εξελίξεις σε τεχνικές εκπαίδευσης κάνοντας χρήση απόσταξης γνώσης (knowledge distillation) υπόσχονται να μετριάσουν αυτές τις επιπτώσεις.
Με επίκεντρο το DenseNet, ένα CNN τελευταίας τεχνολογίας που αναπτύχθηκε για αναγνώριση εικόνων, η παρούσα μελέτη αναλύει εις βάθος τη μέθοδο Quantization aware Knowledge Distillation (QKD), η οποία συνδυάζει εκπαίδευση κβαντισμένων δικτύων με απόσταξη γνώσης και υπόσχεται σημαντική βελτίωση στην τελική ακρίβεια. Επιπλέον, συγκρίνεται η απόδοση ανάμεσα σε μια CPU, μια GPU και μια Xilinx DPU, η τελευταία από τις οποίες χρησιμοποιεί αριθμητική ακέραιων αριθμών 8-bit. Για να επιτευχθεί αυτό, το QKD ενσωματώνεται στη ροή του Vitis-AI της Xilinx. Τα τελικά αποτελέσματα παρουσιάζουν την Xilinx DPU να επιτυγχάνει τουλάχιστον 9x επιτάχυνση σε latency και 9x χαμηλότερη κατανάλωση ισχύος σε σύγκριση με όλες τις άλλες πλατφόρμες. Αυτό υποδηλώνει ότι η αποτελεσματική συμπίεση και κβάντιση νευρωνικών δικτύων, σε συνδυασμό με κατάλληλες αρχιτεκτονικές επιτάχυνσης υλικού, μπορούν να παράγουν συστήματα υψηλής ακρίβειας για εφαρμογές χαμηλής κατανάλωσης.