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 del Artículo: 2402.19376
- Título: Commercial Evaluation of Zero-Skipping MAC Design for Bit Sparsity Exploitation in DL Inference
- Autores: Harideep Nair, Prabhu Vellaisamy, Tsung-Han Lin, Perry Wang, Shawn Blanton, John Paul Shen
- Institución: Carnegie Mellon University, MediaTek USA Inc.
- Clasificación: cs.AR (Arquitectura de Computadoras)
- Fecha de Publicación: Febrero de 2024
- Enlace del Artículo: https://arxiv.org/abs/2402.19376
Este artículo propone OzMAC (Omit-zero-MAC), una implementación mejorada del diseño MAC Bit-Pragmatic (PRA), específicamente diseñada para explotar la dispersión de bits en la inferencia de aprendizaje profundo. A diferencia de trabajos anteriores, este estudio utiliza el nodo de proceso TSMC N5 de grado comercial, realizando una evaluación rigurosa posterior a la síntesis de diseños con múltiples anchos de bits y frecuencias de reloj. Los resultados demuestran que existe alta dispersión de bits en ocho cargas de trabajo de aprendizaje profundo INT8 preentrenadas, logrando OzMAC de 8 bits mejoras significativas del 21%, 70% y 28% en área, potencia y consumo de energía, respectivamente.
- Cuello de Botella Computacional: La matriz de unidades de multiplicación-acumulación (MAC) en unidades de multiplicación de matrices generales (GEMM) es la estructura computacional central de los aceleradores de aprendizaje profundo, cuya eficiencia impacta directamente el rendimiento general
- Tendencias de Precisión: Los estándares industriales están evolucionando desde punto flotante de 32 bits (FP32) hacia punto flotante de 16 bits (FP16), enteros de 8 bits (INT8) e incluso precisiones más bajas
- Requisitos de Eficiencia Energética: Las aplicaciones de inferencia en el borde tienen restricciones estrictas en área, potencia y consumo de energía
- Los modelos de aprendizaje profundo contienen abundante dispersión de bits (bit sparsity), es decir, muchos bits '0' en la representación binaria
- Aunque el diseño Bit-Pragmatic (PRA) existente propone el concepto de explotar la dispersión de bits, carece de evaluación rigurosa con procesos de grado comercial
- Es necesario evaluar la viabilidad y beneficios del diseño MAC de omisión de ceros en implementaciones comerciales reales
- Diseño OzMAC: Arquitectura MAC mejorada de omisión de ceros basada en PRA, que explota dinámicamente la dispersión de bits omitiendo los bits cero en valores binarios
- Evaluación de Grado Comercial: Evaluación rigurosa de potencia-rendimiento-área (PPA) utilizando el proceso TSMC N5 (5nm) y herramientas de diseño comerciales
- Análisis Multidimensional: Evaluación integral abarcando múltiples precisiones de datos (4 bits, 8 bits, 16 bits) y frecuencias de reloj (0.5 GHz, 1 GHz, 1.5 GHz)
- Verificación de Dispersión: Validación de la existencia de alta dispersión de bits en ocho modelos de aprendizaje profundo, demostrando cómo explotar la reducción de potencia para aumentar el rendimiento
OzMAC consta de tres módulos funcionales principales:
- Oz-encoder (Codificador de Ceros):
- Máquina de estados finitos que rastrea las posiciones actuales y siguientes de los bits '1' en patrones de entrada
- Genera valores de codificación one-hot, capturando la posición de los bits '1' en cada ciclo de reloj
- Ejemplo: entrada '0101₂' se codifica como dos valores one-hot, distribuidos en dos ciclos de reloj: primer ciclo '0100₂', siguiente ciclo '0001₂'
- Desplazador (Shifter):
- Determina la cantidad de desplazamiento de la segunda entrada basándose en la salida del codificador Oz
- A diferencia del desplazador binario de PRA, OzMAC utiliza representación one-hot para simplificar el hardware del desplazador
- Acumulador (Accumulator):
- Añade la segunda entrada apropiadamente desplazada al valor del acumulador
- Mecanismo de Omisión de Ceros: Solo realiza cálculos en bits '1', omitiendo bits '0', reduciendo ciclos de cálculo
- Optimización del Desplazador: Utiliza entrada de codificación one-hot para simplificar la complejidad de puertas del desplazador
- Cálculo en Serie: Intercambia latencia por menor área y potencia
- Nodo de Proceso: TSMC N5 (5nm) de grado comercial
- Herramientas de Diseño: Synopsys VCS, SpyGlass, Design Compiler, PrimeTime PX
- Método de Verificación: Diseño RTL en SystemVerilog, simulación de netlist a nivel de puertas, volcado SAIF para cálculo preciso de potencia
Se utilizan ocho modelos cuantificados INT8 preentrenados de la biblioteca PyTorch Torchvision:
- MobileNetV2, MobileNetV3
- InceptionV3, ShuffleNetV2
- GoogleNet, ResNet18, ResNet50, ResNeXt101
- Área: Área del chip (μm²)
- Potencia: Potencia dinámica (mW)
- Latencia: Latencia de cálculo (ns)
- Consumo de Energía: Consumo de energía por operación (pJ)
- Configuraciones de Precisión: 4×4, 4×8, 8×8, 8×16, 16×16 bits
- Rango de Frecuencias: 500 MHz, 1 GHz, 1.5 GHz
- Línea Base de Comparación: Diseño bMAC tradicional de bits en paralelo
| Modelo | Promedio de Bits '1' | Porcentaje de Dispersión de Bits |
|---|
| 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% |
Todos los modelos exhiben dispersión de bits cercana al 70%, con MobileNetV3 alcanzando el máximo de 78.61%.
| Hardware MAC | Área (μm²) | Potencia (mW) | Latencia (ns) | Consumo de Energía (pJ) |
|---|
| bMAC | 25.361 | 0.084 | 2 | 0.167 |
| OzMAC | 19.996 | 0.025 | 4.76 | 0.120 |
| Porcentaje de Mejora | 21.2% | 69.7% | - | 28.0% |
Los resultados en diferentes configuraciones de precisión muestran:
- Mejor mejora de área: Configuración 8×16 alcanza 31.7%
- Mejor mejora de consumo de energía: Configuraciones de precisión mixta 4×8 y 8×16 alcanzan 45%
- Punto crítico: La mejora de consumo de energía desaparece en configuración 16×16 (-1.2%)
- Evaluación a Frecuencia Igual: En el rango de 500 MHz a 1.5 GHz, OzMAC mantiene consistentemente aproximadamente 70% de mejora de potencia y 29% de mejora de consumo de energía
- Evaluación a Latencia Igual: Después de escalar la frecuencia para igualar el rendimiento, OzMAC aún logra:
- Diseños INT4: 29% de mejora en potencia/consumo de energía
- Diseños INT8: 30% de mejora en potencia/consumo de energía
- Diseños de precisión mixta: mejoras de hasta 46%
- Umbral de Eficiencia Energética: OzMAC requiere al menos 58% de dispersión de bits para mantener eficiencia energética superior a bMAC
- Dispersión Práctica: Todos los modelos de DL probados superan este umbral
- Características de Escalado: La potencia se escala linealmente con la frecuencia, el consumo de energía se mantiene esencialmente constante
Este artículo se basa en las siguientes investigaciones relacionadas:
- Bit-Pragmatic (PRA): Método original de computación de redes neuronales profundas pragmáticas en bits
- Bit-Tactical: Enfoque de software/hardware que explota dispersión de valores y bits
- STRIPES: Computación de redes neuronales profundas en serie de bits
- Bit Fusion: Arquitectura dinámicamente componible a nivel de bits
La principal distinción de este artículo radica en la evaluación rigurosa utilizando el proceso comercial más reciente y la extensión a múltiples configuraciones de precisión y frecuencia.
- Mejoras Significativas: OzMAC logra mejoras significativas del 21%, 70% y 28% en área, potencia y consumo de energía respectivamente en comparación con bMAC tradicional
- Viabilidad Comercial: La evaluación utilizando el proceso TSMC N5 demuestra la viabilidad de implementación comercial
- Ventajas de Escalado: Mantiene ventajas en múltiples configuraciones de precisión y frecuencia
- Coincidencia de Rendimiento: Mediante escalado de frecuencia, puede igualar o superar el rendimiento de bMAC mientras mantiene ventajas de eficiencia energética
- Sobrecarga de Latencia: La latencia multiciclo de OzMAC puede no ser adecuada para aplicaciones sensibles a la latencia
- Limitación de Precisión: Las ventajas desaparecen en precisiones superiores a 16 bits
- Dependencia de Dispersión: El rendimiento depende fuertemente de la dispersión de bits de los datos de entrada
- Evaluación a Nivel de Sistema Ausente: Aún no se ha evaluado a nivel de sistema DLA real
- Integración a Nivel de Sistema: Evaluar el rendimiento de grandes matrices OzMAC en DLA reales
- Diseño Adaptativo: Ajustar dinámicamente la configuración según la dispersión en tiempo de ejecución
- Arquitectura Híbrida: Diseño híbrido que combine OzMAC y MAC tradicional
- Evaluación Rigurosa: Evaluación integral utilizando procesos y herramientas de grado comercial, resultados altamente confiables
- Análisis Multidimensional: Análisis sistemático abarcando múltiples dimensiones de precisión y frecuencia
- Valor Práctico: Validación de la existencia de dispersión de bits en modelos DL reales
- Expresión Clara: Descripción clara de detalles técnicos, configuración experimental completa
- Innovación Limitada: Principalmente implementación de ingeniería y evaluación del diseño PRA existente, innovación técnica relativamente limitada
- Rango de Aplicación: Solo aplicable a cargas de trabajo con alta dispersión de bits
- Consideraciones de Sistema Insuficientes: Falta de consideración de factores a nivel de sistema como ancho de banda de memoria y flujo de datos
- Comparación Limitada: Principalmente comparación con bMAC básico, falta de comparación con otros diseños MAC avanzados
- Valor de Ingeniería: Proporciona datos de referencia valiosos para el diseño comercial de DLA
- Contribución Metodológica: Establece un marco riguroso de evaluación de diseño MAC
- Orientación Práctica: Proporciona solución de optimización de hardware viable para aplicaciones de inferencia de baja precisión
- Inferencia en el Borde: Aplicaciones de IA en el borde con restricciones de potencia y área
- Computación de Baja Precisión: Inferencia de aprendizaje profundo de 8 bits o inferior
- Modelos Dispersos: Modelos de redes neuronales con características de alta dispersión de bits
- Producción en Masa: Escenarios de despliegue a gran escala que requieren verificación de procesos comerciales
- 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.
Este artículo proporciona verificación de ingeniería importante para la aplicación comercial del diseño MAC de omisión de ceros. Aunque la innovación técnica es limitada, su metodología de evaluación rigurosa y resultados prácticos tienen valor importante para impulsar el desarrollo de aceleradores de IA de bajo consumo de energía.