Inteligência artificial

TinyML: Aplicações, Limitações e seu Uso em Dispositivos IoT e Edge

mm

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

Mas, considerando os avanços feitos na tecnologia de sistemas embarcados e o desenvolvimento substancial na indústria de Internet das Coisas, é desejável incorporar o uso de técnicas e conceitos de ML em sistemas embarcados com recursos limitados para inteligência ubíqua. O desejo de usar conceitos de ML em sistemas embarcados e IoT é o principal fator motivador por trás do desenvolvimento do TinyML, uma técnica de ML embarcada que permite modelos e aplicações de ML em vários dispositivos com recursos limitados, com restrições de energia e baratos.

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

Neste artigo, vamos mergulhar mais profundamente no modelo TinyML e aprender mais sobre seu contexto, as ferramentas que suportam o TinyML e as aplicações do TinyML usando tecnologias avançadas. Vamos começar.

Introdução ao TinyML: Por que o Mundo Precisa do TinyML

Os dispositivos Internet das Coisas (IoT) visam aproveitar a computação de bordo, um paradigma de computação que se refere a uma gama de dispositivos e redes próximos ao usuário para permitir o processamento em tempo real de dados de milhões de sensores e dispositivos interconectados. Uma das principais vantagens dos dispositivos IoT é que eles requerem baixo poder de processamento e computação, pois são implantados na borda da rede e, portanto, têm uma pegada de memória baixa.

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

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

  1. Segurança, privacidade e confiabilidade eficazes para os usuários finais.
  2. Menor atraso.
  3. Maior disponibilidade e resposta de throughput para aplicações e serviços.

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

Pesquisas recentes no campo da computação de bordo IoT demonstraram o potencial de implementar técnicas de Aprendizado de Máquina em vários casos de uso de IoT. No entanto, o principal problema é que os modelos de Aprendizado de Máquina tradicionais muitas vezes requerem forte poder de processamento e computação, além de alta capacidade de memória, o que limita a implementação de modelos de ML em dispositivos e aplicações IoT.

Além disso, a tecnologia de computação de bordo atual carece de alta capacidade de transmissão e economia de energia eficaz, o que leva a sistemas heterogêneos, que é a principal razão pela qual é difícil construir uma arquitetura de ML padrão para redes IoT. A arquitetura projetada para dispositivos embarcados apresenta 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 de nuvem para processamento devido à natureza computacionalmente intensiva das implementações de rede. Além disso, os modelos de ML muitas vezes dependem de Aprendizado Profundo, Redes Neurais Profundas, Circuitos Integrados Específicos de Aplicação (ASICs) e Unidades de Processamento Gráfico (GPUs) para processar os dados e muitas vezes têm um maior requisito de energia e memória. Implantar modelos de ML completos em dispositivos IoT não é uma solução viável devido à falta evidente de poder de processamento e computação, além de soluções de armazenamento limitadas.

A demanda por miniaturizar dispositivos embarcados de baixo poder, juntamente com a otimização de modelos de ML para torná-los mais eficientes em termos de energia e memória, abriu caminho para o TinyML, que visa implantar modelos e práticas de ML em dispositivos e frameworks de bordo IoT. O TinyML permite o processamento de sinais em dispositivos IoT e fornece inteligência embarcada, eliminando a necessidade de transferir dados para plataformas de nuvem para processamento. A implementação bem-sucedida do TinyML em dispositivos IoT pode resultar finalmente em aumento da privacidade e eficiência, além de reduzir os custos operacionais. Além disso, o que torna o TinyML mais atraente é que, no caso de conectividade inadequada, ele pode fornecer análise local.

TinyML: Introdução e Visão Geral

O TinyML é uma ferramenta de Aprendizado de Máquina que tem a capacidade de realizar análise de dispositivo para diferentes modalidades de sensor, como áudio, visão e fala. Os modelos de ML construídos na ferramenta TinyML têm requisitos de baixo poder, memória e computação que os tornam adequados para redes e dispositivos embarcados que operam com bateria. Além disso, os requisitos baixos do TinyML o tornam uma escolha ideal para implantar modelos de ML no framework de IoT.

