Το έργο με τίτλο Σχεδιασμός και υλοποίηση ενός επιταχυντή για CNN βασισμένο σε τεχνολογία FPGA από τον/τους δημιουργό/ούς Pitsis Antonios-Georgios διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού 4.0 Διεθνές
Βιβλιογραφική Αναφορά
Antonios-Georgios Pitsis, "Design and implementation of an FPGA-based convolutional neural network accelerator", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2018
https://doi.org/10.26233/heallink.tuc.79092
Τα τελευταία χρόνια, τα Convolutional Neural Networks (CNNs) παρουσιάζουν εξαιρετική ανάπτυξη λόγω της αποτελεσματικότητάς τους σε σύνθετα προβλήματα αναγνώρισης εικόνων. Τα CNNs οδηγούνται στην επίλυση ενός συνεχώς μεγαλύτερου αριθμού προβλημάτων, από την αναγνώριση ομιλίας έως την κατάτμηση και την ταξινόμηση της εικόνας. Η συνεχώς αυξανόμενη ανάγκη για μεγαλύτερη υπολογιστική ισχύ που απαιτείται από τα CNN δίνει την δυνατότητα σε hardware υλοποιήσεις. Επιπλέον, το φόρτο εργασίας των CNN έχει ροή δεδομένων, κατάλληλη για αρχιτεκτονική σε επαναπρογραμματιζόμενο hardware, όπως οι FPGAs. O αριθμός των ερευνών για την Μηχανική Μάθηση και ειδικά για τα CNN (που υλοποιείται σε πλατφόρμες FPGA) μέσα στα τελευταία 4 χρόνια καταδεικνύει το τεράστιο βιομηχανικό και ακαδημαϊκό ενδιαφέρον. Αυτή η μελέτη παρουσιάζει έναν (Inference) επιταχυντή CNN βασισμένο σε τεχνολογίες FPGA. Το δίκτυο που επιδιώκουμε να επιταχύνουμε αναπτύχθηκε από τον Δρ. Τσαγκατάκη στο πλαίσιο του έργου DEDALE (Horizon 2020) για θέματα αστροφυσικής. Αφού πραγματοποιήθηκε Robustness Analysis, διαστασιολογήθηκε το υπολογιστικό φόρτο εργασίας και οι προσβάσεις στη μνήμη, καθώς εξετάστηκαν μέθοδοι συμπίεσης και αλγοριθμικές βελτιστοποιήσεις για την εκμετάλλευση του παραλληλισμού των FPGAs. Στο επίπεδο των νευρώνων, εξηγούνται και συγκρίνονται οι βελτιστοποιήσεις των Convolutional και Fully Connected Layers . Στο επίπεδο του δικτύου, οι προσεγγιστικές μέθοδοι βελτιστοποίησης υπολογισμών εξετάζονται έχοντας ως περιορισμό να μην μειωθεί αισθητά η ακρίβεια του δικτύου. Οι πλατφόρμες που χρησιμοποιήθηκαν είναι οι ZCU102 και QFDB (μια προσαρμοσμένη πλατφόρμα 4-FPGA που αναπτύχθηκε στο ΙΤΕ). Ο επιταχυντής που υλοποιήθηκε κατάφερε να επιτύχει 20x latency speedup, 2.17x throughput speedup και να είναι 11.9x πιο ενεργειακά αποδοτικός σε σύγκριση με την GPU NVIDIA-Quadro-K2200 στα πλαίσια του έργου EuroExa.