Aceleración hardware para inferencia en redes neuronales convolucionales.
Loading...
Date
2021
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Universidad de Concepción.
Abstract
Gracias a su alta precisión para clasificar objetos en imágenes, las redes neuronales con volucionales (CNN) son una herramienta muy relevante en la visión computacional. Este tipo
de red neuronal utiliza capas convolucionales para extraer características de las imágenes y
las clasifica por medio de capas de clasificación. Típicamente, el proceso de reconocimiento,
llamado inferencia, es aplicado en unidades centrales de procesamiento (CPU) o unidades de
procesamiento gráfico (GPU), pero debido al alto paralelismo de estas últimas, las GPUs muestran un mejor desempeño. Aun así, su alto consumo de potencia dificulta la implementación de
estas plataformas en dispositivos móviles. Por esto, una alternativa para solucionar este problema es diseñar arquitecturas hardware en sistemas dedicados, como arreglos de compuertas
programables (FPGA), que permiten reducir el consumo de potencia y acelerar la inferencia.
Debido a esto, en este trabajo diseñamos una arquitectura heterogénea para realizar la
inferencia de la CNN MobileNet V2 sobre hardware dedicado. Esta arquitectura utiliza una CPU
y memoria embebida para controlar y almacenar datos del proceso, y un acelerador hardware
sintetizado en la lógica programable de un FPGA para disminuir los tiempos de inferencia.
Para reducir la cantidad de operaciones y datos en la FPGA, utilizamos técnicas de loop tiling,
pruning y cuantización.
Implementamos la arquitectura sobre la plataforma Xilinx Zynq Ultrascale+, utilizando
la CPU ARM Cortex-A53 como controlador, una memoria DDR4 de 2GB para almacenar
datos y la FPGA XCZU7EV para sintetizar cuatro elementos de procesamiento que permiten
la inferencia en paralelo. Nuestra implementación puede inferir una imagen de la base de datos
ImageNet de 224×224 píxeles en 220ms, utilizando 532 bloques de RAM (BRAM), 24 RAMs de
UltraScale (URAM) y 340 procesadores digitales de señales (DSP) del FPGA, y consumiendo
7.34W de potencia. Comparada con una implementación software sobre una GPU y CPU,
nuestro diseño es 10.18 veces más lento que la GPU y tiene un frame-rate similar a la CPU,
pero consume 29.23 y 12.93 veces menos potencia que estos dispositivos respectivamente
Description
Tesis para optar al grado de Magíster en Ciencias de la Ingeniería con mención en Ingeniería Eléctrica.
Keywords
Mosaico de Bucle (Ciencia de la Computación), Convoluciones (Matemáticas), Arquitectura de Redes de Computadores, Industria, Innovación e Infraestructura