No cenário atual, os sistemas de ML baseados em nuvem enfrentam algumas dificuldades, incluindo preocupações de segurança e privacidade, alto consumo de energia, dependência e problemas de latência, o que é por que os modelos em plataformas de hardware e software são pré-instalados. Os sensores coletam os dados que simulam o mundo físico e são processados usando uma CPU ou UCP (Unidade de Processamento Central). A UCP atende às necessidades de suporte de análise de ML habilitado por redes e arquitetura de bordo. A arquitetura de ML de bordo se comunica com a nuvem de ML para transferência de dados e a implementação do TinyML pode resultar em avanços significativos na tecnologia.

Pode-se dizer com segurança que o TinyML é uma combinação de software, hardware e algoritmos que trabalham em sincronia para fornecer o desempenho desejado. A computação analógica ou de memória pode ser necessária para fornecer uma experiência de aprendizado mais eficaz para dispositivos de hardware e IoT que não suportam aceleradores de hardware. Quanto ao software, as aplicações construídas usando o TinyML podem ser implantadas e implementadas em plataformas como Linux ou Linux embarcado e em software habilitado para nuvem. Finalmente, as aplicações e sistemas construídos no algoritmo TinyML devem ter o suporte de novos algoritmos que precisam de modelos de tamanho de memória baixo para evitar alto consumo de memória.

Para resumir, as aplicações construídas usando a ferramenta TinyML devem otimizar os princípios e métodos de ML, juntamente com o design compacto do software, na presença de dados de alta qualidade. Esses dados, em seguida, devem ser transmitidos por meio de arquivos binários gerados usando modelos treinados em máquinas com capacidade e poder de processamento muito maiores.

Além disso, os sistemas e aplicações que executam a ferramenta TinyML devem fornecer alta precisão ao executar em restrições mais apertadas, pois o software compacto é necessário para baixo consumo de energia que suporta as implicações do TinyML. Além disso, as aplicações ou módulos do TinyML podem depender do poder da bateria para suportar suas operações em sistemas embarcados de bordo.

Com isso dito, as aplicações do TinyML têm dois requisitos fundamentais

  1. Capacidade de dimensionar bilhões de sistemas embarcados baratos.
  2. Armazenar o código no RAM do dispositivo com capacidade inferior a alguns KBs.

Aplicações do TinyML Usando Tecnologias Avançadas

Uma das principais razões pelas quais o TinyML é um tópico quente na indústria de IA e ML é devido às suas potenciais aplicações, incluindo aplicações baseadas em visão e fala, diagnóstico de saúde, classificação e compressão de padrões de dados, interface cerebral-computador, computação de bordo, fenômica, carros autônomos e mais.

Aplicações Baseadas em Fala

Comunicações de Fala

Normalmente, as aplicações baseadas em fala dependem de métodos de comunicação convencionais nos quais todos os dados são importantes e são transmitidos. No entanto, nos últimos anos, a comunicação semântica surgiu como uma alternativa à comunicação convencional, pois na comunicação semântica, apenas o significado ou contexto dos dados é transmitido. A comunicação semântica pode ser implementada em aplicações baseadas em fala usando metodologias do TinyML.

Algumas das aplicações mais populares na indústria de comunicações de fala hoje são detecção de fala, reconhecimento de fala, aprendizado online, ensino online e comunicação orientada a objetivos. Essas aplicações normalmente têm um alto consumo de energia e também têm requisitos de dados altos no dispositivo hospedeiro. Para superar esses requisitos, uma nova biblioteca TinySpeech foi introduzida, que permite que os desenvolvedores construam uma arquitetura de baixa computação que usa redes neurais profundas para construir uma instalação de armazenamento de baixo tamanho.

Para usar o TinyML para melhoria de fala, os desenvolvedores primeiro abordaram o dimensionamento do modelo de melhoria de fala, pois estava sujeito a limitações e restrições de hardware. Para lidar com o problema, a poda estruturada e a quantização de inteiros para o modelo de melhoria de fala de RNN (Rede Neural Recorrente) foram implantadas. Os resultados sugeriram que o tamanho do modelo foi reduzido em quase 12 vezes, enquanto as operações foram reduzidas em quase 3 vezes. Além disso, é vital que os recursos sejam utilizados de forma eficaz, especialmente quando implantados em aplicações com recursos limitados que executam aplicações de reconhecimento de voz.

Como resultado, para particionar o processo, um método de co-projeto foi proposto para aplicações de voz e reconhecimento de fala baseadas no TinyML. Os desenvolvedores usaram a operação de janela para particionar o software e o hardware de uma maneira que pré-processasse os dados de voz brutos. O método pareceu funcionar, pois os resultados indicaram uma diminuição no consumo de energia no hardware. Finalmente, há também um potencial para implementar uma partição otimizada entre o co-projeto de software e hardware para um melhor desempenho no futuro.

