ETD

Archivio digitale delle tesi discusse presso l'Università di Pisa

Tesi etd-02232023-193448


Tipo di tesi
Tesi di dottorato di ricerca
Autore
RAPUANO, EMILIO
URN
etd-02232023-193448
Titolo
FPG-AI: HW/SW co-design techniques for the automation of Artificial Intelligence deployment on FPGA platforms
Settore scientifico disciplinare
ING-INF/01
Corso di studi
INGEGNERIA DELL'INFORMAZIONE
Relatori
tutor Prof. Fanucci, Luca
Parole chiave
  • fpga
  • hardware acceleration
  • artificial intelligence
  • machine learning
  • neural networks
Data inizio appello
01/03/2023
Consultabilità
Non consultabile
Data di rilascio
01/03/2026
Riassunto
Negli ultimi anni, l'Intelligenza Artificiale e, più specificamente, le Reti Neurali Profonde (DNNs) sono stati argomenti chiave nella comunità di ricerca per la loro capacità di superare l'accuratezza umana in compiti sempre più complessi, come il riconoscimento di oggetti, il rilevamento di oggetti, l'elaborazione del linguaggio naturale, la traduzione automatica, ecc.
Le DNNs più profonde e complesse di solito forniscono una maggiore accuratezza, ma la loro inferenza diventa troppo costosa dal punto di vista computazionale per le applicazioni in cui i dati devono essere elaborati direttamente vicino alla fonte dell'informazione. Questo è il cosiddetto paradigma "On the Edge". Con l'avanzare del mondo dell'Internet delle cose, è cresciuto l'interesse per questo approccio, che offre vantaggi in termini di latenza, sicurezza e larghezza di banda richiesta dal sistema. Tuttavia, i vincoli di consumo energetico e di area, tipici dei dispositivi portatili e on the edge, di solito si scontrano con i requisiti di precisione e latenza.
Per questi motivi, la progettazione di acceleratori hardware è diventata popolare in tutti i tipi di piattaforme: GPU, FPGA e ASIC. La scelta della piattaforma di destinazione dipende da diversi compromessi, come la flessibilità, la potenza di calcolo, il consumo di energia, l'area e il time-to market.
In questo scenario, le FPGA hanno guadagnato sempre più interesse in questo campo grazie al loro buon compromesso tra prestazioni e flessibilità.
Attraverso una progettazione basata su HDL è infatti possibile ospitare specifiche architetture di acceleratori hardware, che saranno ottimizzate in termini di tempo di inferenza, area e requisiti energetici rispetto a soluzioni programmabili come le GPU, pur mantenendo la caratteristica di riprogrammabilità.
I vantaggi elencati si accompagnano allo svantaggio di un maggiore sforzo di progettazione e di un flusso di progettazione più complicato, che comporta un time-to-market più lungo e limita l'adozione di FPGA da parte delle aziende, che preferirebbero una prototipazione più rapida e prodotti più flessibili.
Questa tesi propone FPG-AI, un nuovo strumento che combina aspetti hardware e software per la progettazione automatica di acceleratori hardware di reti neurali convoluzionali (CNN) su FPGA. Lo strumento combina l'uso di strategie post-training di compressione del modello e un'architettura hardware completamente artigianale basata su HDL, mantenendo un elevato grado di personalizzazione rispetto ai vincoli dell'utente.
La portabilità di questi metodi e strumenti è stata testata su diversi set di dati, modelli e dispositivi di destinazione. Gli acceleratori ottenuti mostrano prestazioni competitive in termini di tempo/energia, ma con un time-to-market ridotto che colma il divario con soluzioni più general-purpose.
Un ulteriore lavoro è stato svolto per studiare le tecniche di quanizzazione dei modelli di reti neurali ricorrenti (RNN), un tipo diverso di DNN che porta nuove sfide nel campo di ricerca.

During the last years, Artificial Intelligence (AI) and, more specifically, Deep Neural Networks (DNNs) have been key topics in the research community because of their ability to exceed human accuracy in more and more complex tasks, such as object recognition, object detection, natural language processing, machine translation, etc.
Deeper and more complex DNNs usually provide increased accuracy, causing their inference to become too computationally intensive for applications where data need to be processed and elaborated directly near the source of the information. This is what is called the "On the Edge" (OtE) paradigm. With the advance of the Internet of Things (IoT) world, more and more interest has grown towards this approach since it brings advantages in terms of latency, security, and system required bandwidth. However, power consumption and area constraints, typical of on the edge and portable devices, usually collide with accuracy and latency requirements.
For such reasons, the design of hardware accelerators has become popular within all kinds of platforms: GPUs, FPGAs, and ASICs. The choice of the target platform depends on several trade-offs such as flexibility, computational power, power consumption, area, time-to market.
In this scenario, FPGAs have gained more and more interest in this field thanks to their good trade-off between performance and flexibility.
Through an HDL-based design it is, indeed, possible to host specific hardware accelerators architectures, that will be optimized in terms of inference time, area and energy requirements if compared to programmable solutions like GPUs, but still keeping the reprogrammability feature.
The listed advantages come together with the drawback of a bigger design effort and a more complicated design flow, which brings to longer time-to-market that limits FPGA adoption by companies, which would prefer faster prototyping and more flexible products.
This thesis proposes FPG-AI, a novel HW/SW co-designed framework for the automatic design of Convolutional Neural Networks (CNNs) hardware accelerators for FPGAs. The tool combines the use of post-training model compression strategies and a fully handcrafted HDL-based hardware architecture, keeping a high degree of customization with respects to user's constraints.
The portability of such methods and tools has been tested on various datasets, tasks and target devices. The obtained accelerators show competitive timing/energy performance, but with a reduced time-to-market that fills the gap with more general purpose solutions.
Additional work has been carried out to investigate model compression techniques for what concerns Recurrent Neural Networks (RNNs), a different kind of DNN which brings new challenges in the field.
File