The growing demand for real-time processing in artificial intelligence applications, particularly those involving Convolutional Neural Networks (CNNs), has highlighted the need for efficient computational solutions. Conventional processors, very often, fall short in balancing performance, power consumption, and latency, especially in embedded systems and edge computing platforms. Field-Programmable Gate Arrays (FPGAs) offer a promising alternative, combining high performance with energy efficiency and reconfigurability. The presented framework addresses the complex and demanding computations of CNNs on FPGAs maintaining full precision in all neural network parameters. Specifically, our framework is based on Darknet which is very widely used for the design of CNNs and allows the designer, by using a similar input to that given to Darknet, to efficiently implement a CNN in a heterogeneous system comprising of CPUs and FPGAs. When compared with the FPGA frameworks that support quantization, our solution aims to offer similar performance and/or energy efficiency without any degradation on the NN accuracy.
- ID Articolo: 2510.13362
- Titolo: Energy-Efficient FPGA Framework for Non-Quantized Convolutional Neural Networks
- Autori: Angelos Athanasiadis¹, Nikolaos Tampouratzis², Ioannis Papaefstathiou¹
- Istituzioni: ¹Università Aristotele di Salonicco, ²Università Ellenica Internazionale
- Classificazione: cs.AR (Architettura dei Calcolatori)
- Link Articolo: https://arxiv.org/abs/2510.13362
Con la crescente domanda di elaborazione in tempo reale nelle applicazioni di intelligenza artificiale, in particolare quelle che coinvolgono reti neurali convoluzionali (CNN), emerge la necessità di soluzioni computazionali efficienti. I processori tradizionali spesso risultano inadeguati nel bilanciare prestazioni, consumo energetico e latenza, specialmente su sistemi embedded e piattaforme di edge computing. Gli array di porte programmabili in campo (FPGA) offrono un'alternativa promettente, combinando elevate prestazioni, efficienza energetica e riconfigurabilità. Il framework proposto in questo articolo affronta i complessi requisiti computazionali delle CNN su FPGA, mantenendo al contempo la precisione completa di tutti i parametri della rete neurale. Il framework si basa sul diffuso framework di progettazione CNN Darknet, consentendo ai progettisti di utilizzare input simili a Darknet per implementare efficientemente le CNN in sistemi eterogenei contenenti CPU e FPGA. Rispetto ai framework FPGA che supportano la quantizzazione, questa soluzione mira a fornire prestazioni e/o efficienza energetica comparabili senza compromettere l'accuratezza della rete neurale.
Il problema centrale affrontato da questa ricerca è come implementare efficientemente reti neurali convoluzionali non quantizzate su FPGA, raggiungendo elevate prestazioni ed efficienza energetica mantenendo al contempo i parametri a precisione completa.
- Crescente domanda di elaborazione in tempo reale: Le applicazioni di IA, in particolare quelle basate su CNN, richiedono sempre più elaborazione in tempo reale
- Limitazioni dei processori tradizionali: Le CPU tradizionali presentano insufficienze nel bilanciare prestazioni, consumo energetico e latenza
- Sfide dell'edge computing e dei sistemi embedded: I dispositivi con risorse limitate necessitano di soluzioni computazionali più efficienti
- Perdita di accuratezza nei metodi di quantizzazione: I framework FPGA esistenti si concentrano principalmente su modelli quantizzati, che riducono l'utilizzo delle risorse e il consumo energetico, ma spesso a scapito dell'accuratezza
- Complessità della progettazione: Mancanza di flussi di progettazione facili da usare ed efficienti
- Compromesso tra prestazioni e precisione: Difficoltà nel raggiungere elevate prestazioni ed efficienza energetica mantenendo la precisione completa
Sviluppare un framework in grado di implementare CNN non quantizzate su FPGA, mantenendo l'elevata accuratezza del modello mentre si raggiungono prestazioni e efficienza energetica eccellenti.
- Mantenimento dell'accuratezza: Evitando la quantizzazione e conservando la precisione completa, il framework mira a mantenere l'accuratezza del modello CNN
- Elevata produttività di progettazione e flessibilità: Basato sul diffuso framework di progettazione CNN DarkNet, implementato in C/C++ puro, supporta l'intera gamma di FPGA da piccoli a grandi
- Elevate prestazioni: Sfrutta pienamente il parallelismo di qualsiasi FPGA per accelerare il processo di inferenza CNN, garantendo elaborazione tempestiva ed efficiente
- Ottimizzazione dell'efficienza energetica: Ottimizzato per l'efficienza energetica dell'inferenza CNN su FPGA, applicabile a applicazioni sensibili al consumo energetico
Il compito affrontato in questo articolo è l'implementazione efficiente dell'inferenza CNN non quantizzata su FPGA, con input rappresentati da file di configurazione del modello CNN (in formato simile a Darknet) e output rappresentato da un'implementazione CNN ad elevate prestazioni su sistemi eterogenei CPU-FPGA.
Come mostrato nella Figura 1, il framework adotta il seguente progetto architetturale:
- Elaborazione dell'input: Importazione di nuovi file cfg nello strumento
- Pre-elaborazione: Pre-elaborazione parallela utilizzando OpenMP
- Parser: Analisi della struttura della rete, identificazione di strati convoluzionali, deconvoluzionali e altri
- Motore computazionale: Motore computazionale HLS innovativo come componente centrale
- Elaborazione parallela: Elaborazione parallela utilizzando OpenMP
- Implementazione FPGA: Implementazione finale della rete neurale su FPGA
Il motore computazionale innovativo utilizza la tecnologia di sintesi di alto livello (HLS), in grado di eseguire molteplici operazioni matematiche in un singolo ciclo di clock, raggiungendo un throughput e prestazioni relativamente elevati.
Come mostrato nella Figura 2, il nucleo FPGA HLS gestisce principalmente compiti di moltiplicazione matriciale, che rappresentano la base di quasi tutte le implementazioni CNN:
- Ottimizzazione della memoria: Utilizzo della memoria BRAM interna combinata con flussi HLS per ottimizzare i modelli di accesso alla memoria on-chip
- Meccanismo di elaborazione in flusso:
- Implementazione di flussi di dati continui tra elementi di elaborazione, senza necessità di archiviazione intermedia in BRAM
- Riduzione della latenza e dei costi di risorse
- Supporto dell'esecuzione pipeline e miglioramento del parallelismo
- Trasferimento diretto dei dati tra processi produttore e consumatore
- Utilizzo di molteplici canali di memoria:
- Sfruttamento di molteplici banchi di memoria e canali dedicati collegati agli FPGA moderni
- Inserimento di direttive HLS appropriate per allocare i trasferimenti di dati a un numero parametrizzabile di banchi/canali di memoria
- Utilizzo completo della larghezza di banda disponibile di ogni interfaccia di memoria
- Trasferimento dati ad alta larghezza di banda: Il trasferimento dati tra CPU e FPGA avviene a larghezza di dati completa (512 bit) per ciclo di clock, garantendo comunicazione ad alto throughput tra gli elementi di elaborazione e il sottosistema di memoria
- Mantenimento della precisione completa: A differenza dei metodi di quantizzazione esistenti, questo framework mantiene la precisione completa di tutti i parametri
- Ottimizzazione dell'elaborazione in flusso: Meccanismo innovativo di elaborazione in flusso che riduce la dipendenza dalla BRAM, migliorando l'efficienza dell'utilizzo delle risorse
- Accesso alla memoria multi-canale: Sfruttamento completo delle caratteristiche multi-canale di memoria degli FPGA moderni
- Flusso di progettazione basato su Darknet: Fornisce un'interfaccia di progettazione familiare e facile da usare
- FPGA di fascia alta: AMD Alveo U55C
- FPGA embedded: Kria KR260
- CPU di confronto: Intel Xeon E5-2620 v4 (8 core) e ARM Cortex-A53 (4 core)
- GPU di confronto: NVIDIA T4
- Dimensioni matriciali: M=2048, K=4096, N=16384
- Tipo di dato: FP32 (virgola mobile a 32 bit)
- Scopo del test: Selezione di dimensioni matriciali non-picco per dimostrare la flessibilità del metodo
- Prestazioni: GFLOPS (miliardi di operazioni in virgola mobile al secondo)
- Efficienza energetica: GFLOPS/Watt
- Rapporto di accelerazione: Miglioramento delle prestazioni rispetto all'implementazione di riferimento e all'implementazione CPU parallela
- Rispetto all'implementazione di riferimento: Miglioramento delle prestazioni di 2 ordini di grandezza
- Rispetto alla CPU ARM a 4 core: Miglioramento di 9 volte
- Miglioramento dell'efficienza energetica: 9 volte superiore rispetto alla migliore implementazione CPU parallela
- Rispetto all'implementazione di riferimento: Miglioramento delle prestazioni di circa 3 ordini di grandezza
- Rispetto alla CPU Intel Xeon: Miglioramento di 10 volte
- Miglioramento dell'efficienza energetica: 34 volte superiore rispetto alla migliore implementazione CPU parallela
- Rispetto alla GPU NVIDIA T4: Miglioramento dell'efficienza energetica di 3 volte (nonostante T4 utilizzi un processo tecnologico più avanzato a 12nm, mentre U55C a 16nm)
- Miglioramento significativo delle prestazioni: Raggiunto su tutte le piattaforme di test con miglioramenti di ordini di grandezza
- Prestazioni eccellenti di efficienza energetica: In particolare su Alveo U55C con miglioramento di 34 volte
- Vantaggi tecnici: Superamento dell'efficienza energetica della GPU anche in condizioni di svantaggio tecnologico
- Verifica della coerenza: I risultati degli esperimenti con diverse dimensioni matriciali sono completamente coerenti con i risultati mostrati nella Figura 3
L'articolo cita i seguenti lavori correlati:
- Xu et al. (2024): FLARE - Acceleratore CNN a precisione completa e bassa potenza basato su FPGA con struttura riconfigurabile
- Chen et al. (2021): Framework di apprendimento per reti neurali quantizzate a n-bit orientate a FPGA
- Latotzke et al. (2022): Progettazione di acceleratori CNN a precisione mista ad alto throughput su FPGA
La principale differenza di questo articolo rispetto ai lavori correlati risiede nella focalizzazione sull'implementazione non quantizzata, raggiungendo elevate prestazioni ed efficienza energetica mantenendo la precisione completa.
- Risoluzione riuscita dei requisiti critici: Questa ricerca affronta con successo i requisiti critici per l'implementazione efficiente di CNN in ambienti con vincoli di potenza
- Combinazione di prestazioni ed efficienza energetica: Il framework CNN FPGA non quantizzato proposto combina con successo elevate prestazioni ed efficienza energetica
- Garanzia di accuratezza: Raggiungimento dell'elevata accuratezza mantenendo la precisione completa dei parametri della rete, senza compromettere l'utilizzo delle risorse o il consumo energetico
- Validazione sperimentale dell'efficacia: I risultati sperimentali validano l'efficacia del framework, mostrando accelerazione significativa dell'elaborazione dell'inferenza e riduzione sostanziale dell'utilizzo energetico
- Ambito dei test: Gli esperimenti si concentrano principalmente su operazioni di moltiplicazione matriciale, con risultati di test dettagliati per reti CNN complete non sufficientemente presentati
- Verifica dell'accuratezza: Sebbene sia affermato il mantenimento dell'accuratezza, mancano dati specifici di confronto dell'accuratezza
- Ambito di applicabilità: L'applicabilità del framework potrebbe essere limitata dalle risorse FPGA e dai requisiti specifici dell'applicazione
L'articolo non menziona esplicitamente direzioni di ricerca future specifiche, ma si può dedurre che includano:
- Test e validazione di reti CNN più ampie
- Ulteriore ottimizzazione dell'efficienza energetica
- Supporto per più tipi di strati di reti neurali
- Innovazione tecnica:
- Raggiungimento dell'implementazione CNN FPGA ad elevate prestazioni mantenendo la precisione completa
- Progettazione innovativa del motore computazionale HLS, sfruttamento efficace dell'elaborazione in flusso e dei canali di memoria multipli
- Completezza sperimentale:
- Test completi su molteplici piattaforme hardware
- Inclusione di esperimenti di confronto con CPU e GPU
- Misurazione dettagliata di metriche di prestazioni ed efficienza energetica
- Valore pratico:
- Basato sul diffuso framework Darknet, facile da adottare
- Supporto dell'intera gamma di FPGA da piccoli a grandi
- Applicabile a scenari di applicazioni sensibili al consumo energetico
- Convincenza dei risultati:
- Raggiungimento di miglioramenti delle prestazioni di ordini di grandezza
- Prestazioni eccellenti su molteplici metriche
- Superamento dell'efficienza energetica della GPU anche in condizioni di svantaggio tecnologico
- Verifica incompleta:
- Mancanza di risultati di test end-to-end per reti CNN complete
- Assenza di dati specifici di verifica del mantenimento dell'accuratezza
- Test principalmente concentrati a livello di moltiplicazione matriciale
- Scelta dei benchmark di confronto:
- L'implementazione di riferimento potrebbe non essere sufficientemente ottimizzata
- Mancanza di confronto con altri framework FPGA CNN avanzati
- Insufficienza dei dettagli tecnici:
- Descrizione non sufficientemente dettagliata delle strategie di ottimizzazione dell'implementazione HLS
- Mancanza di dati sull'utilizzo delle risorse
- Analisi insufficiente dell'efficienza di utilizzo della larghezza di banda della memoria
- Analisi dell'applicabilità:
- Discussione insufficiente delle limitazioni e dell'ambito di applicabilità del metodo
- Analisi insufficiente della scalabilità per CNN di diverse dimensioni
- Contributo accademico:
- Fornisce una nuova soluzione per l'implementazione CNN FPGA non quantizzata
- Raggiungimento di elevate prestazioni mantenendo l'accuratezza ha importante valore teorico
- Valore pratico:
- Basato su catene di strumenti mature, facilitando l'implementazione ingegneristica
- Applicabile a applicazioni di IA per edge computing e sistemi embedded
- Riproducibilità:
- Basato su strumenti HLS standard e framework Darknet open-source
- Percorso tecnico relativamente chiaro con certa riproducibilità
- Applicazioni di IA per edge computing: Scenari sensibili al consumo energetico con elevati requisiti di accuratezza
- Elaborazione di immagini in tempo reale: Compiti di elaborazione visiva che richiedono bassa latenza e elevate prestazioni
- Sistemi embedded: Dispositivi con risorse limitate ma che necessitano di capacità di IA
- Automazione industriale: Applicazioni di IA industriale con elevati requisiti di affidabilità e accuratezza
1 Xu, Y.; Luo, J.; Sun, W. Flare: An FPGA-Based Full Precision Low Power CNN Accelerator with Reconfigurable Structure. Sensors 2024, 24
2 Chen, J.; Liu, L.; Liu, Y.; Zeng, X. A Learning Framework for n-Bit Quantized Neural Networks Toward FPGAs. IEEE Transactions on Neural Networks and Learning Systems 2021, 32, 1067–1081.
3 Latotzke, C.; Ciesielski, T.; Gemmeke, T. Design of High-Throughput Mixed-Precision CNN Accelerators on FPGA. In Proceedings of the 2022 32nd International Conference on Field-Programmable Logic and Applications (FPL), 2022, pp. 358–365.
Valutazione complessiva: Questo è un articolo di valore pratico nel campo degli acceleratori CNN basati su FPGA, che propone una soluzione innovativa mantenendo la precisione completa, con risultati sperimentali impressionanti. Tuttavia, l'articolo ha spazio per miglioramenti nella verifica della completezza e nella descrizione dei dettagli tecnici. Per scenari di applicazioni di IA che richiedono elevata accuratezza, questo framework ha importanti prospettive di applicazione.