Un alto rendimiento arquitectura de hardware reconfigurable para una red neuronal convolucional ligera
Autores: An, Fubang; Wang, Lingli; Zhou, Xuegong
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Un alto rendimiento arquitectura de hardware reconfigurable para una red neuronal convolucional ligera
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
EfficientNet
Acelerador de hardware
Red neuronal convolucional
Rendimiento
Convolución depthwise
Funciones de activación no lineales
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 41
Citaciones: Sin citaciones
Desde que Google propuso la red neuronal convolucional liviana EfficientNet en 2019, la serie de modelos se ha vuelto muy popular rápidamente debido a su rendimiento superior con un pequeño número de parámetros. Sin embargo, los aceleradores de hardware de red neuronal convolucional existentes para EfficientNet aún tienen mucho margen para mejorar el rendimiento de la convolución profunda, el módulo de apriete y excitación y las funciones de activación no lineales. En este documento, primero diseñamos una matriz de registros reconfigurable y un núcleo computacional para acelerar la convolución profunda. A continuación, proponemos una unidad vectorial para implementar las funciones de activación no lineales y la operación de escala. Se propone una arquitectura de núcleo computacional dual de secuencia intercambiable para mejorar el rendimiento y la utilización. Además, se diseñan las arquitecturas de memoria para completar el acelerador de hardware para la arquitectura de cómputo mencionada anteriormente. Finalmente, para evaluar el rendimiento del acelerador de hardware, el acelerador se implementa en base a Xilinx XCVU37P. Los resultados muestran que el acelerador propuesto puede funcionar a una frecuencia principal de reloj del sistema de 300 MHz con el núcleo DSP a 600 MHz. El rendimiento de EfficientNet-B3 en nuestra arquitectura puede alcanzar 69,50 FPS y 255,22 GOPS. En comparación con el último acelerador EfficientNet-B3, que utiliza la misma placa de desarrollo FPGA, el acelerador propuesto en este documento puede lograr una mejora de 1,28 veces en el rendimiento de un solo núcleo y una mejora de 1,38 veces en el rendimiento de cada DSP.
Descripción
Desde que Google propuso la red neuronal convolucional liviana EfficientNet en 2019, la serie de modelos se ha vuelto muy popular rápidamente debido a su rendimiento superior con un pequeño número de parámetros. Sin embargo, los aceleradores de hardware de red neuronal convolucional existentes para EfficientNet aún tienen mucho margen para mejorar el rendimiento de la convolución profunda, el módulo de apriete y excitación y las funciones de activación no lineales. En este documento, primero diseñamos una matriz de registros reconfigurable y un núcleo computacional para acelerar la convolución profunda. A continuación, proponemos una unidad vectorial para implementar las funciones de activación no lineales y la operación de escala. Se propone una arquitectura de núcleo computacional dual de secuencia intercambiable para mejorar el rendimiento y la utilización. Además, se diseñan las arquitecturas de memoria para completar el acelerador de hardware para la arquitectura de cómputo mencionada anteriormente. Finalmente, para evaluar el rendimiento del acelerador de hardware, el acelerador se implementa en base a Xilinx XCVU37P. Los resultados muestran que el acelerador propuesto puede funcionar a una frecuencia principal de reloj del sistema de 300 MHz con el núcleo DSP a 600 MHz. El rendimiento de EfficientNet-B3 en nuestra arquitectura puede alcanzar 69,50 FPS y 255,22 GOPS. En comparación con el último acelerador EfficientNet-B3, que utiliza la misma placa de desarrollo FPGA, el acelerador propuesto en este documento puede lograr una mejora de 1,28 veces en el rendimiento de un solo núcleo y una mejora de 1,38 veces en el rendimiento de cada DSP.