4.6-bit quantización para inferencia rápida y precisa de redes neuronales en CPUs
Autores: Trusov, Anton; Limonova, Elena; Nikolaev, Dmitry; Arlazarov, Vladimir V.
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
4.6-bit quantización para inferencia rápida y precisa de redes neuronales en CPUs
Categoría
Matemáticas
Subcategoría
Matemáticas generales
Palabras clave
Cuantización
Redes neuronales
CPUs móviles
Arquitectura de hardware
Eficiencia computacional
Redes neuronales convolucionales
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 30
Citaciones: Sin citaciones
La cuantificación es un método ampliamente utilizado para reducir el tiempo de inferencia de las redes neuronales en Unidades de Procesamiento Central (CPUs) móviles. Las redes cuantificadas a ocho bits muestran una calidad igualmente alta que los modelos de precisión completa y se ajustan perfectamente a la arquitectura de hardware con coeficientes de un byte y acumuladores de producto punto de treinta y dos bits. Las cuantizaciones de menor precisión suelen sufrir una pérdida de calidad notable y requieren algoritmos computacionales específicos para superar la cuantización de ocho bits. En este documento, proponemos un novedoso esquema de cuantización de 4.6 bits que permite un uso más eficiente de los recursos de la CPU. Este esquema tiene más contenedores de cuantización que la cuantización de cuatro bits y es más preciso al tiempo que conserva la eficiencia computacional de este último (solo se ejecuta un 4% más lento). Nuestra multiplicación utiliza una combinación de acumuladores de 16 y 32 bits y evita la limitación de profundidad de multiplicación, que tenía el algoritmo de multiplicación de cuatro bits anterior. Los experimentos con diferentes redes neuronales convolucionales en los conjuntos de datos CIFAR-10 e ImageNet muestran que las redes cuantizadas a 4.6 bits son 1.5-1.6 veces más rápidas que las redes de ocho bits en la CPU ARMv8. En cuanto a la calidad, los resultados de la red cuantizada a 4.6 bits se acercan a la media de las redes de cuatro y ocho bits de la misma arquitectura. Por lo tanto, la cuantización de 4.6 bits puede servir como una solución intermedia entre las cuantizaciones de red de bajo bit rápidas e inexactas y las de ocho bits precisas pero relativamente lentas.
Descripción
La cuantificación es un método ampliamente utilizado para reducir el tiempo de inferencia de las redes neuronales en Unidades de Procesamiento Central (CPUs) móviles. Las redes cuantificadas a ocho bits muestran una calidad igualmente alta que los modelos de precisión completa y se ajustan perfectamente a la arquitectura de hardware con coeficientes de un byte y acumuladores de producto punto de treinta y dos bits. Las cuantizaciones de menor precisión suelen sufrir una pérdida de calidad notable y requieren algoritmos computacionales específicos para superar la cuantización de ocho bits. En este documento, proponemos un novedoso esquema de cuantización de 4.6 bits que permite un uso más eficiente de los recursos de la CPU. Este esquema tiene más contenedores de cuantización que la cuantización de cuatro bits y es más preciso al tiempo que conserva la eficiencia computacional de este último (solo se ejecuta un 4% más lento). Nuestra multiplicación utiliza una combinación de acumuladores de 16 y 32 bits y evita la limitación de profundidad de multiplicación, que tenía el algoritmo de multiplicación de cuatro bits anterior. Los experimentos con diferentes redes neuronales convolucionales en los conjuntos de datos CIFAR-10 e ImageNet muestran que las redes cuantizadas a 4.6 bits son 1.5-1.6 veces más rápidas que las redes de ocho bits en la CPU ARMv8. En cuanto a la calidad, los resultados de la red cuantizada a 4.6 bits se acercan a la media de las redes de cuatro y ocho bits de la misma arquitectura. Por lo tanto, la cuantización de 4.6 bits puede servir como una solución intermedia entre las cuantizaciones de red de bajo bit rápidas e inexactas y las de ocho bits precisas pero relativamente lentas.