logo SBA

ETD

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

Tesi etd-03072024-184153


Tipo di tesi
Tesi di dottorato di ricerca
Autore
PACINI, TOMMASO
URN
etd-03072024-184153
Titolo
FPG-AI: a Technology-Independent Toolflow for the Automation of Deep Neural Networks Deployment on FPGAs
Settore scientifico disciplinare
ING-INF/01
Corso di studi
INGEGNERIA DELL'INFORMAZIONE
Relatori
tutor Fanucci, Luca
Parole chiave
  • artificial intelligence
  • automation
  • convolutional neural networks
  • deep neural networks
  • design space exploration
  • edge computing
  • FPGA
  • hardware acceleration
  • quantization
  • recurrent neural networks
Data inizio appello
14/03/2024
Consultabilità
Non consultabile
Data di rilascio
14/03/2094
Riassunto
Al giorno d’oggi, l’Intelligenza Artificiale (IA) ha acquisito un ruolo chiave in diversi campi della ricerca e dell’industria, grazie alla capacità di superare i metodi tradizionali in una grande varietà di applicazioni complesse ed eterogenee. Tra gli algoritmi di IA, le reti neurali profonde (Deep Neural Networks, DNNs) sono uno dei modelli più promettenti, in grado di fornire risultati eccezionali in compiti quali la classificazione e la segmentazione delle immagini, l’elaborazione del linguaggio naturale, l’analisi dei video, ecc. Tuttavia, le predizioni di alta qualità delle DNNs sono spesso ottenute con modelli molto profondi, caratterizzati da carichi di lavoro intensivi. L’elevato numero di operazioni richieste durante l’inferenza spesso ostacola l’implementazione di queste reti su piattaforme hardware. Tale problema è esacerbato dall’attuale tendenza a spostare la computazione vicino alla fonte dei dati, ovvero "at the edge", un approccio che viene perseguito per ereditare i benefici di questi modelli in tutti gli scenari particolarmente sensibili alla latenza della trasmissione e alla privacy dei dati. Il trasferimento dell’inferenza "at the edge" introduce vincoli stringenti che devono essere rispettati in termini di complessità e consumo energetico. Per risolvere questo problema, la comunità dei ricercatori sta studiando l’accelerazione delle DNNs su diverse tecnologie all’avanguardia, come Application Specific Integrated Circuit (ASIC), Central Processing Unit (CPU) e Graphics Processing Unit (GPU). Anche i Field Programmable Gate Array (FPGA) rappresentano una prospettiva interessante grazie alla loro flessibilità, efficienza energetica e bassi costi non ricorrenti. Purtroppo, l’implementazione e l’inferenza di DNNs su FPGA rappresenta una vera e propria sfida a causa del limitato budget di risorse di questi dispositivi. Per facilitare e accelerare la sperimentazione e lo sviluppo di tali reti su questa tecnologia, sono stati rilasciati diversi flussi automatici. L’obiettivo principale di questi strumenti è quello di consentire a una vasta gamma di utenti, indipendentemente dalle loro competenze specialistiche, di accelerare efficacemente le DNNs su FPGA con tempi di sviluppo ridotti.
Questa tesi presenta FPG-AI, un nuovo flusso di progettazione per automatizzare l’implementazione di DNNs su FPGAs. Il sistema proposto combina l’uso di strategie di compressione dei modelli con un acceleratore realizzato tramite un linguaggio di descrizione hardware (Hardware Description Language, HDL) che non pone limiti sulla scelta del dispositivo, consentendo così l’implementazione su componenti di diversi fornitori e con budget di risorse disparati. Inoltre, un processo di automazione fonde i due spazi di progettazione per definire uno strumento end-to-end e pronto all’uso, mantenendo un elevato grado di personalizzazione rispetto alle scelte dell’utente sul consumo di risorse o sulla latenza. FPG-AI fornisce come uscita i sorgenti HDL dell’acceleratore personalizzati per il modello e il dispositivo dato, rispettando le direttive aggiuntive ricevute dall’utente. La versatilità dello strumento è stata valutata su diversi insiemi di dati, applicazioni e dispositivi. Gli acceleratori risultanti dimostrano un’efficienza competitiva in termini di tempi ed energia, riducendo al contempo il divario nel time-to-market rispetto a soluzioni più generiche.


Nowadays, Artificial Intelligence (AI) has gained a key role in several research and industrial fields thanks to the capability of outperforming traditional methods in a large variety of complex and heterogeneous applications. Among AI algorithms, Deep Neural Networks (DNNs) are one of the most promising models, providing outstanding results in tasks such as image classification and segmentation, natural language processing, video analysis, etc. Nevertheless, the high-quality predictions of DNNs are often achieved with very deep models characterized by computationally intensive workloads. The high number of operations required during the inference often hinders the deployment of these models on hardware platforms. This issue is exacerbated by the current trend of shifting the computation near the source of the data, i.e. "at the edge", an approach that is being pursued to inherit the benefits of these networks in all the scenarios that are particularly sensitive to the latency of the transmission and the privacy of the data. Porting the inference at the edge introduces strict constraints that must be respected in terms of design complexity and power consumption. To solve this problem, the research community is investigating the acceleration of DNNs on several state-of-the-art technologies, such as Application Specific Integrated Circuits (ASICs), Central Processing Units (CPUs), and Graphics Processing Units (GPUs). Field Programmable Gate Arrays (FPGAs) also represent an interesting perspective thanks to their flexibility, energy efficiency, and low non-recurrent costs. Unfortunately, deploying and inferring DNNs on FPGA constitutes a real challenge due to the limited resources of these devices. To facilitate and accelerate the experimentation and development of such networks on this technology, several automation tooflows have been released. The overarching objective is to empower a diverse range of users, regardless of their specialized expertise, to effectively accelerate DNNs on FPGAs with reduced development times. This thesis presents FPG-AI, a novel toolflow for the automation of DNN deployment on FPGAs. The proposed framework combines the use of model compression strategies with a fully handcrafted Hardware Description Languages (HDL)-based accelerator that poses no limit on device portability, thus enabling the implementation on components from different vendors and with disparate resource budgets. On top of that, an automation process merges the two design spaces to define an end-to-end and ready-touse tool, keeping a high degree of customization with respect to the user’s constraints on resource consumption or latency. FPG-AI provides as output the HDL sources of the accelerator customized for the given model and device that meets the additional directives received by the user. The versatility of the tool has been evaluated on diverse datasets, tasks, and target devices. The resulting accelerators demonstrate competitive timing/energy efficiency, while also reducing the time-to-market gap compared to more general-purpose solutions.
File