Layer fusion techniques are critical to improving the inference efficiency of deep neural networks (DNN) for deployment. Fusion aims to lower inference costs by reducing data transactions between an accelerator's on-chip buffer and DRAM. This is accomplished by grouped execution of multiple operations like convolution and activations together into single execution units - fusion groups. However, on-chip buffer capacity limits fusion group size and optimizing fusion on whole DNNs requires partitioning into multiple fusion groups. Finding the optimal groups is a complex problem where the presence of invalid solutions hampers traditional search algorithms and demands robust approaches. In this paper we incorporate Explainable AI, specifically Graph Explanation Techniques (GET), into layer fusion. Given an invalid fusion group, we identify the operations most responsible for group invalidity, then use this knowledge to recursively split the original fusion group via a greedy tree-based algorithm to minimize DRAM access. We pair our scheme with common algorithms and optimize DNNs on two types of layer fusion: Line-Buffer Depth First (LBDF) and Branch Requirement Reduction (BRR). Experiments demonstrate the efficacy of our scheme on several popular and classical convolutional neural networks like ResNets and MobileNets. Our scheme achieves over 20% DRAM Access reduction on EfficientNet-B3.
academic
Applicazione della Spiegazione dei Grafi alla Fusione degli Operatori
Le tecniche di fusione dei livelli sono critiche per migliorare l'efficienza dell'inferenza delle reti neurali profonde (DNN) per il deployment. La fusione mira a ridurre i costi di inferenza diminuendo le transazioni di dati tra il buffer on-chip dell'acceleratore e la DRAM. Questo si realizza attraverso l'esecuzione raggruppata di più operazioni come convoluzione e attivazioni insieme in singole unità di esecuzione - gruppi di fusione. Tuttavia, i limiti della capacità del buffer on-chip limitano la dimensione del gruppo di fusione e l'ottimizzazione della fusione su intere DNN richiede il partizionamento in più gruppi di fusione. Trovare i gruppi ottimali è un problema complesso dove la presenza di soluzioni non valide ostacola gli algoritmi di ricerca tradizionali e richiede approcci robusti. In questo articolo incorporiamo l'IA Esplicabile, specificamente le Tecniche di Spiegazione dei Grafi (GET), nella fusione dei livelli. Dato un gruppo di fusione non valido, identifichiamo le operazioni più responsabili dell'invalidità del gruppo, quindi utilizziamo questa conoscenza per dividere ricorsivamente il gruppo di fusione originale tramite un algoritmo greedy basato su alberi per minimizzare l'accesso alla DRAM. Abbiniamo il nostro schema con algoritmi comuni e ottimizziamo le DNN su due tipi di fusione dei livelli: Line-Buffer Depth First (LBDF) e Branch Requirement Reduction (BRR). Gli esperimenti dimostrano l'efficacia del nostro schema su diverse reti neurali convoluzionali popolari e classiche come ResNets e MobileNets. Il nostro schema raggiunge una riduzione dell'accesso alla DRAM superiore al 20% su EfficientNet-B3.
Il problema centrale affrontato da questa ricerca è l'ottimizzazione della fusione dei livelli (Layer Fusion) nelle reti neurali profonde. La fusione dei livelli è una tecnica di accelerazione dell'inferenza che riduce il numero di trasferimenti di dati tra la cache on-chip dell'acceleratore neurale e la DRAM, combinando più livelli di operazioni DNN (come convoluzione e ReLU) in una singola unità di esecuzione, riducendo così la latenza di inferenza e il consumo energetico.
Collo di Bottiglia Prestazionale: Con l'aumento delle dimensioni e della profondità dei modelli DNN, l'accesso alla DRAM diventa il principale collo di bottiglia per prestazioni e consumo energetico
Requisiti di Deployment: Quando si distribuiscono DNN su dispositivi edge e piattaforme mobili, i vincoli di larghezza di banda della memoria e consumo energetico sono particolarmente severi
Vincoli Hardware: La capacità della cache on-chip è limitata, richiedendo un raggruppamento intelligente delle operazioni per massimizzare l'effetto di fusione
Bassa Efficienza di Ricerca: Gli algoritmi di ricerca tradizionali (come algoritmi evolutivi e ricerca locale) hanno bassa efficienza quando affrontano gruppi di fusione non validi
Partizionamento Casuale: I metodi esistenti tipicamente dividono casualmente i gruppi di fusione non validi, senza garantire l'ottimalità del costo di accesso alla DRAM
Mancanza di Interpretabilità: Impossibile identificare le operazioni specifiche che causano l'invalidità del gruppo di fusione, rendendo difficile l'ottimizzazione mirata
Gli autori propongono di incorporare tecniche di IA Esplicabile nell'ottimizzazione della fusione dei livelli, utilizzando le Tecniche di Spiegazione dei Grafi (Graph Explanation Techniques, GET) per identificare le operazioni critiche che causano l'invalidità del gruppo di fusione, quindi utilizzare un algoritmo greedy basato su alberi per il partizionamento intelligente, al fine di minimizzare il costo di accesso alla DRAM.
Prima Applicazione delle Tecniche di Spiegazione dei Grafi all'Ottimizzazione della Fusione dei Livelli: Combinazione innovativa di IA Esplicabile e ottimizzazione hardware
Proposta di un Algoritmo di Partizionamento Ricorsivo Basato su Alberi: Progettazione di uno schema di partizionamento ricorsivo basato su strategie greedy che gestisce intelligentemente i gruppi di fusione non validi
Verifica Trasversale dei Metodi di Fusione: Validazione dello schema su due diversi metodi di fusione dei livelli: LBDF e BRR
Significativi Miglioramenti Prestazionali: Realizzazione di una riduzione dell'accesso alla DRAM superiore al 20% su EfficientNet-B3
Dato un grafo computazionale di una rete neurale profonda G e la capacità della cache on-chip β, l'obiettivo dell'ottimizzazione della fusione dei livelli è trovare lo schema di partizionamento ottimale Φ tale che:
min_Φ Σ_{φn∈Φ} F_D(φn)
s.t. ∀φn ∈ Φ | F_β(φn) < β
dove F_D calcola il costo di accesso alla DRAM, F_β calcola il requisito di cache, e il requisito di memoria di ogni gruppo di fusione φn non può superare la capacità di cache β.
Le connessioni residue nelle DNN moderne rendono l'eliminazione semplice dei bordi insufficiente per separare i gruppi di fusione. L'algoritmo garantisce la corretta gestione delle connessioni di salto annidate attraverso ordinamento topologico e verifica ricorsiva.
Utilizza un meccanismo di cache per memorizzare i risultati di partizionamento e i calcoli di costo, evitando calcoli ripetuti e migliorando l'efficienza della ricerca.
I risultati di BRR e LBDF con cache 128KB mostrano che i metodi potenziati da GET superano il baseline su quasi tutte le reti, realizzando miglioramenti superiori al 10% in particolare su reti complesse come MobileNetV2.
Gli esperimenti mostrano che la ricerca con budget 1k utilizzando GET può superare le prestazioni del baseline con budget 4k, dimostrando l'alta efficienza del metodo.
Prima applicazione delle tecniche di spiegazione dei grafi nel campo dell'ottimizzazione hardware, fornendo una nuova prospettiva di soluzione per il classico problema della fusione dei livelli.
Semplificazione del Modello Hardware: Attualmente considera solo i vincoli di capacità della cache, senza affrontare caratteristiche hardware più complesse
Limitazioni dei Tipi di Fusione: BRR ha supporto limitato per strutture di rete moderne (come moduli SE)
Costi Computazionali: L'addestramento GNN e l'esecuzione GET aggiungono costi di pre-elaborazione
L'articolo cita importanti lavori da più campi inclusi fusione dei livelli, reti neurali grafiche e IA Esplicabile, tra cui:
Sze et al. (2017): Rassegna sul processamento efficiente del deep learning
Ying et al. (2019): Articolo originale di GNNExplainer
Luo et al. (2020): Metodo PGExplainer
Shan et al. (2021): Tecnologia RG-Explainer
Valutazione Complessiva: Questo è un articolo di ricerca di alta qualità interdisciplinare che applica con successo le tecniche di IA Esplicabile al problema dell'ottimizzazione hardware, con metodo innovativo e sperimentazione completa. Sebbene vi sia spazio per miglioramenti nell'analisi teorica e nella verifica hardware, la sua innovatività e praticità lo rendono di notevole valore nel campo dell'ottimizzazione dei sistemi di deep learning.