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
Application de l'Explication de Graphes à la Fusion d'Opérateurs
Les techniques de fusion de couches sont essentielles pour améliorer l'efficacité de l'inférence des réseaux de neurones profonds (DNN) lors du déploiement. La fusion vise à réduire les coûts d'inférence en diminuant les transactions de données entre le tampon sur puce d'un accélérateur et la DRAM. Ceci est réalisé par l'exécution groupée de multiples opérations telles que la convolution et les activations dans des unités d'exécution uniques - groupes de fusion. Cependant, la capacité limitée du tampon sur puce restreint la taille des groupes de fusion, et l'optimisation de la fusion sur des DNN complets nécessite un partitionnement en plusieurs groupes de fusion. Trouver les groupes optimaux est un problème complexe où la présence de solutions invalides entrave les algorithmes de recherche traditionnels et exige des approches robustes. Dans cet article, nous intégrons l'IA explicable, spécifiquement les Techniques d'Explication de Graphes (GET), à la fusion de couches. Étant donné un groupe de fusion invalide, nous identifions les opérations les plus responsables de l'invalidité du groupe, puis utilisons cette connaissance pour diviser récursivement le groupe de fusion original via un algorithme glouton basé sur les arbres afin de minimiser l'accès à la DRAM. Nous associons notre schéma à des algorithmes courants et optimisons les DNN sur deux types de fusion de couches : Line-Buffer Depth First (LBDF) et Branch Requirement Reduction (BRR). Les expériences démontrent l'efficacité de notre schéma sur plusieurs réseaux de neurones convolutifs populaires et classiques comme les ResNets et MobileNets. Notre schéma réalise une réduction de l'accès à la DRAM de plus de 20% sur EfficientNet-B3.
Le problème fondamental abordé par cette recherche est l'optimisation de la fusion de couches (Layer Fusion) dans les réseaux de neurones profonds. La fusion de couches est une technique d'accélération de l'inférence qui réduit le nombre de transferts de données entre le cache sur puce d'un accélérateur neuronal et la DRAM en fusionnant plusieurs couches d'opérations DNN (telles que la convolution et ReLU) dans une unité d'exécution unique, réduisant ainsi la latence d'inférence et la consommation d'énergie.
Goulot d'étranglement des performances : À mesure que les modèles DNN deviennent plus grands et plus profonds, l'accès à la DRAM devient le principal goulot d'étranglement en termes de performance et de consommation d'énergie
Exigences de déploiement : Lors du déploiement de DNN sur des appareils périphériques et des plateformes mobiles, les limitations de bande passante mémoire et de consommation d'énergie sont particulièrement critiques
Contraintes matérielles : La capacité limitée du cache sur puce nécessite un partitionnement intelligent des opérations pour maximiser l'effet de fusion
Faible efficacité de recherche : Les algorithmes de recherche traditionnels (tels que les algorithmes évolutionnaires et la recherche locale) sont inefficaces face aux groupes de fusion invalides
Partitionnement aléatoire : Les méthodes existantes partitionnent généralement les groupes de fusion invalides de manière aléatoire, sans garantir l'optimalité du coût d'accès à la DRAM
Manque d'explicabilité : Incapacité à identifier les opérations spécifiques responsables de l'invalidité d'un groupe de fusion, rendant difficile l'optimisation ciblée
Les auteurs proposent d'intégrer les techniques d'IA explicable à l'optimisation de la fusion de couches, en utilisant les Techniques d'Explication de Graphes (GET) pour identifier les opérations critiques responsables de l'invalidité des groupes de fusion, puis en utilisant un algorithme de partitionnement d'arbre glouton pour minimiser le coût d'accès à la DRAM.
Application novatrice des techniques d'explication de graphes à l'optimisation de la fusion de couches : Combinaison innovante de l'IA explicable et du domaine de l'optimisation matérielle
Proposition d'un algorithme de partitionnement d'arbre récursif : Conception d'un schéma de partitionnement récursif basé sur une stratégie gloutonne capable de traiter intelligemment les groupes de fusion invalides
Validation inter-méthodes de fusion : Vérification de l'efficacité du schéma sur deux méthodes de fusion de couches différentes : LBDF et BRR
Améliorations significatives des performances : Réalisation d'une réduction de l'accès à la DRAM supérieure à 20% sur EfficientNet-B3
Étant donné un graphe de calcul d'un réseau de neurones profond G et une capacité de cache sur puce β, l'objectif de l'optimisation de la fusion de couches est de trouver le schéma de partitionnement optimal Φ tel que :
min_Φ Σ_{φn∈Φ} F_D(φn)
s.t. ∀φn ∈ Φ | F_β(φn) < β
où F_D calcule le coût d'accès à la DRAM, F_β calcule les besoins en cache, et les besoins en mémoire de chaque groupe de fusion φn ne peuvent pas dépasser la capacité de cache β.
Les connexions résiduelles dans les DNN modernes rendent la simple suppression d'arêtes inefficace pour séparer les groupes de fusion. L'algorithme utilise le tri topologique et la vérification récursive pour assurer le traitement correct des connexions de saut imbriquées.
Utilise un mécanisme de cache pour stocker les résultats de partitionnement et les calculs de coûts, évitant les calculs redondants et améliorant l'efficacité de la recherche.
Les résultats BRR et LBDF avec cache de 128 KB montrent que les méthodes améliorées par GET surpassent les baselines sur presque tous les réseaux, réalisant des améliorations supérieures à 10% sur les réseaux complexes comme MobileNetV2.
Les expériences montrent qu'une recherche avec budget de 1k utilisant GET peut surpasser la performance de base avec budget de 4k, démontrant l'efficacité de la méthode.
Première application des techniques d'explication de graphes au domaine de l'optimisation matérielle, offrant une nouvelle perspective pour résoudre ce problème classique de fusion de couches.
Simplification du modèle matériel : Considère actuellement uniquement les contraintes de capacité de cache, sans tenir compte des caractéristiques matérielles plus complexes
Limitation des types de fusion : BRR offre un support limité pour les structures de réseau modernes (comme les modules SE)
Surcharge computationnelle : L'entraînement du GNN et l'exécution de GET ajoutent des coûts de prétraitement
Forte innovativité : Première application des techniques d'IA explicable à l'optimisation matérielle, ouvrant une nouvelle direction de recherche
Méthode complète : Forme une boucle fermée complète allant de la modélisation du problème à la conception d'algorithmes et à la vérification expérimentale
Expérimentation complète : Vérification exhaustive couvrant plusieurs réseaux, méthodes de fusion et algorithmes de recherche
Valeur pratique élevée : Applicable directement dans les scénarios de déploiement réels
Absence d'analyse théorique : Manque de garanties théoriques sur la convergence et l'optimalité de la méthode
Vérification matérielle insuffisante : Les expériences sont principalement basées sur la simulation, manquant de vérification sur des plateformes matérielles réelles
Scalabilité inconnue : La capacité de traitement pour les réseaux de plus grande envergure reste à vérifier
L'article cite des travaux importants de plusieurs domaines incluant la fusion de couches, les réseaux de neurones graphiques et l'IA explicable, notamment :
Sze et al. (2017) : Synthèse du traitement efficace de l'apprentissage profond
Ying et al. (2019) : Article original de GNNExplainer
Luo et al. (2020) : Méthode PGExplainer
Shan et al. (2021) : Technique RG-Explainer
Évaluation Globale : Ceci est un article de recherche de haute qualité interdisciplinaire qui applique avec succès les techniques d'IA explicable aux problèmes d'optimisation matérielle. La méthode est novatrice et l'expérimentation est complète. Bien qu'il y ait une marge d'amélioration dans l'analyse théorique et la vérification matérielle, son innovativité et sa valeur pratique lui confèrent une importance significative dans le domaine de l'optimisation des systèmes d'apprentissage profond.