BasisN: Un Nuevo Enfoque para el Procesamiento Eficiente de DNN
BasisN aborda los desafíos de RRAM para cálculos más rápidos y eficientes en energía de redes neuronales profundas.
― 6 minilectura
Tabla de contenidos
- El Desafío de Reprogramar
- Introduciendo BasisN
- Cómo Funciona BasisN
- Representación de Pesos
- Implementación de Hardware
- Proceso de Entrenamiento
- Beneficios de BasisN
- Reducción de Ciclos de Inferencia
- Flexibilidad
- Costos de Hardware Negligibles
- Evaluación de BasisN
- Exactitud y Eficiencia Energética
- Velocidad de Inferencia
- Conclusión
- Fuente original
Las Redes Neuronales Profundas (DNNs) son herramientas súper potentes que se usan en varios campos, como el reconocimiento de imágenes y el procesamiento de lenguaje. Su éxito viene de usar muchas capas, lo que lleva a un montón de cálculos con pesos y operaciones. Para agilizar estos cálculos, se están utilizando nuevas tecnologías, como plataformas de computación analógica en memoria (IMC). Una de las tecnologías prometedoras es la RAM resistiva (RRAM), que muestra buena eficiencia energética.
Sin embargo, las plataformas basadas en RRAM enfrentan algunos desafíos importantes. Suelen requerir mucho tiempo para programar sus celdas y realizar tareas. Por ejemplo, si la red es grande, como DenseNet o ResNet, estos chips podrían no tener suficiente espacio para almacenar todos los pesos necesarios, obligando al sistema a reprogramar sus celdas repetidamente. Esto puede desperdiciar mucho tiempo y energía, lo que hace que sea poco práctico usar estas tecnologías en aplicaciones del mundo real para grandes DNNs.
El Desafío de Reprogramar
Al usar RRAM, programar las celdas para representar los pesos de los DNNs puede llevar mucho tiempo. Un chip típico tiene un número limitado de crossbars, que son necesarios para almacenar los pesos. Si el chip no puede contener todos los pesos necesarios, es necesario detener los cálculos para reprogramar las celdas. Esta reprogramación ralentiza todo el proceso de manera significativa.
Los investigadores han intentado dos estrategias principales para lidiar con este problema. La primera busca reducir el tiempo que lleva la programación. Por ejemplo, algunos sugieren programar las celdas en grupos, en lugar de una a la vez. La segunda metodología busca reducir el tamaño de los DNNs para que quepan en el espacio limitado de los crossbars de RRAM disponibles.
Aunque estas metodologías ayudan un poco, no eliminan la necesidad de reprogramar, lo que todavía causa desaceleraciones significativas en el procesamiento de DNNs.
Introduciendo BasisN
Para enfrentar estos desafíos, se propone un nuevo marco llamado BasisN. Este método busca procesar grandes DNNs sin necesidad de reprogramar los crossbars de RRAM. El marco BasisN funciona al representar los pesos de las capas en los DNNs como combinaciones de un conjunto de vectores base compartidos, que solo necesitan ser programados una vez.
Las partes clave del marco BasisN incluyen:
Nueva Representación de Pesos: En lugar de necesitar programar todos los pesos de un DNN en los crossbars, BasisN utiliza un conjunto de vectores base que pueden representar los pesos mediante combinaciones de estos vectores. Esto significa menos programación y un cálculo más eficiente.
Método de Entrenamiento: Un enfoque de entrenamiento innovador ayuda a que los DNNs encajen en este marco, permitiendo el uso eficiente del número limitado de crossbars.
Cambios Mínimos en Hardware: BasisN requiere poca alteración del hardware existente, lo que facilita su implementación.
Cómo Funciona BasisN
Representación de Pesos
En los métodos tradicionales, cada capa de un DNN se representa como una gran matriz de pesos. Estos pesos se descomponen en porciones más pequeñas que caben en los crossbars de RRAM. Sin embargo, BasisN cambia este enfoque al permitir que los pesos de cada capa se expresen como una combinación de vectores básicos.
Así es como funciona:
- Vectores Base Globales: Se programan un pequeño número de vectores base en los crossbars de RRAM. Estos vectores pueden representar varios pesos en diferentes capas del DNN.
- Combinación de Coeficientes: Cada capa usa estos vectores base, junto con algunos coeficientes, para calcular los pesos necesarios. Los coeficientes le indican al sistema cuánto de cada vector base usar.
De esta manera, en lugar de reprogramar los crossbars para cada capa, el sistema solo necesita cargar diferentes conjuntos de coeficientes, lo que es mucho más rápido y requiere menos energía.
Implementación de Hardware
El marco BasisN modifica ligeramente el hardware para manejar los vectores base y los coeficientes.
- Puertas de Transmisión: Se añaden circuitos de control básicos llamados puertas de transmisión. Estas puertas permiten que la corriente fluya a través de los crossbars según los coeficientes. Esto permite calcular los pesos combinados sin reprogramar.
Proceso de Entrenamiento
La forma en que BasisN entrena los DNNs también es diferente. Incluye optimización alternada:
- Condiciones Iniciales: Los vectores base se inicializan al principio de forma aleatoria pero ortogonal para asegurarse de que puedan cubrir el espacio necesario.
- Optimizando Variables: El proceso de entrenamiento optimiza coeficientes para los pesos mientras mantiene fijos los vectores base, y luego actualiza los vectores base mientras mantiene fijos los coeficientes. Este ciclo continúa hasta que el modelo está entrenado.
Beneficios de BasisN
Reducción de Ciclos de Inferencia
Los resultados experimentales muestran que el marco BasisN reduce significativamente el número de ciclos requeridos para la inferencia. La energía necesaria durante el procesamiento también se reduce a menos del 1% en comparación con los métodos existentes que requieren reprogramación.
Flexibilidad
BasisN puede adaptarse a diferentes configuraciones de hardware. Funciona bien con cualquier número de crossbars disponibles, lo que significa que puede manejar varios tamaños de DNN sin exigir cambios de hardware extensos.
Costos de Hardware Negligibles
Las modificaciones a los sistemas existentes son mínimas. La sobrecarga de área por agregar puertas de transmisión es pequeña, lo que hace que la implementación sea viable sin grandes inversiones.
Evaluación de BasisN
Para evaluar lo efectivo que es BasisN, los investigadores lo probaron usando dos modelos DNN populares-ResNet34 y DenseNet121. Compararon el rendimiento del sistema en dos conjuntos de datos muy utilizados, CIFAR100 e ImageNet.
Exactitud y Eficiencia Energética
Los resultados mostraron que el marco BasisN mantenía altos niveles de exactitud, comparables a los métodos tradicionales, mientras reducía drásticamente el número de ciclos por inferencia. La eficiencia energética también fue significativamente mejor, requiriendo BasisN mucha menos energía para las operaciones de inferencia.
Velocidad de Inferencia
La velocidad de inferencia en BasisN fue impresionante. Al evitar el paso de reprogramación que requieren los métodos tradicionales, los tiempos de procesamiento fueron mucho más rápidos, permitiendo cálculos más rápidos en aplicaciones del mundo real.
Conclusión
El marco BasisN ofrece una solución prometedora a los desafíos que enfrentan los aceleradores basados en RRAM al procesar grandes DNNs. Al cambiar la forma en que se representan los pesos y usar un enfoque de entrenamiento novedoso, permite un cálculo eficiente sin necesidad de reprogramación que consume mucho tiempo.
Este avance podría llevar a aplicaciones más prácticas para DNNs en varios campos, allanan el camino para un mejor rendimiento en tareas que requieren aprendizaje profundo. Los cambios mínimos en hardware y los importantes aumentos en velocidad y eficiencia energética hacen de BasisN un desarrollo emocionante en el mundo del aprendizaje automático y la inteligencia artificial.
Título: BasisN: Reprogramming-Free RRAM-Based In-Memory-Computing by Basis Combination for Deep Neural Networks
Resumen: Deep neural networks (DNNs) have made breakthroughs in various fields including image recognition and language processing. DNNs execute hundreds of millions of multiply-and-accumulate (MAC) operations. To efficiently accelerate such computations, analog in-memory-computing platforms have emerged leveraging emerging devices such as resistive RAM (RRAM). However, such accelerators face the hurdle of being required to have sufficient on-chip crossbars to hold all the weights of a DNN. Otherwise, RRAM cells in the crossbars need to be reprogramed to process further layers, which causes huge time/energy overhead due to the extremely slow writing and verification of the RRAM cells. As a result, it is still not possible to deploy such accelerators to process large-scale DNNs in industry. To address this problem, we propose the BasisN framework to accelerate DNNs on any number of available crossbars without reprogramming. BasisN introduces a novel representation of the kernels in DNN layers as combinations of global basis vectors shared between all layers with quantized coefficients. These basis vectors are written to crossbars only once and used for the computations of all layers with marginal hardware modification. BasisN also provides a novel training approach to enhance computation parallelization with the global basis vectors and optimize the coefficients to construct the kernels. Experimental results demonstrate that cycles per inference and energy-delay product were reduced to below 1% compared with applying reprogramming on crossbars in processing large-scale DNNs such as DenseNet and ResNet on ImageNet and CIFAR100 datasets, while the training and hardware costs are negligible.
Autores: Amro Eldebiky, Grace Li Zhang, Xunzhao Yin, Cheng Zhuo, Ing-Chao Lin, Ulf Schlichtmann, Bing Li
Última actualización: 2024-07-04 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2407.03738
Fuente PDF: https://arxiv.org/pdf/2407.03738
Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.