Pular para o conteúdo principal

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.

nota

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.

Loading Comments...