Além disso, pesquisas recentes propuseram o uso de um transdutor baseado em telefone para sistemas de reconhecimento de fala e a proposta visa substituir os preditores LSTM por uma camada Conv1D para reduzir as necessidades de computação em dispositivos de bordo. Quando implementada, a proposta retornou resultados positivos, pois a decomposição de valor singular (SVD) havia comprimido o modelo com sucesso, enquanto o uso de decodificação baseada em Máquina de Estado Finito Ponderada (WFST) resultou em mais flexibilidade na melhoria do viés do modelo.

Muitas aplicações proeminentes de reconhecimento de fala, como assistentes virtuais ou de voz, legendas ao vivo e comandos de voz, usam técnicas de ML para funcionar. Atualmente, assistentes de voz populares, como Siri e o Assistente do Google, acionam a plataforma de nuvem a cada vez que recebem alguns dados, o que cria preocupações significativas relacionadas à privacidade e segurança de dados. O TinyML é uma solução viável para o problema, pois visa realizar o reconhecimento de fala em dispositivos e eliminar a necessidade de migrar dados para plataformas de nuvem. Uma das maneiras de alcançar o reconhecimento de fala no dispositivo é usar o Tiny Transducer, um modelo de reconhecimento de fala que usa uma camada de Bloco de Memória Sequencial Profunda (DFSMN) acoplada com uma camada Conv1D em vez das camadas LSTM para reduzir os requisitos de computação e parâmetros de rede.

Aparelhos de Ouvido

A perda auditiva é uma grande preocupação de saúde em todo o mundo e a capacidade de ouvir sons geralmente enfraquece à medida que as pessoas envelhecem, sendo um grande problema em países que lidam com populações envelhecidas, incluindo China, Japão e Coreia do Sul. Os dispositivos de ouvido atuais funcionam no princípio simples de amplificar todos os sons de entrada do ambiente, o que torna difícil para a pessoa distinguir ou diferenciar entre o som desejado, especialmente em um ambiente barulhento.

O TinyML pode ser a solução viável para esse problema, pois usar um modelo TinyLSTM que usa um algoritmo de reconhecimento de fala para dispositivos de ouvido pode ajudar os usuários a distinguir entre diferentes sons.

Aplicações Baseadas em Visão

O TinyML tem o potencial de desempenhar um papel crucial no processamento de conjuntos de dados baseados em visão, pois para saídas mais rápidas, esses conjuntos de dados precisam ser processados na própria plataforma de bordo. Para alcançar isso, o modelo TinyML enfrenta os desafios práticos encontrados ao treinar o modelo usando a placa de controle micro OpenMV H7. Os desenvolvedores também propuseram uma arquitetura para detectar a Língua Americana de Sinais com a ajuda de um microcontrolador ARM Cortex M7 que funciona apenas com 496KB de RAM de buffer de quadro.

A implementação do TinyML para aplicações baseadas em visão em plataformas de bordo exigiu que os desenvolvedores superassem o grande desafio de Redes Neurais Convolucionais (CNN) com um alto erro de generalização e alta precisão de treinamento e teste. No entanto, a implementação não se generalizou eficazmente para imagens em novos casos de uso, bem como para fundos com ruído. Quando os desenvolvedores usaram o método de aumento de interpolação, o modelo retornou uma pontuação de precisão de mais de 98% nos dados de teste e cerca de 75% na generalização.

Além disso, foi observado que, quando os desenvolvedores usaram o método de aumento de interpolação, houve uma queda na precisão do modelo durante a quantização, mas, ao mesmo tempo, houve um aumento na velocidade de inferência do modelo e na generalização da classificação. Os desenvolvedores também propuseram um método para aumentar ainda mais a precisão da generalização do treinamento do modelo em dados obtidos de várias fontes diferentes e testar o desempenho para explorar a possibilidade de implantá-lo em plataformas de bordo, como relógios inteligentes portáteis.

