PORTALE DELLA DIDATTICA

Ricerca CERCA
  KEYWORD

Optimization of Transformer Deep Neural Networks on Multi-Core MCUs

Parole chiave ALGEBRA LINEARE, APPRENDIMENTO PROFONDO, BASSO CONSUMO, C, EFFICIENZA ENERGETICA, INTELLIGENZA ARTIFICIALE, MICROCONTROLLORI, RETI NEURALI PROFONDE, SISTEMI EMBEDDED, SOFTWARE

Riferimenti DANIELE JAHIER PAGLIARI

Riferimenti esterni Francesco Conti (University of Bologna)
Alessio Burrello (Politecnico di Torino)

Gruppi di ricerca DAUIN - GR-06 - ELECTRONIC DESIGN AUTOMATION - EDA, ELECTRONIC DESIGN AUTOMATION - EDA, GR-06 - ELECTRONIC DESIGN AUTOMATION - EDA

Tipo tesi SPERIMENTALE, SVILUPPO SOFTWARE

Descrizione Il Transformer è un nuovo tipo di rete neurale profonda che è attualmente considerata lo stato dell'arte per l'elaborazione del linguaggio naturale e la visione computerizzata. Tuttavia, il costo computazionale di questo tipo di modello è tipicamente troppo elevato per consentirne l'esecuzione su sistemi embedded con un budget di potenza limitato (<100 mW). Una delle chiavi per migliorare l'efficienza computazionale di questi modelli consiste nell'ottimizzare l'organizzazione dei dati in memoria, facendo in modo che, in ogni momento, i dati necessari all'esecuzione siano salvati per quanto possibile nei primi livelli della gerarchia di memoria, ovvero quelli con latenza minore.

In questa tesi, il candidato svilupperà uno strumento automatico per ottimizzare l'esecuzione, il layout dei dati e la loro disposizione nei vari livelli della gerarchia di memoria, per le operazioni di "multi-head self-attention", che corrispondono ai componenti più critici di un Transformer dal punto di vista computazionale. Il prodotto finale della tesi sarà un tool che, ricevendo in input una descrizione di alto livello di un Transformer, sarà in grado di determinare l'organizzazione ottimale dei pesi e degli output intermedi (attivazioni) in memoria, nonchè la funzione di libreria elementare (kernel) da utilizzare per eseguire ciascun layer. Lo strumento verrà sviluppato per la piattaforma hardware a basso consumo di potenza GAP8, che consiste in un processore principale con set di istruzioni RISC-V e tre livelli di memoria, nonchè di un cluster di 8 processori (anch'essi basati su RISC-V), con un budget di potenza inferiore a 100mW.

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’ inoltre utile (ma non strettamente necessaria) una minima familiarità con i concetti alla base del machine/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.


Scadenza validita proposta 14/12/2022      PROPONI LA TUA CANDIDATURA