KEYWORD |
Esplorazione e mapping su architetture eterogenee ultra-parallele: Un'analisi delle prestazioni e l'esplorazione di un algoritmo di NAS per reti neurali profonde
Parole chiave ARTIFICIAL INTELLIGENCE, C, COMPILERS, CONVOLUTIONAL NEURAL NETWORKS, DEEP LEARNING, DEEP NEURAL NETWORKS, DESIGN SPACE EXPLORATION, EMBEDDED SYSTEMS, ENERGY EFFICIENCY, FIRMWARE, HARDWARE ACCELERATORS, LOW POWER, MICROCONTROLLERS, SOFTWARE, SOFTWARE ACCELERATION
Riferimenti DANIELE JAHIER PAGLIARI
Riferimenti esterni Matteo Risso (Politecnico di Torino)
Alessio Burrello (Politecnico di Torino)
Angelo Garofalo (Università di Bologna)
Gruppi di ricerca DAUIN - GR-06 - ELECTRONIC DESIGN AUTOMATION - EDA, ELECTRONIC DESIGN AUTOMATION - EDA, GR-06 - ELECTRONIC DESIGN AUTOMATION - EDA
Tipo tesi EXPERIMENTAL, SOFTWARE DEVELOPMENT
Descrizione L'evoluzione delle architetture di calcolo ha portato all'adozione di sistemi eterogenei ultra-paralleli che combinano cluster di core digitali con acceleratori analogici. Queste architetture scalabili offrono diverse opportunità per accelerare algoritmi complessi, come le reti neurali. Tuttavia, la progettazione e l'implementazione di un mapping ottimale delle reti neurali su tali architetture richiede una conoscenza accurata dell’hardware sottostante. Esempi sono la latenza dell'interconnessione fra i diversi componenti e le prestazioni delle diverse unità di elaborazione.
In questo contesto, due problemi principali sono il mapping ottimale di una architettura fissata all’hardware e la ricerca di una nuova topologia che possa sfruttare al meglio l’hardware sottostante grazie a tecniche di Neural Architecture Search.
Obiettivo:
La presente tesi si propone di esplorare e sviluppare un metodo di mapping ottimale per reti neurali su architetture eterogenee ultra-parallele. Il target principale sarà una architettura hardware scalabile, che può essere vista in Fig.1. L’architettura consente di avere una unità base composta da 32 cores digitali, un acceleratore analogico e una memoria condivisa. L’obiettivo sarà quello di mappare su una architettura composta da N unità, date architetture neurali di benchmarks. Inoltre, si intende esplorare un Neural Architecture Search (NAS) per identificare la rete neurale più adatta alle specifiche dell'architettura hardware al variare del numero di unità base nell’hardware.
Metodologia:
● Studio dell'architettura eterogenea, compresa la costituzione dell’unità base, contenente i cores digitali, l’acceleratore analogico e la memoria L1.
● Analisi delle prestazioni e dei fattori di latenza associati alle diverse unità di elaborazione.
● Esplorazione di algoritmi di mapping esistenti per reti neurali su architetture eterogenee. Valutazione delle prestazioni e identificazione delle sfide specifiche correlate all'architettura hardware considerata.
● Sviluppo di un metodo di mapping ottimale considerando l'architettura hardware specifica. Il fattore distintivo sarà identificare la posizione di allocazione dei vari layers, data la differenza di latenza di comunicazione fra varie unità all’interno dell’hardware.
● Esplorazione di un Neural Architecture Search (NAS) mirato a trovare la migliore rete neurale per l'architettura hardware considerata, tenendo conto delle specifiche dei vincoli di mapping e delle prestazioni dell'hardware.
● Raccolta dei dati sperimentali attraverso differenti benchmarks pubblici con diverse configurazioni di mapping e reti neurali.
Vedi anche picture 1.png
Conoscenze richieste Sono richieste buone capacità di programmazione in C e Python.E’ richiesta la conoscenza di base delle architetture dei calcolatori e dei sistemi embedded. E’ richiesta anche la conoscenza del deep learning e dei corrispondenti modelli.
Note Tesi in collaborazione con il gruppo di ricerca del Prof. Luca Benini presso l’Università di Bologna e l’ETH di Zurigo. La tesi sarà svolta a Torino con l’aggiunta di supervisori delle altre due università.
Scadenza validita proposta 31/12/2022
PROPONI LA TUA CANDIDATURA