Além disso, estudos adicionais sobre CNN indicaram que é possível implantar e alcançar resultados desejáveis com a arquitetura CNN em dispositivos com recursos limitados. Recentemente, os desenvolvedores foram capazes de desenvolver um framework para a detecção de máscaras faciais médicas em um microcontrolador ARM Cortex M7 com recursos limitados usando TensorFlow Lite com uma pegada de memória mínima. O tamanho do modelo após a quantização foi de cerca de 138 KB, enquanto a velocidade de inferência na placa de destino foi de cerca de 30 FPS.

Outra aplicação do TinyML para aplicações baseadas em visão é implementar um dispositivo de reconhecimento de gestos que pode ser preso a uma bengala para ajudar pessoas com deficiência visual a se moverem facilmente em sua vida diária. Para projetá-lo, os desenvolvedores usaram o conjunto de dados de gestos e usaram o conjunto de dados para treinar o modelo ProtoNN com um algoritmo de classificação. Os resultados obtidos do conjunto foram precisos, o design foi de baixo custo e forneceu resultados satisfatórios.

Outra aplicação significativa do TinyML é na indústria de veículos autônomos e veículos autodirigíveis, devido à falta de recursos e poder de processamento a bordo. Para lidar com o problema, os desenvolvedores introduziram um método de aprendizado de loop fechado baseado no modelo TinyCNN, que propôs um modelo de preditor online que captura a imagem em tempo de execução. O grande problema que os desenvolvedores enfrentaram ao implantar o TinyML para direção autônoma foi que o modelo de decisão treinado para funcionar em dados offline pode não funcionar igualmente bem ao lidar com dados online. Para maximizar completamente as aplicações de carros autônomos e carros autodirigíveis, o modelo deve idealmente ser capaz de se adaptar aos dados em tempo real.

Classificação e Compressão de Padrões de Dados

Um dos maiores desafios do framework TinyML atual é permitir que ele se adapte a dados de treinamento online. Para lidar com o problema, os desenvolvedores propuseram um método conhecido como TinyOL ou Aprendizado de Máquina Online do TinyML, para permitir o treinamento com aprendizado online incremental em unidades de controle micro, permitindo que o modelo seja atualizado em dispositivos de bordo IoT. A implementação foi alcançada usando a linguagem de programação C++ e uma camada adicional foi adicionada à arquitetura do TinyOL.

Além disso, os desenvolvedores também realizaram a codificação automática da placa de sensor Arduino Nano 33 BLE e o modelo treinado foi capaz de classificar novos padrões de dados. Além disso, o trabalho de desenvolvimento incluiu o design de algoritmos eficientes e mais otimizados para as redes neurais para suportar o treinamento de padrões de dispositivos online.

Pesquisas no TinyOL e no TinyML indicaram que o número de camadas de ativação foi um grande problema para dispositivos de bordo IoT com recursos limitados. Para lidar com o problema, os desenvolvedores introduziram o novo modelo de Transferência de Aprendizado do TinyML, para tornar a utilização da memória sobre os dispositivos de bordo IoT muito mais eficaz, evitando o uso de camadas intermediárias para fins de ativação. Além disso, os desenvolvedores também introduziram um novo módulo de viés chamado “módulo de viés leve” para maximizar as capacidades de adaptação e, em curso, permitir que os extratores de recursos descubram mapas de recursos residuais.

Quando comparado com a ajuste fino da rede completa, os resultados foram favoráveis à arquitetura do TinyTL, pois os resultados mostraram que o TinyTL reduziu a sobrecarga de memória cerca de 6,5 vezes com uma perda de precisão moderada. Quando a última camada foi ajustada finamente, o TinyML melhorou a precisão em 34% com uma perda de precisão moderada.

Além disso, pesquisas sobre compressão de dados indicaram que os algoritmos de compressão de dados devem gerenciar os dados coletados em um dispositivo portátil e, para alcançar isso, os desenvolvedores propuseram o TAC ou Compressor de Anomalias Pequenas. O TAC foi capaz de superar os algoritmos SDT ou Tendência de Porta de Balanço e DCT ou Transformada de Coseno Discreta. Além disso, o algoritmo TAC superou os algoritmos SDT e DCT, alcançando uma taxa de compressão máxima de mais de 98% e tendo a melhor relação sinal-ruído de pico entre os três algoritmos.

Diagnóstico de Saúde

