Mostrar el registro sencillo del ítem
Design of a library of generic accelerators of DNN-based inference algorithms for low-end FPGAs
dc.contributor.advisor | Castro-Godínez, Jorge | es |
dc.contributor.author | León-Vega, Luis Gerardo | |
dc.date.accessioned | 2023-05-17T15:16:45Z | |
dc.date.available | 2023-05-17T15:16:45Z | |
dc.date.issued | 2022-12-08 | |
dc.identifier.uri | https://hdl.handle.net/2238/14360 | |
dc.description | Proyecto de Graduación (Maestría en Electrónica) Instituto Tecnológico de Costa Rica, Escuela de Ingeniería Electrónica, 2022. | es |
dc.description.abstract | El bajo consumo de potencia, recursos computacionales escasos y los pocos grados de libertad para la optimización limitan la implementación de soluciones para la inferencia de aprendizaje profundo en el edge. La computación aproximada y la síntesis de modelos de alto nivel en C++ resultan prometedoras para el diseño de aceleradores genéricos especializables. Este trabajo propone un marco de trabajo de código abierto con librerías incluidas para la generación y evaluación automática de elementos de procesamiento (PE, Processing Element) vectorizados y aceleradores personalizables para la multiplicación-adición de matrices y para la convolución con tamaño de operandos, longitud y tipo de dato, y operandos aritméticos adaptables, usando síntesis de alto nivel desde descripciones en C++ genérico. A través de una exploración del espacio de diseño (DSE, Design Space Exploration) que varía la longitud del dato de 4 a 16 bits, los tamaños de operando de 2 a 8 elementos y los fi ltros desde 3x3 hasta 7x7, se evalúa el escalamiento del consumo de recursos, ciclos de reloj, e ciencia de diseño y la distribución del error, presentando una vista comprensible de cómo los parámetros afectan las implementaciones genéricas. La multiplicación-adición de matrices presenta un compromiso entre granularidad vs e ciencia, donde PEs grandes con longitudes de datos cortas son favorecidas por la e ciencia de diseño. La configuración más idónea es un acelerador con un único PE de 2x2, requiriendo anchos de dato de 16 bits con 4 bits de parte entera para mantener el error de 20%, logrando 9 GOP/s con 3.2% de efi ciencia en una ZYNQ XC7Z020. En la convolución, se presenta la implementación de dos algoritmos: la convolución espacial y Winograd. La convolución espacial es mejor en términos de desempeño, mientras que Winograd en términos de consumo de recursos y tolerancia a los errores, requiriendo no menos de 4 bits para obtener 28 dB de PSNR con 10% de error medio. Finalmente, esta contribución puede ser adoptada en otros proyectos diferentes de redes neuronales dada la versatilidad de la programación genérica realizada en C++ y parametrización del diseño. | es |
dc.description.abstract | Low-power consumption, scarce computational resources, and reduced degrees of freedom for optimisation limit the implementation of deep learning inference solutions at the edge. Approximate computing and the synthesis from high-level C++ models report promising techniques for designing specialisable generic accelerators. This research proposes an open-source framework with built-in libraries for the automatic generation and evaluation of vector processing elements (PEs) and customisable accelerators for matrix multiplication-addition and convolution, with adaptable operand size, data bit-width, datatype, and arithmetic operands, using generic C++ high-level synthesis. Through the design space exploration (DSE) that varies the data bit-width from 4 to 16 bits, the operand sizes from 2 to 8, and the kernels from 3 x 3 to 7 x 7, this work evaluates the resource consumption scaling, clocks-to-solution, design efficiency, and error distribution, presenting a comprehensive view of how the parameters affect the properties of the generic implementations. The matrix multiplication-addition presents a trade-off between granularity vs efficiency, where the design efficiency favours large PEs with short data widths. The most suitable configuration was a single-PE accelerator with 2 x 2 operands, requiring 16-bit data width with a 4-bit integer part to keep the error below 20%, achieving 9 GOP/s with 3.2% efficiency in a ZYNQ XC7Z020. Regarding the convolution PEs, this document shows the implementation of two algorithms: a window-based spatial convolution and Winograd. The spatial convolution is better in terms of performance, whereas, the Winograd in terms of resource consumption and error tolerance, requires no less than 4 bits to get 28 dB PNSR values and 10% of mean error. Finally, this contribution can be adopted in other projects different from neural networks because of the versatility of the generic programming performed in C++ and design parameterisation. | es |
dc.language.iso | spa | es |
dc.publisher | Instituto Tecnológico de Costa Rica | es |
dc.rights | acceso abierto | es |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/4.0/ | * |
dc.subject | Aprendizaje automático | es |
dc.subject | Redes neuronales | es |
dc.subject | Aceleradores genéricos | es |
dc.subject | Computación | es |
dc.subject | Algoritmos de inferencia | es |
dc.subject | Matriz de puertas programable en campo | es |
dc.subject | Aceleración -- Hardware | es |
dc.subject | Automatic learning | es |
dc.subject | Neural networks | es |
dc.subject | Generic accelerators | es |
dc.subject | Inference algorithm | es |
dc.subject | Field programmable gate array | es |
dc.subject | Acceleration -- Hardware | es |
dc.subject | Research Subject Categories::TECHNOLOGY::Electrical engineering, electronics and photonics | es |
dc.title | Design of a library of generic accelerators of DNN-based inference algorithms for low-end FPGAs | es |
dc.type | tesis de maestría | es |