banner
Lar / blog / TinyML: aplicativos, limitações e uso em dispositivos IoT e Edge
blog

TinyML: aplicativos, limitações e uso em dispositivos IoT e Edge

Dec 11, 2023Dec 11, 2023

Por

Nos últimos anos, a Inteligência Artificial (IA) e o Aprendizado de Máquina (ML) testemunharam um aumento meteórico em popularidade e aplicações, não apenas na indústria, mas também na academia. No entanto, os modelos atuais de ML e IA têm uma limitação importante: exigem uma imensa quantidade de poder de computação e processamento para alcançar os resultados e a precisão desejados. Isto muitas vezes limita seu uso a dispositivos de alta capacidade com poder computacional substancial.

Mas dados os avanços feitos na tecnologia de sistemas embarcados e o desenvolvimento substancial na indústria da Internet das Coisas, é desejável incorporar o uso de técnicas e conceitos de ML em um sistema embarcado com recursos limitados para inteligência onipresente. O desejo de usar conceitos de ML em sistemas incorporados e IoT é o principal fator motivador por trás do desenvolvimento do TinyML, uma técnica de ML incorporada que permite modelos e aplicativos de ML em vários dispositivos com recursos limitados, com restrição de energia e baratos.

No entanto, a implementação de ML em dispositivos com recursos limitados não tem sido simples porque a implementação de modelos de ML em dispositivos com baixo poder computacional apresenta seus próprios desafios em termos de otimização, capacidade de processamento, confiabilidade, manutenção de modelos e muito mais.

Neste artigo, iremos nos aprofundar no modelo TinyML e aprender mais sobre seu histórico, as ferramentas que suportam o TinyML e as aplicações do TinyML usando tecnologias avançadas. Então vamos começar.

Os dispositivos da Internet das Coisas ou IoT visam aproveitar a computação de ponta, um paradigma de computação que se refere a uma variedade de dispositivos e redes próximos ao usuário para permitir o processamento contínuo e em tempo real de dados de milhões de sensores e dispositivos interconectados entre si. Uma das principais vantagens dos dispositivos IoT é que eles exigem baixo poder de computação e processamento, pois podem ser implantados na borda da rede e, portanto, ocupam pouca memória.

Além disso, os dispositivos IoT dependem fortemente de plataformas de ponta para coletar e transmitir os dados à medida que esses dispositivos de ponta coletam dados sensoriais e, em seguida, os transmitem para um local próximo ou para plataformas em nuvem para processamento. A tecnologia de computação de ponta armazena e executa computação nos dados e também fornece a infraestrutura necessária para suportar a computação distribuída.

A implementação da computação de ponta em dispositivos IoT fornece

Além disso, como os dispositivos de borda podem implantar uma técnica colaborativa entre os sensores e a nuvem, o processamento de dados pode ser conduzido na borda da rede em vez de ser conduzido na plataforma de nuvem. Isso pode resultar em gerenciamento eficaz de dados, persistência de dados, entrega eficaz e armazenamento em cache de conteúdo. Além disso, implementar IoT em aplicativos que lidam com interação H2M ou Humano-Máquina e a moderna computação de ponta na área da saúde fornece uma maneira de melhorar significativamente os serviços de rede.

Pesquisas recentes no campo da computação de borda IoT demonstraram o potencial para implementar técnicas de aprendizado de máquina em vários casos de uso de IoT. No entanto, o principal problema é que os modelos tradicionais de aprendizado de máquina geralmente exigem forte poder de computação e processamento, além de alta capacidade de memória, o que limita a implementação de modelos de ML em dispositivos e aplicativos IoT.

Além disso, a tecnologia de computação de ponta carece hoje de alta capacidade de transmissão e economias de energia efetivas que levam a sistemas heterogêneos, que é a principal razão por trás da necessidade de infraestrutura harmoniosa e holística, principalmente para atualização, treinamento e implantação de modelos de ML. A arquitetura projetada para dispositivos embarcados representa outro desafio, pois essas arquiteturas dependem dos requisitos de hardware e software que variam de dispositivo para dispositivo. É a principal razão pela qual é difícil construir uma arquitetura de ML padrão para redes IoT.

Além disso, no cenário atual, os dados gerados por diferentes dispositivos são enviados para plataformas em nuvem para processamento devido à natureza computacional intensiva das implementações de rede. Além disso, os modelos de ML dependem frequentemente de aprendizagem profunda, redes neurais profundas, circuitos integrados de aplicação específica (ASICs) e unidades de processamento gráfico (GPUs) para processar os dados, e muitas vezes têm requisitos mais elevados de energia e memória. A implantação de modelos de ML completos em dispositivos IoT não é uma solução viável devido à evidente falta de capacidade de computação e processamento e às soluções de armazenamento limitadas.