A pandemia global de Covid-19 abriu novas portas de oportunidade para a implementação do TinyML, pois agora é uma prática essencial detectar continuamente sintomas respiratórios relacionados a tosse e resfriado. Para garantir o monitoramento ininterrupto, os desenvolvedores propuseram um modelo de CNN chamado Tiny RespNet que opera em um ambiente de vários modelos e o modelo é implantado em um FPGA Xilinx Artix-7 100t que permite que o dispositivo processe as informações em paralelo, tenha alta eficiência e baixo consumo de energia. Além disso, o modelo TinyResp também pega a fala dos pacientes, gravações de áudio e informações demográficas como entrada para classificar e os sintomas de tosse relacionados a um paciente são classificados usando três conjuntos de dados distintos.

Além disso, os desenvolvedores também propuseram um modelo capaz de executar computações de Aprendizado Profundo em dispositivos de bordo, um modelo de TinyML chamado TinyDL. O modelo TinyDL pode ser implantado em dispositivos de bordo, como smartwatches e dispositivos vestíveis, para diagnóstico de saúde e também é capaz de realizar análise de desempenho para reduzir a largura de banda, a latência e o consumo de energia. Para alcançar a implantação do TinyDL em dispositivos portáteis, um modelo LSTM foi projetado e treinado especificamente para um dispositivo vestível e foi alimentado com dados coletados como entrada. O modelo tem uma pontuação de precisão de cerca de 75 a 80% e foi capaz de funcionar com dados fora do dispositivo. Esses modelos que executam em dispositivos de bordo mostraram o potencial de resolver os desafios atuais enfrentados pelos dispositivos IoT.

Finalmente, os desenvolvedores também propuseram outra aplicação para monitorar a saúde de idosos, estimando e analisando suas posturas corporais. O modelo usa o framework agnóstico no dispositivo que permite que o modelo habilite a validação e o cultivo rápido para realizar adaptações. O modelo implementou algoritmos de detecção de postura corporal acoplados com marcos faciais para detectar posturas corporais espaciais-temporais em tempo real.

Computação de Borda

Uma das principais aplicações do TinyML é no campo da computação de borda, pois, com o aumento do uso de dispositivos IoT para conectar dispositivos em todo o mundo, é essencial configurar dispositivos de borda, pois isso ajudará a reduzir a carga sobre as arquiteturas de nuvem. Esses dispositivos de borda terão centros de dados individuais que permitirão que eles realizem computação de alto nível no próprio dispositivo, em vez de depender da arquitetura de nuvem. Como resultado, ajudará a reduzir a dependência da nuvem, reduzir a latência, melhorar a segurança e privacidade do usuário e também reduzir a largura de banda.

Os dispositivos de borda que usam os algoritmos do TinyML ajudarão a resolver as restrições atuais relacionadas ao poder, computação e requisitos de memória e é discutido na imagem abaixo.

Além disso, o TinyML também pode melhorar o uso e a aplicação de Veículos Aéreos Não Tripulados (VANTs) ou drones, ao abordar as limitações atuais enfrentadas por essas máquinas. O uso do TinyML pode permitir que os desenvolvedores implantem um dispositivo de baixo consumo de energia com baixa latência e alto poder de processamento que possa atuar como um controlador para esses VANTs.

Interface Cérebro-Computador ou BCI

O TinyML tem aplicações significativas na indústria de saúde, pois pode ser altamente benéfico em diferentes áreas, incluindo detecção de câncer e tumor, previsões de saúde usando sinais de ECG e EEG e inteligência emocional. O uso do TinyML pode permitir que a Estimulação Cerebral Profunda Adaptativa (aDBS) se adapte com sucesso às adaptações clínicas. O uso do TinyML também pode permitir que a aDBS identifique marcas de doenças e sintomas usando gravações invasivas de sinais cerebrais.

Além disso, a indústria de saúde muitas vezes inclui a coleta de uma grande quantidade de dados de um paciente e esses dados, em seguida, precisam ser processados para alcançar soluções específicas para o tratamento de um paciente nos estágios iniciais de uma doença. Como resultado, é vital construir um sistema que não apenas seja altamente eficaz, mas também altamente seguro. Quando combinamos a aplicação de IoT com o modelo do TinyML, um novo campo nasce, chamado de Internet das Coisas de Saúde (H-IoT) e as principais aplicações do H-IoT são diagnóstico, monitoramento, logística, controle de propagação e sistemas de assistência. Se quisermos desenvolver dispositivos capazes de detectar e analisar a saúde de um paciente remotamente, é essencial desenvolver um sistema que tenha acessibilidade global e baixa latência.

