TinyML abre novos caminhos de aprendizado para IoT

heavy automation robot arm machine in smart factory with tablet real time monitoring system
Sheila Zabeu -

Março 15, 2023

Um é bom, dois é melhor e três é melhor ainda. Essa máxima pode ser aplicada ao mundo da tecnologia, quando pensamos em Internet das Coisas (IoT), Machine Learning (ML) e TinyML. O primeiro conceito, que se refere a itens físicos conectados em rede para coletar e trocar dados, já é conhecido dos profissionais da área e agora se torna mais corriqueiro entre leigos. O segundo conceito, Machine Learning, está ganhando a boca do povo com o enorme burburinho em torno ChatGPT, capaz de reproduzir a linguagem humana para responder perguntas genéricas. O terceiro é uma combinação dos dois primeiros.

Estamos falando de um campo que oferece uma maneira de, por meio de algoritmos de Aprendizado de Máquina, transformar em insights grandes volumes de dados gerados pela IoT. Essa inteligência pode ajudar a fundamentar a tomada de decisão e elevar a novas patamares as iniciativas de automação em vários setores de atividade.

Como a integração entre as duas tecnologias consegue gerar tantos benefícios? De um lado, os dados gerados pela IoT a partir de várias fontes podem ser usados para treinar os algoritmos de Aprendizado de Máquina. Na via contrária, os algoritmos de Aprendizado de Máquina podem aprimorar a capacidade dos dispositivos IoT para processarem e analisarem melhor dados em tempo real nas bordas das redes, reduzindo a latência.

Na prática, podemos pensar, por exemplo, que sensores em equipamentos industriais, após serem treinados por algoritmos de Aprendizado de Máquina, poderão analisar futuramente dados de temperatura em tempo real e alertar sobre a necessidade de fazer reparos preventivos mesmo em diferentes estações do ano ou se forem mudados de lugar.

Mas e o terceiro conceito citado no começo do texto, o TinyML? Essa tecnologia tem buscado levar o poder do Aprendizado de Máquina para dispositivos extremamente pequenos, com poder de processamento, memória e recursos de energia muito limitados.

Os algoritmos TinyML são desenvolvidos especificamente para esses compactos dispositivos, comuns na Internet das Coisas, de modo altamente otimizado para conseguirem executar tarefas complexas, como reconhecimento de imagem e áudio.

O potencial da minúscula tecnologia TinyML se reflete em números grandiosos. A expectativa é que a quantidade de instalações de TinyML aumente de quase 2 bilhões em 2022 para mais de 11 bilhões em 2027, segundo estudo da ABI Research. “Um tema comum do mercado de TinyML é a ideia de levar ML para todos os lugares. Há muitos casos de uso possíveis. Pense em qualquer tipo de dados sensoriais e provavelmente haverá um modelo de ML para ser aplicado a essas informações. Sensores de som e de condições ambientais continuam sendo os mais proeminentes e devem impulsionar o enorme crescimento de instalações de dispositivos TinyML”, prevê Lian Jye Su, principal analista de pesquisa da ABI Research.

Então, integrar TinyML à IoT é reunir três tecnologias promissoras: a própria Internet das Coias, recursos de Aprendizado de Máquina e miniaturização de dispositivos com preservação da capacidade de executar tarefas complexas, consumindo o mínimo de energia. Isso envolve expertise em otimização de hardware e software, ciência de dados e Inteligência Artificial.

E se três tecnologias integradas já é ótimo, que tal agregar ainda 5G, Edge Computing e sensores cada vez mais sofisticados? Transferência de dados mais rápidas com 5G, menor latência com recursos computacionais mais avançados nas bordas, e sensores mais sofisticados para capturar dados cada vez mais variados e precisos vão gerar transformações até agora inimagináveis.

Aprendendo a aprender

Treinar modelo de Aprendizado de Máquina em dispositivos minúsculos, como sensores de IoT, permite que eles usem mais dados para fazer previsões melhores. No entanto, o processo de treinamento requer muita memória, normalmente não disponível. 

Para resolver esse impasse, pesquisadores do MIT e do MIT-IBM Watson AI Lab desenvolveram uma nova técnica de treinamento que exige menos de um quarto de megabyte de memória. Outras soluções chegam a usar 500 megabytes, superando em muito a capacidade da maioria dos dispositivos IoT. A nova abordagem pode ser aplicada em questão de minutos e também preserva a privacidade ao manter os dados no próprio dispositivo e pode até melhorar a precisão dos resultados. Como se não bastasse, permite personalizar o modelo com base nas demandas do usuário.

“Nossa solução permite que os dispositivos IoT não apenas realizem inferência, mas também atualizem continuamente os modelos de IA de acordo com dados recém-coletados, abrindo caminho para aprendizado ao longo da vida dos dispositivos. A baixa utilização de recursos torna o aprendizado profundo mais acessível e pode ter um alcance mais amplo, especialmente para dispositivos de ponta de baixo consumo de energia”, afirma Song Han, membro do MIT-IBM Watson AI Lab e autor sênior do artigo que descreve a inovação.

Os pesquisadores empregaram duas soluções algorítmicas para tornar o processo de treinamento mais eficiente e usar menos memória. A primeira, conhecida como atualização esparsa, utiliza um algoritmo que identifica os pesos mais importantes a serem atualizados a cada rodada de treinamento.

A segunda solução envolve treinamento quantizado e simplificação dos pesos, que normalmente usam 32 bits. Um algoritmo arredonda os pesos para que tenham apenas oito bits, reduzindo a quantidade de memória para treinamento e inferência. Em seguida, aplica-se uma técnica chamada dimensionamento com reconhecimento de quantização (QAS) para evitar qualquer queda na precisão que possa vir do treinamento quantizado.

Além disso, os pesquisadores desenvolveram um mecanismo de treinamento que pode executar esses algoritmos em um microcontrolador simples sem sistema operacional.

A nova estrutura foi usada para treinar um modelo de visão computacional voltado a detectar pessoas em imagens. Após apenas 10 minutos de treinamento, a solução aprendeu a realizar a tarefa com sucesso. O método conseguiu treinar um modelo 20 vezes mais rápido do que outras abordagens, segundo os pesquisadores, que querem aplicá-lo a modelos de linguagem e diferentes tipos de dados, além de tentar diminuir o tamanho de modelos maiores sem sacrificar a precisão.

O projeto é financiado pela National Science Foundation, MIT-IBM Watson AI Lab, MIT AI Hardware Program, Amazon, Intel, Qualcomm, Ford Motor Company e Google.