O que é TinyML?
ML, como você talvez já tenha imaginado, significa Machine Learning e, na maioria dos casos hoje em dia (embora nem sempre), refere-se a Deep Learning. Tiny em TinyML significa que os modelos de ML são otimizados para rodar em dispositivos de consumo de energia muito baixo e de tamanho reduzido, como vários MCUs. É um subconjunto de ML na Borda ou Machine Learning Embarcado.

Dispositivos embarcados vêm em todos os tipos de formas e tamanhos, desde o “supercomputador embarcado” Nvidia Jetson Xavier AGX até os menores microcontroladores, por exemplo ESP32 ou Cortex M0.
Por que o ML embarcado em microcontroladores é colocado em uma categoria especial e até recebe um nome legal próprio?
Porque ele vem com seu próprio conjunto de vantagens e limitações. O atrativo do TinyML é, na verdade, que MCUs são onipresentes, pequenos, consomem pouca energia e são relativamente baratos.

Pegue o ARM Cortex M0+ e a pequena placa Seeeduino XIAO, que é construída ao seu redor – a placa é tão pequena quanto um polegar (21×17.8mm), consome apenas 1.33 mAh de energia (o que significa que pode funcionar por ~112 horas com uma bateria de 150 mA, muito mais se colocada em deep sleep) e custa apenas 4,3 USD.
Graças aos avanços recentes em otimização de modelos e ao surgimento de frameworks criados especificamente para executar inferência de modelos de machine learning em microcontroladores, tornou-se possível dar mais inteligência a esses dispositivos minúsculos. Agora podemos implantar redes neurais em microcontroladores para reconhecimento de cenas de áudio (por exemplo atividade de elefantes ou som de vidro se quebrando), detecção de hot-word (para ativar o dispositivo com uma frase específica) ou até mesmo para tarefas simples de reconhecimento de imagens. Os dispositivos com microcontroladores embarcados podem ser usados para dar nova vida e significado a sensores antigos, como usar um acelerômetro instalado em um mecanismo para detecção de anomalias e manutenção preditiva – ou para distinguir vários tipos de licores como neste demo!

As possibilidades do TinyML são realmente enormes.
E quanto às limitações? O principal fator limitante é o tamanho de RAM/FLASH dos MCUs – não importa o quão bem você otimize, você não conseguiria colocar aquele YOLO9999 em um microcontrolador minúsculo.

O mesmo vale para reconhecimento automático de fala – enquanto uma hot word simples (ou detecção de comando de voz) é possível, o reconhecimento de fala de domínio aberto está fora do alcance dos MCUs. Por enquanto.
A equipe Seeed EDU elaborou um curso definitivo, passo a passo, sobre como começar com TinyML usando o Wio Terminal.
Você pode baixar o curso em formato PDF e os materiais do curso clicando nos links abaixo. Além disso, você pode encontrar projetos independentes publicados anteriormente no blog da Seeed studio e no site Hackster.io - tanto os projetos do curso quanto os projetos independentes fazem uso da Arduino IDE para programar os dispositivos e de uma combinação de Edge Impulse e Tensorflow Lite for Microcontrollers para o treinamento e a inferência dos modelos.
A principal diferença entre o curso e os projetos independentes é que o curso tem como objetivo principal ser usado por professores de STEM como base para o desenvolvimento de seus próprios materiais didáticos ou como material de aula pronto para uso, enquanto os projetos independentes são para makers e hackers explorarem e aprimorarem.
Edge Impulse é uma plataforma de desenvolvimento fácil de usar para machine learning em dispositivos de borda, fornecendo uma interface web amigável para iniciantes (e ainda assim poderosa) e um conjunto de ferramentas para todo o pipeline TinyML, desde a coleta de dados até a implantação do modelo.

Tensorflow Lite for Microcontrollers, por outro lado, embora tenha uma curva de aprendizado mais íngreme, permite que você implemente seu próprio pipeline de treinamento e inferência de modelos.

Curso TinyML com Wio Terminal

Baixar PDF
PDF do curso TinyML com Wio Terminal
Baixar materiais do curso
Seeed_Arduino_WioTerminal_TinyML_Course-1.0.zip
Repositório Github com materiais do curso
Github do curso TinyML com Wio Terminal
Programação sem código para começar com TinyML

Projetado para apresentar iniciantes aos conceitos básicos de Machine Learning Embarcado com Wio Terminal e programação gráfica Codecraft.
Baixar PDF
PDF do curso Programação sem código para começar com TinyML
Suporte Técnico & Discussão sobre o Produto
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes formas de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.