Diseño de módulo de convolución de punto flotante eficiente para sistema embebido
Autores: Li, Jiao; Zhou, Xinjing; Wang, Binbin; Shen, Huaming; Ran, Feng
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Diseño de módulo de convolución de punto flotante eficiente para sistema embebido
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Red neuronal convolucional
Dispositivos integrados
Costo de memoria
Punto Flotante Cerebral
Evaluación de rendimiento
Resultados experimentales
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 40
Citaciones: Sin citaciones
La red neuronal convolucional (CNN) ha tenido un gran éxito en muchos campos y se está aplicando gradualmente en sistemas de computación en el borde. Teniendo en cuenta el presupuesto limitado de los recursos en los sistemas, se prefiere la implementación de CNN en dispositivos integrados. Sin embargo, junto con las CNN cada vez más complejas está el enorme costo de memoria, lo que limita su implementación en dispositivos integrados. En este documento, proponemos un módulo de convolución eficiente y en serie basado en un Punto Flotante Cerebral (BF16) para resolver este problema, que se compone de una unidad de cuantización, una unidad de conversión en serie a matriz y una unidad de operación de convolución. El error medio del módulo de convolución basado en BF16 es solo del 0,1538%, lo que apenas afecta la inferencia de la CNN. Además, cuando se sintetiza a 400 MHz, el área del módulo de convolución BF16 es un 21,23% y un 18,54% más pequeña que la de los módulos de convolución INT16 y FP16, respectivamente. Además, nuestro módulo utilizando la biblioteca TSMC 90 nm puede funcionar a 1 GHz optimizando el camino crítico. Finalmente, nuestro módulo se implementó en la placa Xilinx PYNQ-Z2 para evaluar el rendimiento. Los resultados experimentales muestran que a una frecuencia de 100 MHz, nuestro módulo es, respectivamente, 783,94 veces y 579,35 veces más rápido que el Cortex-M4 con FPU y Hummingbird E203, manteniendo una tasa de error extremadamente baja.
Descripción
La red neuronal convolucional (CNN) ha tenido un gran éxito en muchos campos y se está aplicando gradualmente en sistemas de computación en el borde. Teniendo en cuenta el presupuesto limitado de los recursos en los sistemas, se prefiere la implementación de CNN en dispositivos integrados. Sin embargo, junto con las CNN cada vez más complejas está el enorme costo de memoria, lo que limita su implementación en dispositivos integrados. En este documento, proponemos un módulo de convolución eficiente y en serie basado en un Punto Flotante Cerebral (BF16) para resolver este problema, que se compone de una unidad de cuantización, una unidad de conversión en serie a matriz y una unidad de operación de convolución. El error medio del módulo de convolución basado en BF16 es solo del 0,1538%, lo que apenas afecta la inferencia de la CNN. Además, cuando se sintetiza a 400 MHz, el área del módulo de convolución BF16 es un 21,23% y un 18,54% más pequeña que la de los módulos de convolución INT16 y FP16, respectivamente. Además, nuestro módulo utilizando la biblioteca TSMC 90 nm puede funcionar a 1 GHz optimizando el camino crítico. Finalmente, nuestro módulo se implementó en la placa Xilinx PYNQ-Z2 para evaluar el rendimiento. Los resultados experimentales muestran que a una frecuencia de 100 MHz, nuestro módulo es, respectivamente, 783,94 veces y 579,35 veces más rápido que el Cortex-M4 con FPU y Hummingbird E203, manteniendo una tasa de error extremadamente baja.