Desenvolvimento de sistemas embarcados inteligentes para aplicações em internet das coisas utilizando Tiny Machine Learning - Costa , Felipe William da (Brasil, 2023)
O Tiny Machine Learning (TinyML) é um novo paradigma que surge para possibilitar a execução de modelos de Machine Learning (ML) em plataformas onde os recursos de hardware são altamente restringidos, como os microcontroladores, que são usualmente empregados no desenvolvimento de sistemas embarcados. Muitos frameworks surgiram para facilitar a inferência de modelos de ML em microcontroladores, entre eles, o TensorFlow Lite Micro (TFLM) ganhou notoriedade por ser de código aberto e compatível com uma ampla gama de dispositivos arquiteturas. Para alcançar um processamento mais eficiente dos modelos de ML deu-se origem aos chamados aceleradores de hardware que consistem em hardware adicionais e especializados encarregados de desempenhar operações designadas pelo desenvolvedor de forma otimizada através do co-design hardware/software. O CFU Playground é um framework full-stack de código aberto voltado para o design de aceleradores de ML para sistemas embarcados em Field-Programmable Gate Array (FPGA) no qual foi-se utilizado para acelerar a inferência do modelo através de uma Custom Function Unit (CFU). Neste trabalho, utiliza-se um modelo de visão computacional embarcado baseado em Redes Neurais Convolucionais para inferência nas plataformas Kosagi Fomu e ESP32-C3 onde aplicam-se otimizações por meio de bibliotecas com kernel otimizado e do co-design para tecer comparações de desempenho entre as plataformas. Após aplicação das otimizações, obteve-se uma diminuição de 33,19% no tempo de inferência do modelo no ESP32-C3 por meio da biblioteca ESP-NN e 65,74% no FPGA Fomu através do co-desing e implementação de uma CFU ambas em comparação com a inferência sem nenhuma otimização implementada.
Keywords: ENGENHARIAS::ENGENHARIA ELETRICA; TinyML; Co-design; Tensorflow lite micro; FPGA