Resumen
En los últimos años, el rápido avance de las tecnologías de aprendizaje profundo (DL) ha transformado significativamente diversos aspectos de nuestra vida. Sin embargo, este progreso conlleva el desafío de procesar enormes volúmenes de datos, lo que exige una potencia computacional muy superior a la de los sistemas convencionales. Esto plantea problemas críticos relacionados con la escalabilidad y la eficiencia energética. Además, la creciente complejidad de los modelos de inteligencia artificial dificulta aún más la gestión y distribución de grandes conjuntos de datos. Al mismo tiempo, la integración de tecnologías DL en dispositivos embebidos enfrenta severas restricciones debido a las limitaciones en procesamiento, memoria y consumo energético.
Para abordar estos desafíos, es necesario desarrollar soluciones innovadoras, como aceleradores especializados y estrategias de co-diseño hardware/software, que permitan maximizar el potencial del DL en entornos con recursos limitados. Además, los sistemas deben adaptarse continuamente a los datos recopilados localmente, procesándolos en tiempo real para responder a las necesidades del usuario sin depender de la computación en la nube. Esto no solo mejora la privacidad, sino que también reduce los costos de procesamiento. Dado que el entrenamiento de modelos de aprendizaje profundo en dispositivos embebidos es extremadamente costoso, la inteligencia artificial en el borde se centra principalmente en la optimización eficiente de la inferencia.
En este contexto, la ejecución eficiente del kernel de multiplicación de matrices generales (GEMM) es un factor clave en la implementación de redes neuronales profundas (DNNs), ya que constituye la base de muchas de sus capas. Si bien existen bibliotecas altamente optimizadas para este propósito, su elevado consumo de memoria impide su aplicación en dispositivos embebidos con recursos limitados.
Esta Tesis Doctoral tiene como objetivo analizar y desarrollar algoritmos eficientes de inferencia para plataformas en el borde, aprovechando estrategias de co-diseño hardware/software y arquitecturas emergentes como RISC-V para mejorar el rendimiento y la adaptabilidad.
Palabras clave
RISC-V; GEMM; Convolution; Edge Computing; Hardware/Software Co-Design; Performance Modeling; GAP8; Deep Learning; Neural Networks; High-Performance Computing; Scratchpad Memory; Micro-kernels; Quantization; Mixed Precision; FPGA; Inference Optimization; MobileNet; Parallel Processing; TinyML; Deep Neural Network Acceleration; PULP Architecture; DMA Transfers; Memory Hierarchy; Roofline Model; BLIS-like Algorithms; im2col; im2row; IoT Processors; Tiling; Accelerator Design; Embedded AI; Kernel Auto-Generation