Modelli e piattaforme di IA
EfficientViT: Vision Transformer Memoria-Efficiente per la Visione Artificiale ad Alta Risoluzione

A causa della loro alta capacità di modellazione, i modelli di Vision Transformer hanno ottenuto un grande successo negli ultimi tempi. Nonostante le loro prestazioni, i modelli di vision transformer hanno un difetto importante: la loro notevole potenza di calcolo ha un costo computazionale elevato, ed ÃĻ il motivo per cui i vision transformer non sono la prima scelta per le applicazioni in tempo reale. Per affrontare questo problema, un gruppo di sviluppatori ha lanciato EfficientViT, una famiglia di vision transformer ad alta velocità .
Quando si lavora su EfficientViT, gli sviluppatori hanno osservato che la velocità degli attuali modelli di transformer ÃĻ spesso limitata da operazioni di memoria inefficienti, in particolare le funzioni element-wise e la ridimensionamento dei tensori nella rete di auto-attenzione Multi-Head (MHSA). Per affrontare queste operazioni di memoria inefficienti, gli sviluppatori di EfficientViT hanno lavorato su un nuovo blocco costruttivo che utilizza un layout a sandwich, ovvero il modello EfficientViT utilizza unâunica rete di auto-atenzione Multi-Head (MHSA) tra layer di rete feed-forward (FFN) efficienti, il che aiuta a migliorare lâefficienza della memoria e a migliorare la comunicazione tra canali.
Esperimenti approfonditi condotti sul modello EfficientViT in diversi scenari indicano che EfficientViT supera i modelli efficienti esistenti per la visione artificiale, raggiungendo un buon equilibrio tra accuratezza e velocità . Quindi, analizziamo il modello EfficientViT in modo piÃđ approfondito.
Introduzione ai Vision Transformer e EfficientViT
I Vision Transformer rimangono uno dei framework piÃđ popolari nellâindustria della visione artificiale, poichÃĐ offrono prestazioni superiori e elevate capacità di calcolo. Tuttavia, con il miglioramento costante dellâaccuratezza e delle prestazioni dei modelli di vision transformer, i costi operativi e lâonere computazionale aumentano anche. Ad esempio, i modelli attuali noti per offrire prestazioni di stato dellâarte sui set di dati ImageNet come SwinV2 e V-MoE utilizzano rispettivamente 3B e 14,7B parametri. La dimensione di questi modelli, unita ai costi computazionali e alle esigenze, li rende praticamente inadatti per dispositivi e applicazioni in tempo reale.
Il modello EfficientNet mira a esplorare come migliorare le prestazioni dei modelli di vision transformer e a trovare i principi coinvolti nella progettazione di architetture di framework di transformer efficienti e efficaci. Il modello EfficientViT si basa su framework di vision transformer esistenti come Swim e DeiT e analizza tre fattori essenziali che influenzano la velocità di interferenza dei modelli, tra cui ridondanza computazionale, accesso alla memoria e utilizzo dei parametri.
Il modello ÃĻ il risultato finale delle scoperte durante il lavoro di ricerca per EfficientViT. Il modello presenta un nuovo blocco costruttivo con un layout a sandwich che applica unâunica rete di auto-atenzione Multi-Head (MHSA) tra layer di rete feed-forward (FFN) efficienti. Lâapproccio non solo riduce il tempo di esecuzione delle operazioni di memoria legate alla MHSA, ma rende anche lâintero processo piÃđ efficiente in termini di memoria, consentendo piÃđ layer FFN per facilitare la comunicazione tra canali diversi.

Come si puÃē vedere nellâimmagine sopra, il framework EfficientViT si esegue meglio dei modelli CNN e ViT attuali in termini di accuratezza e velocità . Ma come ha fatto il framework EfficientViT a superare alcuni dei modelli attuali di stato dellâarte? Scopriamolo.
EfficientViT: Miglioramento dellâEfficienza dei Vision Transformer
Il modello EfficientViT mira a migliorare lâefficienza dei modelli di vision transformer esistenti utilizzando tre prospettive:
- Ridondanza computazionale.
- Accesso alla memoria.
- Utilizzo dei parametri.
Il modello mira a scoprire come i parametri sopra influenzano lâefficienza dei modelli di vision transformer e come risolvere questi problemi per ottenere risultati migliori con maggiore efficienza. Analizziamo questi aspetti in modo piÃđ approfondito.
Accesso alla Memoria e Efficienza
Uno dei fattori essenziali che influenzano la velocità di un modello ÃĻ lâonere di accesso alla memoria (MAO). Come si puÃē vedere nellâimmagine sotto, diverse operazioni nel transformer, tra cui lâaggiunta element-wise, la normalizzazione e la ridimensionamento dei tensori, sono operazioni inefficienti in termini di memoria, poichÃĐ richiedono lâaccesso a diverse unità di memoria, un processo che richiede tempo.

Sebbene esistano alcuni metodi esistenti che possono semplificare i calcoli di auto-atenzione standard come lâapprossimazione a basso rango e lâattenzione sparsa, essi offrono spesso unâaccelerazione limitata e degradano lâaccuratezza.
Dâaltra parte, il framework EfficientViT mira a ridurre i costi di accesso alla memoria riducendo il numero di layer inefficienti in termini di memoria nel framework. Il modello ridimensiona il DeiT-T e Swin-T a sottoreti piÃđ piccole con un throughput di interferenza piÃđ alto del 1,25X e 1,5X e confronta le prestazioni di queste sottoreti con le proporzioni dei layer MHSA.

Efficienza Computazionale
I layer MHSA tendono a incorporare la sequenza di input in piÃđ sottospazi o teste e calcolano le mappe di attenzione individualmente, un approccio noto per migliorare le prestazioni. Tuttavia, le mappe di attenzione non sono computazionalmente economiche e per esplorare i costi computazionali, il modello EfficientViT esplora come ridurre la ridondanza dellâattenzione nei modelli ViT piÃđ piccoli.

Per incoraggiare le teste a imparare pattern diversi, il modello applica una soluzione intuitiva in cui ogni testa viene alimentata solo con una porzione della caratteristica completa, una tecnica che assomiglia allâidea di convoluzione di gruppo.
Efficienza dei Parametri
I modelli ViT medi ereditano le strategie di progettazione come lâuso di una larghezza equivalente per le proiezioni, lâimpostazione del rapporto di espansione a 4 nel FFN e lâaumento dei capi su piÃđ fasi dai transformer NLP. Le configurazioni di questi componenti devono essere progettate con cura per moduli leggeri.

Lâimmagine sopra indica che le prime due fasi del framework conservano piÃđ dimensioni, mentre le ultime due fasi conservano molte meno dimensioni. Potrebbe significare che una configurazione di canale tipica che raddoppia il canale dopo ogni fase o utilizza canali equivalenti per tutti i blocchi potrebbe risultare in una sostanziale ridondanza nei blocchi finali.
Efficient Vision Transformer: Architettura
Sulla base delle conoscenze acquisite durante lâanalisi sopra, gli sviluppatori hanno lavorato sulla creazione di un nuovo modello gerarchico che offre velocità di interferenza rapide, il modello EfficientViT. Analizziamo la struttura del framework EfficientViT.
Blocchi Costruttivi del Framework EfficientViT
Il blocco costruttivo per la rete di vision transformer piÃđ efficiente ÃĻ illustrato nella figura sotto.

Il framework consiste in un modulo di attenzione di gruppo cascatto, un layout a sandwich efficiente in termini di memoria e una strategia di riallocazione dei parametri che si concentrano sullâmiglioramento dellâefficienza del modello in termini di calcolo, memoria e parametri.
Layout a Sandwich
Il modello utilizza un nuovo layout a sandwich per costruire un blocco di memoria piÃđ efficiente per il framework. Il layout a sandwich utilizza meno layer di auto-atenzione legati alla memoria e utilizza piÃđ layer di rete feed-forward efficienti per la comunicazione tra canali.
Attenzione di Gruppo Cascatto
Uno dei principali problemi dei layer MHSA ÃĻ la ridondanza nelle teste di attenzione, che rende i calcoli meno efficienti. Per risolvere il problema, il modello propone unâattenzione di gruppo cascatto per i transformer di visione, un nuovo modulo di attenzione che trae ispirazione dalle convoluzioni di gruppo nei CNN efficienti.

Riallocazione dei Parametri
Per migliorare lâefficienza dei parametri, il modello rialloca i parametri nella rete espandendo la larghezza del canale dei moduli critici e riducendo la larghezza del canale dei moduli meno importanti.

Lâimmagine sopra fornisce una panoramica del framework EfficientViT, che include:
- Architettura di EfficientViT,
- Blocco di layout a sandwich,
- Attenzione di gruppo cascatto.
Â
EfficientViT: Architetture di Rete

Lâimmagine sopra riassume lâarchitettura di rete del framework EfficientViT. Il modello introduce unâincorporazione di patch sovrapposte [20,80] che incorpora patch 16Ã16 in token di dimensione C1, il che migliora la capacità del modello di apprendere rappresentazioni visive a basso livello.
Famiglia di Modelli EfficientViT
La famiglia di modelli EfficientViT consiste in 6 modelli con diverse scale di profondità e larghezza e un numero fisso di capi assegnati a ogni fase.

EfficientViT: Implementazione del Modello e Risultati
Il modello EfficientViT ha una dimensione del batch totale di 2.048, ÃĻ costruito con Timm e PyTorch, ÃĻ stato addestrato da zero per 300 epoche utilizzando 8 GPU Nvidia (NVDA ) V100, utilizza un programma di apprendimento della velocità di cosine e un ottimizzatore AdamW.
Risultati su ImageNet
Per analizzare le prestazioni di EfficientViT, ÃĻ stato confrontato con i modelli ViT e CNN attuali sul set di dati ImageNet.

Confronto con CNN Efficienti e ViT Efficienti
Il modello ÃĻ stato confrontato con CNN efficienti come EfficientNet e framework CNN vanilla come MobileNets.

Lâimmagine sopra confronta le prestazioni del modello EfficientViT con i modelli ViT di grandi dimensioni attuali che eseguono il set di dati ImageNet-1K.
Classificazione di Immagini a Valore Aggiunto
Il modello EfficientViT ÃĻ stato applicato a vari compiti a valori aggiunti per studiare le capacità di apprendimento del modello.

Rilevamento di Oggetti
Per analizzare la capacità di EfficientViT di rilevare oggetti, ÃĻ stato confrontato con modelli efficienti sul compito di rilevamento di oggetti COCO.

Pensieri Finali
In questo articolo, abbiamo parlato di EfficientViT, una famiglia di modelli di vision transformer veloci che utilizzano lâattenzione di gruppo cascatto e forniscono operazioni di memoria efficienti. Esperimenti approfonditi condotti per analizzare le prestazioni di EfficientViT hanno mostrato risultati promettenti, poichÃĐ il modello EfficientViT supera i modelli CNN e di vision transformer attuali nella maggior parte dei casi.












