[Tech] Acelerador de bajo consumo para aplicaciones de conducción autónoma basado en principios de cálculo aproximado

 

 

 

Los vehículos autónomos requieren de un software complejo que pueda procesar en tiempo real una enorme cantidad de datos (del orden de gigabytes por segundo) procedentes de diferentes sensores, tales como cámaras, LIDAR, entre otros. Estos datos se utilizan en los procesos de decisión relacionados con las diferentes tareas, como la predicción de trayectoria, por las que se utilizan algoritmos avanzados de inteligencia artificial. Uno de los programas más utilizados en conducción autónoma es Apollo.

Apollo usa una variante de YOLO para la detección de objetos en imágenes, formando una de las principales partes del módulo de percepción. YOLO (You Only Look Once) es un sistema de detección ampliamente utilizado que se basa en una red neuronal convolucional (Convolutional Neural Network, CNN). Cada segundo, cada cámara en el vehículo captura múltiples imágenes y el detector de objetos las procesa secuencialmente.

 

Las redes neuronales en general, debido a su naturaleza, presentan una gran tolerancia a errores e imperfecciones. A partir de esta característica, investigadores de la Universitat Politècnica de Catalunya (UPC) y del Barcelona Supercomputing Center (BSC) tienen por objetivo, en el marco del proyecto DRAC, diseñar un acelerador de hardware que consuma menos energía aprovechando los principios del cálculo aproximado. Se consideran dos líneas:

Alternativas tales como FP16 (16 bits), FP8 (8 bits), o Posits-16 (16 bits) se han evaluado en términos de precisión en la detección de objetos usando la red YOLO. Por otra parte, varios sumadores y multiplicadores enteros y de coma flotante se han diseñado a nivel RTL para evaluar su precisión y ahorro de energía en diferentes condiciones de tensión y frecuencia de reloj.

Los resultados de estos análisis se utilizarán para la implementación del acelerador de hardware basado en estas aproximaciones. Este es el objetivo del proyecto P4 dentro de DRAC.