Hardware techniques for the design of efficient inference accelerators of deep neural networks

  1. Muñoz Martínez, Francisco
Dirigida por:
  1. Manuel Eugenio Acacio Sánchez Director
  2. José Luis Abellan Miguel Director

Universidad de defensa: Universidad de Murcia

Fecha de defensa: 19 de diciembre de 2022

Tribunal:
  1. Antonio González Colás Presidente/a
  2. José Cano Reyes Secretario/a
  3. Davide Bertozzi Vocal
Departamento:
  1. Ingeniería y Tecnología de Computadores

Tipo: Tesis

Resumen

El diseño de arquitecturas especializadas para acelerar el procedimiento de inferencia de las redes neuronales profundas (DNN por sus siglas en inglés) es un área de investigación en auge actualmente. Mientras que las propuestas de aceleradores rígidos de primera generación utilizaban simples flujos de datos fijos adaptados a DNNs densas, las arquitecturas más recientes han abogado por la flexibilidad para soportar eficientemente una amplia variedad de tipos de DNNs. A medida que aumenta la complejidad de estos aceleradores, los modelos analíticos empleados actualmente para la exploración del espacio de diseño son incapaces de captar las sutilezas de la arquitectura, lo que conduce a resultados inexactos en muchos casos. Esto crea la necesidad de disponer de herramientas de simulación a nivel de ciclo que permitan una exploración rápida y precisa del espacio de diseño de los aceleradores DNN. Con este fin, la primera contribución de esta tesis es STONNE, una herramienta de simulación de microarquitecturas a nivel de ciclo que permite realizar evaluaciones detalladas con modelos de DNN reales. A partir de un simulador validado para realizar nuestras evaluaciones, la segunda contribución de esta tesis se centra en las arquitecturas flexibles para DNNs. Este tipo de aceleradores de DNN utilizan tres redes de interconexión separadas dentro del acelerador. Estas redes son conocidas como red de distribución, de multiplicación y de reducción (o DN, MN y RN, respectivamente) y se encargan de conectar la memoria y las unidades de cálculo (multiplicadores/sumadores). Estas redes permiten el envío de datos y la reutilización en el chip de los operandos y resultados parciales. Entre ellas, la RN, utilizada para generar y reducir las sumas parciales producidas durante el procesamiento de la DNN, es la que implica la mayor fracción de área del chip y de disipación de energía, representando así un elemento de máxima importancia en la eficiencia energética del acelerador. Las RNs se pueden orquestar para explotar un flujo de datos de reducción temporal, espacial o espacio-temporal. Entre ellos, este último es el que ha mostrado un rendimiento superior. Sin embargo, como demostramos en esta tesis, una implementación espacio-temporal, basada en la adición de acumuladores (Ac) a la RN (estrategia RN+Ac) puede dar lugar a importantes sobrecargas de área y energía. Para hacer frente a este problema, proponemos STIFT, que implementa el flujo de datos de reducción espacio-temporal completamente en el sustrato de hardware de la RN sin la necesidad de utilizar acumuladores adicionales. STIFT supone un importante ahorro de área y energía respecto a la estrategia más compleja RN+Ac. La tercera contribución de esta tesis aumenta la flexibilidad de los aceleradores actuales con soporte para datos dispersos. Los aceleradores de multiplicación de matrices dispersas (SpMSpM) existentes se adaptan a un flujo de datos SpMSpM concreto que determina su eficiencia global. En esta tesis demostramos que esta decisión de diseño conlleva una solución en tiempo de ejecución subóptima. Esto se debe a que las diferentes SpMSpM que componen una misma DNN presentan características distintas, lo que hace que cada flujo de datos se adapte mejor a diferentes matrices. Motivados por esta observación, proponemos Flexagon, el primer acelerador reconfigurable que permite realizar operaciones SpMSpM utilizando el flujo de datos particular que mejor se adapte a cada caso. El acelerador Flexagon se basa en una novedosa red de reducción y ordenación, y una jerarquía de memoria de tres niveles, adaptada a los distintos flujos de datos. En esta tesis, demostramos que Flexagon logra beneficios de rendimiento promedio de 4,59x, 1,71x y 1,35x con respecto a los aceleradores de última generación del estado del arte tipo SIGMA, SpArch y GAMMA, respectivamente.