KEYWORD |
Sviluppo di un tool per l’ottimizzazione di reti neurali spiking per lo sviluppo di acceleratori hardware su FPGA da applicare in ambiente IoT e edge computing.
Parole chiave ACCELERATORI HARDWARE, ACCELERATORI NEUROMORFICI, ACCELERAZIONE FPGA, EDGE COMPUTING, INTELLIGENZA ARTIFICIALE, NEUROMORPHIC COMPUTING, OTTIMIZZAZIONE, RETI NEURALI, RETI NEURALI SPIKING
Riferimenti STEFANO DI CARLO, ALESSANDRO SAVINO
Riferimenti esterni CARPEGNA ALESSIO
Gruppi di ricerca DAUIN - GR-24 - SMILIES - reSilient coMputer archItectures and LIfE Sci
Tipo tesi RICERCA APPLICATA, RICERCA SPERIMENTALE
Descrizione Il paradigma del cloud computing, ormai largamente diffuso, in cui un sistema di elaborazione centrale, ad elevate prestazioni, viene utilizzato per processare i dati provenienti da sistemi sparsi, comporta diversi problemi. L’elevato consumo di potenza, l’imprevedibilità della latenza di comunicazione, la violazione della privacy nella trasmissione di dati sensibili verso una macchina remota, la saturazione della banda internet e così via.
Una possibile soluzione consiste nello spostare l’elaborazione dei dati, o parte di essa, direttamente sui dispositivi sparsi. Tale approccio viene chiamato edge computing, ad indicare la dislocazione dell’elaborazione verso il bordo del sistema, dove il centro è rappresentato dai server di elaborazione ad elevate prestazioni.
La sfida maggiore in una soluzione di questo tipo risiede nella scarsità delle risorse computazionali disponibili in dispositivi edge, generalmente microcontrollori, dispositivi mobili e simili. Lo sviluppo di acceleratori hardware dedicati, chiamati anche co-processori, capaci di svolgere uno specifico compito in modo molto efficiente e di alleggerire il carico sul microprocessore (CPU) o microcontrollore (MCU), può aiutare a sopperire a tale mancanza.
Un possibile campo per la creazione e applicazione di tali acceleratori è quello delle reti neurali. Le reti neurali sono generalmente modelli computazionali molto complessi e fortemente parallelizzabili e quindi poco adatti ad essere eseguiti su CPU o MCU, in cui il parallelismo è limitato a pochi core. Per questa ragione, l’accelerazione mediante circuiti hardware dedicati può fare la differenza in termini di prestazioni e consumi di potenza.
Le reti neurali spiking (Spiking Nerual Networks, SNN) sono un particolare tipo di rete neurale direttamente ispirato dal funzionamento di un cervello biologico, in cui i neuroni si scambiano informazioni in forma di impulsi di corrente (spike) di breve durata. Con un design opportuno queste reti possono essere particolarmente adatte ad un’implementazione su circuiti hardware dedicati, con un consumo di potenza e un’occupazione di area molto contenuti rispetto ad altri tipi di rete neurale.
Lo scopo della tesi è quello di automatizzare il design di una rete spiking generica, nell’ottica di un’implementazione su un circuito hardware, da realizzare su FPGA (Field Programmable Gate Array). Il lavoro richiederà l’esplorazione di diverse tecniche ai fini di ottimizzare l’esecuzione della rete su un acceleratore hardware. Per esempio, quantizzazione dei pesi della rete, quantizzazione dei parametri interni dei neuroni, utilizzo di operatori aritmetici approssimati, pruning etc., valutando l’efficacia di tali tecniche se applicate prima o dopo l’allenamento della rete. L’obiettivo è, dato un modello di rete e una lista di vincoli legati alla piattaforma hardware su cui questa andrà realizzata, trovare la configurazione ottimale che permetta di minimizzare potenza, area e tempo di esecuzione, secondo le richieste dell’utente, con il minimo impatto possibile sulle performance della rete, come ad esempio l’accuratezza. Il risultato atteso è una lista di configurazioni, che possa essere usata successivamente per lo sviluppo dell’acceleratore.
Conoscenze richieste Tecniche di progettazione hardware, tecniche di programmazione, programmazione in linguaggio python, tecniche di ottimizzazione di reti neurali.
La conoscenza di tali argomenti non è vincolante e può essere in parte appresa nella prima parte del lavoro di tesi.
Scadenza validita proposta 29/02/2024
PROPONI LA TUA CANDIDATURA