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
Aplicación de Explicación de Grafos a la Fusión de Operadores
Las técnicas de fusión de capas son críticas para mejorar la eficiencia de inferencia de redes neuronales profundas (DNN) para su implementación. La fusión tiene como objetivo reducir los costos de inferencia disminuyendo las transacciones de datos entre el búfer en chip del acelerador y la DRAM. Esto se logra mediante la ejecución agrupada de múltiples operaciones como convolución y activaciones en unidades de ejecución única - grupos de fusión. Sin embargo, los límites de capacidad del búfer en chip restringen el tamaño del grupo de fusión y optimizar la fusión en DNN completas requiere particionamiento en múltiples grupos de fusión. Encontrar los grupos óptimos es un problema complejo donde la presencia de soluciones inválidas obstaculiza los algoritmos de búsqueda tradicionales y demanda enfoques robustos. En este artículo incorporamos IA Explicable, específicamente Técnicas de Explicación de Grafos (GET), en la fusión de capas. Dado un grupo de fusión inválido, identificamos las operaciones más responsables de la invalidez del grupo, luego utilizamos este conocimiento para dividir recursivamente el grupo de fusión original mediante un algoritmo codicioso basado en árbol para minimizar el acceso a DRAM. Emparejamos nuestro esquema con algoritmos comunes y optimizamos DNN en dos tipos de fusión de capas: Line-Buffer Depth First (LBDF) y Branch Requirement Reduction (BRR). Los experimentos demuestran la eficacia de nuestro esquema en varias redes neuronales convolucionales populares y clásicas como ResNets y MobileNets. Nuestro esquema logra una reducción de acceso a DRAM superior al 20% en EfficientNet-B3.
El problema central que aborda esta investigación es la optimización de fusión de capas (Layer Fusion) en redes neuronales profundas. La fusión de capas es una técnica de aceleración de inferencia que reduce el número de transacciones de datos entre el búfer en chip del acelerador neuronal y la DRAM fusionando múltiples capas de operaciones DNN (como convolución y ReLU) en una única unidad de ejecución, reduciendo así la latencia de inferencia y el consumo de energía.
Cuello de botella de rendimiento: A medida que los modelos DNN se vuelven más grandes y profundos, el acceso a DRAM se convierte en el principal cuello de botella de rendimiento y consumo de energía
Requisitos de implementación: Al implementar DNN en dispositivos periféricos y plataformas móviles, las limitaciones de ancho de banda de memoria y consumo de energía son especialmente graves
Restricciones de hardware: La capacidad limitada del búfer en chip requiere agrupar operaciones de manera inteligente para maximizar el efecto de fusión
Baja eficiencia de búsqueda: Los algoritmos de búsqueda tradicionales (como algoritmos evolutivos, búsqueda local) tienen baja eficiencia cuando se enfrentan a grupos de fusión inválidos
Particionamiento aleatorio: Los métodos existentes generalmente dividen aleatoriamente grupos de fusión inválidos, sin garantizar costos óptimos de acceso a DRAM
Falta de interpretabilidad: No pueden identificar operaciones específicas que causen invalidez del grupo de fusión, lo que dificulta la optimización dirigida
Los autores proponen incorporar técnicas de IA Explicable en la optimización de fusión de capas, utilizando Técnicas de Explicación de Grafos (GET) para identificar operaciones clave que causan invalidez del grupo de fusión, y luego empleando un algoritmo de árbol codicioso para particionamiento inteligente, minimizando el costo de acceso a DRAM.
Primera aplicación de técnicas de explicación de grafos a optimización de fusión de capas: Combinación innovadora de IA Explicable y optimización de hardware
Propuesta de algoritmo de particionamiento recursivo en árbol: Diseño de un esquema de particionamiento recursivo basado en estrategia codiciosa que puede manejar inteligentemente grupos de fusión inválidos
Verificación entre métodos de fusión: Validación del esquema en dos métodos diferentes de fusión de capas: LBDF y BRR
Mejora significativa de rendimiento: Logro de reducción de acceso a DRAM superior al 20% en EfficientNet-B3
Dado un grafo computacional de una red neuronal profunda G y capacidad del búfer en chip β, el objetivo de la optimización de fusión de capas es encontrar el esquema de particionamiento óptimo Φ tal que:
min_Φ Σ_{φn∈Φ} F_D(φn)
s.t. ∀φn ∈ Φ | F_β(φn) < β
donde F_D calcula el costo de acceso a DRAM, F_β calcula el requisito de búfer, y el requisito de memoria de cada grupo de fusión φn no puede exceder la capacidad de búfer β.
Las conexiones residuales en DNN modernas hacen que la simple eliminación de bordes sea insuficiente para separar grupos de fusión. El algoritmo mediante ordenamiento topológico y verificación recursiva, asegura el manejo correcto de conexiones de salto anidadas.
Utiliza mecanismo de caché para almacenar resultados de particionamiento y cálculos de costos, evitando cálculos repetidos y mejorando la eficiencia de búsqueda.
Los resultados de BRR y LBDF bajo búfer de 128KB muestran que los métodos mejorados con GET superan la línea base en casi todas las redes, logrando mejoras superiores al 10% especialmente en redes complejas como MobileNetV2.
Los experimentos muestran que la búsqueda con presupuesto de 1k usando GET puede superar el rendimiento de la línea base con presupuesto de 4k, demostrando la alta eficiencia del método.
Primera aplicación de técnicas de explicación de grafos al campo de optimización de hardware, proporcionando nuevas perspectivas de solución para el problema clásico de fusión de capas.
Simplificación del modelo de hardware: Actualmente solo considera restricciones de capacidad de búfer, sin abordar características de hardware más complejas
Limitación de tipos de fusión: BRR tiene soporte limitado para estructuras de red modernas (como módulos SE)
Costo computacional: El entrenamiento de GNN y la ejecución de GET añaden costo de preprocesamiento
El artículo cita trabajos importantes de múltiples campos incluyendo fusión de capas, redes neuronales de grafos, IA Explicable, entre otros:
Sze et al. (2017): Revisión exhaustiva de procesamiento eficiente de aprendizaje profundo
Ying et al. (2019): Artículo original de GNNExplainer
Luo et al. (2020): Método PGExplainer
Shan et al. (2021): Técnica RG-Explainer
Evaluación General: Este es un artículo de investigación de alta calidad interdisciplinaria que aplica exitosamente técnicas de IA Explicable a problemas de optimización de hardware, con métodos novedosos y experimentación exhaustiva. Aunque hay espacio para mejora en análisis teórico y verificación de hardware, su innovación y practicidad lo hacen de valor importante en el campo de optimización de sistemas de aprendizaje profundo.