Bernardi, Daniel
(2025)
Optimized kernels development and benchmarking of Vision Transformer on ONNX.
[Laurea magistrale], Università di Bologna, Corso di Studio in
Ingegneria informatica [LM-DM270], Documento full-text non disponibile
Il full-text non è disponibile per scelta dell'autore.
(
Contatta l'autore)
Abstract
Negli ultimi anni, i modelli basati sull'architettura del Transformer hanno guadagnato popolarità nel campo del Natural Language Processing, grazie alla loro capacità di sfruttare informazioni contestuali per attribuire significato alle parole di un testo. Nel campo della Computer Vision, invece, le reti convoluzionali sono rimaste per tanti anni lo strumento più rilevante per ottenere i migliori risultati.
Il Vision Transformer esplora l'utilizzo dei modelli basati su architettura Transformer come alternativa alle reti convoluzionali. L'addestramento di questi modelli richiede una grande quantità di potenza di calcolo, a causa delle loro dimensioni. Quando usati nel contesto di un servizio, anche le prestazioni in fase di inferenza diventano di notevole importanza.
I modelli di deep learning necessitano di un'architettura in grado di elaborare input di grandi dimensioni, come immagini, testi, o audio, nel minor tempo possibile. Un processore scalare non è adatto a questo compito e, essendo un'architettura general purpose, non scala in maniera efficiente. Al contrario, i processori vettoriali, implementando un set di istruzioni che utilizza registri vettoriali come operandi, sfruttano il parallelismo dei dati che li rende un'ottima scelta per l'accelerazione di questi modelli.
Per integrare e valutare le prestazioni del Vision Transformer, è stato utilizzato ONNX come framework open source per l'inferenza su un processore vettoriale con architettura RISC-V. Sviluppando una libreria di kernel, ottimizzati utilizzando le funzioni intrinsics dell'estensione vettoriale RISC-V, è stato sfruttato in maniera ottimale l'hardware del processore, accelerando l'esecuzione del modello.
Questo lavoro dimostra l'importanza di un'ottimizzazione accurata del codice, realizzata su misura per il processore, al fine di accelerare l'inferenza di modelli basati sul Transformer.
Abstract
Negli ultimi anni, i modelli basati sull'architettura del Transformer hanno guadagnato popolarità nel campo del Natural Language Processing, grazie alla loro capacità di sfruttare informazioni contestuali per attribuire significato alle parole di un testo. Nel campo della Computer Vision, invece, le reti convoluzionali sono rimaste per tanti anni lo strumento più rilevante per ottenere i migliori risultati.
Il Vision Transformer esplora l'utilizzo dei modelli basati su architettura Transformer come alternativa alle reti convoluzionali. L'addestramento di questi modelli richiede una grande quantità di potenza di calcolo, a causa delle loro dimensioni. Quando usati nel contesto di un servizio, anche le prestazioni in fase di inferenza diventano di notevole importanza.
I modelli di deep learning necessitano di un'architettura in grado di elaborare input di grandi dimensioni, come immagini, testi, o audio, nel minor tempo possibile. Un processore scalare non è adatto a questo compito e, essendo un'architettura general purpose, non scala in maniera efficiente. Al contrario, i processori vettoriali, implementando un set di istruzioni che utilizza registri vettoriali come operandi, sfruttano il parallelismo dei dati che li rende un'ottima scelta per l'accelerazione di questi modelli.
Per integrare e valutare le prestazioni del Vision Transformer, è stato utilizzato ONNX come framework open source per l'inferenza su un processore vettoriale con architettura RISC-V. Sviluppando una libreria di kernel, ottimizzati utilizzando le funzioni intrinsics dell'estensione vettoriale RISC-V, è stato sfruttato in maniera ottimale l'hardware del processore, accelerando l'esecuzione del modello.
Questo lavoro dimostra l'importanza di un'ottimizzazione accurata del codice, realizzata su misura per il processore, al fine di accelerare l'inferenza di modelli basati sul Transformer.
Tipologia del documento
Tesi di laurea
(Laurea magistrale)
Autore della tesi
Bernardi, Daniel
Relatore della tesi
Scuola
Corso di studio
Indirizzo
CURRICULUM INGEGNERIA INFORMATICA
Ordinamento Cds
DM270
Parole chiave
RISC-V, Processori Vettoriali, Vision Transformer, Vettorizzazione codice, Analisi delle performance, Framework per Machine Learning, ONNX, Modelli di Deep Learning, Attention Mechanism
Data di discussione della Tesi
25 Marzo 2025
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Bernardi, Daniel
Relatore della tesi
Scuola
Corso di studio
Indirizzo
CURRICULUM INGEGNERIA INFORMATICA
Ordinamento Cds
DM270
Parole chiave
RISC-V, Processori Vettoriali, Vision Transformer, Vettorizzazione codice, Analisi delle performance, Framework per Machine Learning, ONNX, Modelli di Deep Learning, Attention Mechanism
Data di discussione della Tesi
25 Marzo 2025
URI
Gestione del documento: