General Matrix Multiply (GEMM) units, consisting of multiply-accumulate (MAC) arrays, perform bulk of the computation in deep learning (DL). Recent work has proposed a novel MAC design, Bit-Pragmatic (PRA), capable of dynamically exploiting bit sparsity. This work presents OzMAC (Omit-zero-MAC), a modified re-implementation of PRA, but extends beyond earlier works by performing rigorous post-synthesis evaluation against binary MAC design across multiple bitwidths and clock frequencies using TSMC N5 process node to assess commercial implementation potential. We demonstrate the existence of high bit sparsity in eight pretrained INT8 DL workloads and show that 8-bit OzMAC improves all three metrics of area, power, and energy significantly by 21%, 70%, and 28%, respectively. Similar improvements are achieved when scaling data precisions (4, 8, 16 bits) and clock frequencies (0.5 GHz, 1 GHz, 1.5 GHz). For the 8-bit OzMAC, scaling its frequency to normalize the throughput, it still achieves 30% improvement on both power and energy.
academic- ID Articolo: 2402.19376
- Titolo: Commercial Evaluation of Zero-Skipping MAC Design for Bit Sparsity Exploitation in DL Inference
- Autori: Harideep Nair, Prabhu Vellaisamy, Tsung-Han Lin, Perry Wang, Shawn Blanton, John Paul Shen
- Istituzioni: Carnegie Mellon University, MediaTek USA Inc.
- Classificazione: cs.AR (Architettura dei Calcolatori)
- Data di Pubblicazione: Febbraio 2024
- Link dell'Articolo: https://arxiv.org/abs/2402.19376
Questo articolo propone OzMAC (Omit-zero-MAC), un'implementazione migliorata della progettazione MAC Bit-Pragmatic (PRA), specificamente progettata per sfruttare la sparsità di bit nell'inferenza del deep learning. A differenza dei lavori precedenti, questo articolo utilizza il nodo di processo TSMC N5 di livello commerciale, conducendo una valutazione rigorosa post-sintesi della progettazione su molteplici larghezze di bit e frequenze di clock. La ricerca dimostra l'esistenza di un'elevata sparsità di bit in otto carichi di lavoro di deep learning INT8 preaddestrati, con OzMAC a 8 bit che realizza miglioramenti significativi del 21%, 70% e 28% rispettivamente in area, potenza e consumo energetico.
- Collo di bottiglia computazionale: L'array MAC (Multiply-Accumulate) nelle unità GEMM (General Matrix Multiply) è la struttura computazionale centrale degli acceleratori di deep learning, e la sua efficienza influisce direttamente sulle prestazioni complessive
- Tendenze di precisione: Gli standard industriali si stanno evolvendo da 32 bit in virgola mobile (FP32) verso 16 bit in virgola mobile (FP16), 8 bit interi (INT8) e persino precisioni inferiori
- Requisiti di efficienza energetica: Le applicazioni di inferenza edge hanno vincoli rigorosi su area, potenza e consumo energetico
- I modelli di deep learning contengono una quantità significativa di sparsità di bit (bit sparsity), ovvero molti bit '0' nella rappresentazione binaria
- Sebbene la progettazione Bit-Pragmatic (PRA) esistente abbia proposto il concetto di sfruttamento della sparsità di bit, manca una valutazione rigorosa con processi di livello commerciale
- È necessario valutare la fattibilità e i benefici della progettazione MAC zero-skipping nell'implementazione commerciale effettiva
- Progettazione OzMAC: Un'architettura MAC zero-skipping migliorata basata su PRA, che sfrutta dinamicamente la sparsità di bit saltando i bit di valore zero nella rappresentazione binaria
- Valutazione di Livello Commerciale: Valutazione rigorosa PPA (Power-Performance-Area) utilizzando il processo TSMC N5 (5nm) e strumenti di progettazione commerciali
- Analisi Multidimensionale: Valutazione completa su molteplici precisioni di dati (4 bit, 8 bit, 16 bit) e frequenze di clock (0,5 GHz, 1 GHz, 1,5 GHz)
- Verifica della Sparsità: Verifica dell'esistenza di elevata sparsità di bit in otto modelli di deep learning e dimostrazione di come sfruttare la riduzione della potenza per aumentare il throughput
OzMAC è composto da tre moduli funzionali principali:
- Oz-encoder (Codificatore Zero):
- Macchina a stati finiti che traccia le posizioni attuali e successive dei bit '1' nel modello di bit di input
- Produce valori in codifica one-hot, catturando la posizione dei bit '1' per ogni ciclo di clock
- Esempio: l'input '0101₂' è codificato come due valori one-hot su due cicli di clock: primo ciclo '0100₂', ciclo successivo '0001₂'
- Shifter (Traslatore):
- Determina l'importo dello shift del secondo input in base all'output del codificatore Oz
- A differenza dei valori di shift binari di PRA, OzMAC utilizza rappresentazione one-hot per semplificare l'hardware dello shifter
- Accumulator (Accumulatore):
- Aggiunge il secondo input opportunamente traslato al valore dell'accumulatore
- Meccanismo Zero-Skipping: Esegue calcoli solo sui bit '1', saltando i bit '0', riducendo i cicli di calcolo
- Ottimizzazione dello Shifter: Utilizza input in codifica one-hot per semplificare la complessità dei gate dello shifter
- Calcolo Seriale: Scambia latenza per area e potenza inferiori
- Nodo di Processo: TSMC N5 (5nm) processo commerciale
- Strumenti di Progettazione: Synopsys VCS, SpyGlass, Design Compiler, PrimeTime PX
- Metodo di Verifica: Progettazione RTL SystemVerilog, simulazione a livello di gate, dump SAIF per calcolo preciso della potenza
Utilizzo di otto modelli INT8 quantizzati preaddestrati dalla libreria PyTorch Torchvision:
- MobileNetV2, MobileNetV3
- InceptionV3, ShuffleNetV2
- GoogleNet, ResNet18, ResNet50, ResNeXt101
- Area: Area del chip (μm²)
- Potenza: Potenza dinamica (mW)
- Latenza: Latenza di calcolo (ns)
- Consumo Energetico: Consumo energetico per operazione (pJ)
- Configurazioni di Precisione: 4×4, 4×8, 8×8, 8×16, 16×16 bit
- Intervallo di Frequenza: 500 MHz, 1 GHz, 1,5 GHz
- Baseline di Confronto: Progettazione bMAC tradizionale bit-parallela
| Modello | Media Bit '1' | Percentuale Sparsità di Bit |
|---|
| MobileNetV2 | 2.334 | 70.83% |
| MobileNetV3 | 1.711 | 78.61% |
| InceptionV3 | 2.430 | 69.62% |
| ShuffleNetV2 | 2.583 | 67.71% |
| GoogleNet | 2.461 | 69.24% |
| ResNet18 | 2.398 | 70.02% |
| ResNet50 | 2.495 | 68.81% |
| ResNeXt101 | 2.289 | 71.39% |
Tutti i modelli mostrano una sparsità di bit prossima al 70%, con MobileNetV3 che raggiunge il massimo del 78.61%.
| Hardware MAC | Area (μm²) | Potenza (mW) | Latenza (ns) | Consumo Energetico (pJ) |
|---|
| bMAC | 25.361 | 0.084 | 2 | 0.167 |
| OzMAC | 19.996 | 0.025 | 4.76 | 0.120 |
| Percentuale di Miglioramento | 21.2% | 69.7% | - | 28.0% |
I risultati su diverse configurazioni di precisione mostrano:
- Miglioramento di Area Ottimale: Configurazione 8×16 raggiunge il 31.7%
- Miglioramento di Consumo Energetico Ottimale: Configurazioni a precisione mista 4×8 e 8×16 raggiungono il 45%
- Punto Critico: Il miglioramento del consumo energetico scompare nella configurazione 16×16 (-1.2%)
- Valutazione a Frequenza Uguale: Nell'intervallo da 500 MHz a 1.5 GHz, OzMAC mantiene costantemente circa il 70% di miglioramento della potenza e il 29% di miglioramento del consumo energetico
- Valutazione a Latenza Uguale: Dopo il matching del throughput tramite scalabilità della frequenza, OzMAC può ancora realizzare:
- Progettazioni INT4: 29% di miglioramento della potenza/consumo energetico
- Progettazioni INT8: 30% di miglioramento della potenza/consumo energetico
- Progettazioni a precisione mista: miglioramenti fino al 46%
- Soglia di Efficienza Energetica: OzMAC richiede almeno il 58% di sparsità di bit per mantenere un'efficienza energetica superiore a bMAC
- Sparsità Pratica: Tutti i modelli DL testati superano questa soglia
- Caratteristiche di Scalabilità: La potenza si ridimensiona linearmente con la frequenza, mentre il consumo energetico rimane sostanzialmente costante
Questo articolo si basa sui seguenti studi correlati:
- Bit-Pragmatic (PRA): Il metodo originale di calcolo delle reti neurali profonde bit-pragmatiche
- Bit-Tactical: Approcci software/hardware che sfruttano la sparsità di valore e bit
- STRIPES: Calcolo delle reti neurali profonde bit-seriale
- Bit Fusion: Architettura dinamicamente componibile a livello di bit
La principale differenza di questo articolo risiede nella valutazione rigorosa utilizzando il processo commerciale più recente e nell'estensione a molteplici configurazioni di precisione e frequenza.
- Miglioramenti Significativi: OzMAC realizza miglioramenti significativi in area, potenza e consumo energetico rispetto al bMAC tradizionale
- Fattibilità Commerciale: La valutazione utilizzando il processo TSMC N5 dimostra la fattibilità dell'implementazione commerciale
- Vantaggi di Scalabilità: Mantiene vantaggi su molteplici configurazioni di precisione e frequenza
- Matching del Throughput: Attraverso la scalabilità della frequenza è possibile mantenere vantaggi di efficienza energetica mentre si eguaglia o supera il throughput di bMAC
- Overhead di Latenza: La latenza multi-ciclo di OzMAC potrebbe non essere adatta per applicazioni sensibili alla latenza
- Limitazioni di Precisione: I vantaggi scompaiono con precisioni superiori a 16 bit
- Dipendenza dalla Sparsità: Le prestazioni dipendono fortemente dalla sparsità di bit dei dati di input
- Valutazione a Livello di Sistema Mancante: Ancora non valutato a livello di sistema DLA effettivo
- Integrazione a Livello di Sistema: Valutazione delle prestazioni di array OzMAC di grandi dimensioni in DLA effettivi
- Progettazione Adattiva: Regolazione dinamica della configurazione in base alla sparsità di runtime
- Architettura Ibrida: Progettazione ibrida che combina OzMAC e MAC tradizionali
- Valutazione Rigorosa: Valutazione completa utilizzando processi e strumenti di livello commerciale, con elevata affidabilità dei risultati
- Analisi Multidimensionale: Analisi sistematica su molteplici dimensioni di precisione e frequenza
- Valore Pratico: Verifica dell'esistenza di sparsità di bit su modelli DL effettivi
- Esposizione Chiara: Descrizione chiara dei dettagli tecnici e configurazione sperimentale completa
- Innovazione Limitata: Principalmente implementazione ingegneristica e valutazione della progettazione PRA esistente, con innovazione tecnica relativamente limitata
- Ambito di Applicazione: Applicabile solo a carichi di lavoro con elevata sparsità di bit
- Considerazioni di Sistema Insufficienti: Mancanza di considerazione di fattori a livello di sistema come larghezza di banda della memoria e flusso di dati
- Confronti Limitati: Principalmente confronto con bMAC di base, mancanza di confronto con altre progettazioni MAC avanzate
- Valore Ingegneristico: Fornisce dati di riferimento preziosi per la progettazione commerciale di DLA
- Contributo Metodologico: Stabilisce un framework rigoroso di valutazione della progettazione MAC
- Guida Pratica: Fornisce una soluzione di ottimizzazione hardware fattibile per applicazioni di inferenza a bassa precisione
- Inferenza Edge: Applicazioni AI edge con vincoli di potenza e area
- Calcolo a Bassa Precisione: Inferenza di deep learning con precisione di 8 bit e inferiore
- Modelli Sparsi: Modelli di reti neurali con caratteristiche di elevata sparsità di bit
- Produzione di Massa: Scenari di distribuzione su larga scala che richiedono verifica di processi commerciali
- Sze, V., et al. "Efficient processing of deep neural networks." Synthesis Lectures on Computer Architecture, 2020.
- Albericio, J., et al. "Bit-pragmatic deep neural network computing." MICRO, 2017.
- Delmas Lascorz, A., et al. "Bit-tactical: A software/hardware approach to exploiting value and bit sparsity in neural networks." ASPLOS, 2019.
- Judd, P., et al. "Stripes: Bit-serial deep neural network computing." MICRO, 2016.
- Sharma, H., et al. "Bit fusion: Bit-level dynamically composable architecture for accelerating deep neural network." ISCA, 2018.
Questo articolo fornisce una verifica ingegneristica importante per l'applicazione commerciale della progettazione MAC zero-skipping. Sebbene l'innovazione tecnica sia limitata, la sua metodologia di valutazione rigorosa e i risultati pratici hanno un valore significativo nel promuovere lo sviluppo di acceleratori AI a bassa potenza.