Veículos Autônomos

Finalmente, o TinyML pode ter aplicações generalizadas na indústria de veículos autônomos, pois esses veículos podem ser utilizados de várias maneiras, incluindo rastreamento humano, propósitos militares e têm aplicações industriais. Esses veículos têm um requisito principal de ser capaz de identificar objetos de forma eficaz quando o objeto está sendo procurado.

Atualmente, veículos autônomos e direção autônoma são tarefas fairly complexas, especialmente ao desenvolver veículos mini ou pequenos. Desenvolvimentos recentes mostraram potencial para melhorar a aplicação de direção autônoma para veículos mini, usando uma arquitetura de CNN e implantando o modelo sobre o GAP8 MCI.

Desafios

O TinyML é um conceito relativamente novo na indústria de IA e ML e, apesar do progresso, ainda não é tão eficaz quanto precisamos para implantação em massa em dispositivos e IoT de borda.

O maior desafio atualmente enfrentado pelos dispositivos do TinyML é o consumo de energia desses dispositivos. Idealmente, os dispositivos embarcados e IoT de borda devem ter uma vida útil da bateria que se estenda por mais de 10 anos. Por exemplo, em condições ideais, um dispositivo IoT que executa em uma bateria de 2Ah deve ter uma vida útil da bateria de mais de 10 anos, desde que o consumo de energia do dispositivo seja de cerca de 12 uA. No entanto, no estado atual, uma arquitetura de IoT com um sensor de temperatura, uma unidade de controle micro e um módulo Wi-Fi, o consumo de corrente está em cerca de 176,4 mA e, com esse consumo de energia, a bateria durará apenas cerca de 11 horas, em vez dos 10 anos de vida útil da bateria necessários.

Restrições de Recursos

Para manter a consistência de um algoritmo, é vital manter a disponibilidade de energia e, dado o cenário atual, a disponibilidade limitada de energia para dispositivos do TinyML é um desafio crítico. Além disso, as limitações de memória também são um desafio significativo, pois implantar modelos muitas vezes requer uma grande quantidade de memória para funcionar de forma eficaz e precisa.

Restrições de Hardware

As restrições de hardware tornam a implantação de algoritmos do TinyML em larga escala difícil devido à heterogeneidade dos dispositivos de hardware. Existem milhares de dispositivos, cada um com suas próprias especificações e requisitos de hardware e, como resultado, um algoritmo do TinyML atualmente precisa ser ajustado para cada dispositivo individual, o que torna a implantação em massa um grande problema.

Restrições de Conjunto de Dados

Um dos principais problemas com os modelos do TinyML é que eles não suportam os conjuntos de dados existentes. É um desafio para todos os dispositivos de borda, pois eles coletam dados usando sensores externos e esses dispositivos muitas vezes têm restrições de energia e poder. Portanto, os conjuntos de dados existentes não podem ser usados para treinar os modelos do TinyML de forma eficaz.

Pensamentos Finais

O desenvolvimento de técnicas de ML causou uma revolução e uma mudança de perspectiva no ecossistema de IoT. A integração de modelos de ML em dispositivos IoT permitirá que esses dispositivos de borda tomem decisões inteligentes por conta própria, sem qualquer entrada humana externa. No entanto, convencionalmente, os modelos de ML muitas vezes têm requisitos de energia, memória e computação altos, o que os torna incompatíveis para implantação em dispositivos de borda que são frequentemente limitados por recursos.

Como resultado, um novo ramo na IA foi dedicado ao uso de ML para dispositivos IoT e foi denominado TinyML. O TinyML é um framework de ML que permite que mesmo os dispositivos com recursos limitados aproveitem o poder da IA e ML para garantir maior precisão, inteligência e eficiência.

Neste artigo, discutimos a implantação de modelos do TinyML em dispositivos IoT com recursos limitados e essa implantação requer o treinamento de modelos, a implantação de modelos no hardware e a realização de técnicas de quantização. No entanto, dado o escopo atual, os modelos de ML prontos para serem implantados em dispositivos e IoT de borda têm várias complexidades e restrições, incluindo problemas de compatibilidade de hardware e framework.

Um engenheiro por profissão, um escritor por coração. Kunal é um escritor técnico com um amor e compreensão profundos de AI e ML, dedicado a simplificar conceitos complexos nestes campos por meio de sua documentação envolvente e informativa.