TinyML: aprendizado contínuo com LwM2M
Enquanto os MCUs estão se tornando mais poderosos, os modelos de aprendizado de máquina podem ser projetados para utilizar menos recursos. Isso permite a implementação do TinyML; modelos de aprendizado profundo que podem ser executados em dispositivos IoT com recursos limitados. O TinyML pode ser usado para analisar dados brutos do sensor localmente, o que reduz ou elimina a necessidade de enviar dados para a nuvem, reduz o consumo de bateria e preserva a privacidade dos dados.
No entanto, a implementação de soluções inteligentes de IoT não depende apenas do próprio modelo de ML. Envolve desafios como implementar aprendizado contínuo, permitir comunicação sem fio de baixa potência, gerenciar dispositivos remotamente, garantir comunicação segura, atualizar o firmware (over the air) e permitir a interoperabilidade do dispositivo.
"O TinyML pode ser usado para analisar dados brutos do sensor localmente, o que reduz ou elimina a necessidade de enviar dados para a nuvem, reduz o consumo de bateria e preserva a privacidade dos dados."
LwM2M é um padrão de comunicação de camada de aplicativo que simplifica o gerenciamento de mensagens e dispositivos para dispositivos IoT. O protocolo determina um formato de dados e define mecanismos de gerenciamento de dispositivos e processos padronizados para atualizações de firmware pelo ar (FOTA). O protocolo é adequado para padrões LPWAN, como NB-IoT e LTE-M.
Enquanto o TinyML fornece a inteligência do dispositivo (usando ferramentas como Edge Impulse ou Cartesiam.ai), o protocolo LwM2M fornece conectividade, comunicação padronizada e gerenciamento de dispositivos. Quando combinados, eles criam uma solução holística para dispositivos IoT inteligentes.
A análise baseada em nuvem dos dados brutos do sensor de um dispositivo é ineficiente devido ao volume de dados que o dispositivo precisa transmitir. Uma maneira mais eficiente é processar os dados dos sensores diretamente no dispositivo usando o TinyML. Por exemplo, analisar os valores X, Y e Z do acelerômetro pode detectar movimentos complexos ou vibrações que podem fornecer informações valiosas, permitindo casos de uso como manutenção preditiva, monitoramento da utilização de bens valiosos ou classificação de movimentos de pessoas ou animais.
Atualmente, cada vez mais sensores inteligentes estão sendo desenvolvidos. Além de suas capacidades de detecção, os sensores inteligentes vêm com um MCU integrado que executa o modelo TinyML e comunica apenas os padrões detectados ao MCU principal do dispositivo. Esses sensores integrados do TinyML são chamados de Paradigma do Sensor 2.0 pelo Prof. Vijay Janapa Reddi (Harvard University) durante sua recente palestra no TinyML Summit. Os sensores inteligentes simplificam a implementação do TinyML, pois permitem a adaptação de dispositivos existentes com recursos do TinyML sem a necessidade de redesenhar o firmware incorporado. Além disso, pode resolver problemas de privacidade devido ao verdadeiro isolamento dos dados brutos do sensor. Sensores inteligentes podem analisar vozes ou imagens de câmeras enquanto garantem a privacidade das pessoas, pois os dados não vazam para o MCU principal do dispositivo.
Um dos principais desafios de hoje é manter o modelo TinyML confiável após a implantação. Muitas vezes, os conjuntos de dados usados para fins de treinamento diferem dos dados do mundo real, levando a modelos imprecisos. Além disso, o contexto ambiental pode mudar ao longo do tempo (por exemplo, devido à descalibração de máquinas industriais ou mudanças nas condições climáticas), levando à deterioração da qualidade do modelo.
A aprendizagem contínua refere-se à capacidade dos modelos TinyML de se adaptarem ao longo do tempo. Isso pode ser feito aprendendo com novos conjuntos de dados sem a necessidade de treinar novamente o modelo do zero. Embora as técnicas para realizar o aprendizado contínuo sejam bem conhecidas, muitas vezes faltam implementações práticas ao executar os modelos em dispositivos com recursos limitados. Muitas vezes, isso tem a ver com uma camada de gerenciamento de dispositivo ausente que cuida do gerenciamento do ciclo de vida do modelo de ML. O LwM2M pode ser o elo que falta para realizar o aprendizado contínuo, pois vem com suporte nativo para configurações remotas e atualizações de firmware. Usando métodos comprovados, os modelos de ML podem ser atualizados continuamente sem a necessidade de acessar fisicamente cada dispositivo para atualizar seu firmware.