toco TinyML: aplicativos, limitações e uso em dispositivos IoT e Edge - Unite.AI
Entre em contato

Inteligência artificial

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

mm
Atualização do on

Nos últimos anos, a Inteligência Artificial (IA) e Machine Learning (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. 

Uma introdução ao TinyML: Por que o mundo precisa do TinyML

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

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

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. 

A demanda para miniaturizar dispositivos incorporados de baixo consumo de energia, juntamente com a otimização de modelos de ML para torná-los mais eficientes em termos de energia e memória, abriu o caminho para o TinyML, que visa implementar modelos e práticas de ML em dispositivos e estruturas de IoT de ponta. TinyML permite o processamento de sinais em dispositivos IoT e fornece inteligência incorporada, eliminando assim a necessidade de transferir dados para plataformas em nuvem para processamento. A implementação bem-sucedida do TinyML em dispositivos IoT pode resultar em maior privacidade e eficiência, ao mesmo tempo que reduz os custos operacionais. Além disso, o que torna o TinyML mais atraente é que, em caso de conectividade inadequada, ele pode fornecer análises locais. 

TinyML: introdução e visão geral

TinyML é uma ferramenta de aprendizado de máquina que tem a capacidade de realizar análises no dispositivo para diferentes modalidades de detecção, como áudio, visão e fala. Os modelos Ml baseados na ferramenta TinyML têm baixos requisitos de energia, memória e computação, o que os torna adequados para redes incorporadas e dispositivos que operam com bateria. Além disso, os baixos requisitos do TinyML o tornam ideal para implantar modelos de ML na estrutura de IoT.

No cenário atual, os sistemas de ML baseados em nuvem enfrentam algumas dificuldades, incluindo questões de segurança e privacidade, alto consumo de energia, confiabilidade e problemas de latência, razão pela qual os modelos em plataformas de hardware-software são pré-instalados. Os sensores reúnem os dados que simulam o mundo físico e depois são processados ​​por meio de uma CPU ou MPU (unidade de microprocessamento). O MPU atende às necessidades de suporte analítico de ML habilitado por redes e arquitetura de ML com reconhecimento de borda. A arquitetura Edge ML se comunica com a nuvem de ML para transferência de dados, e a implementação do TinyML pode resultar em um avanço significativo da tecnologia. 

Seria seguro dizer que TinyML é um amálgama de software, hardware e algoritmos que funcionam em sincronia entre si para fornecer o desempenho desejado. A computação analógica ou de memória pode ser necessária para fornecer uma experiência de aprendizagem melhor e eficaz para dispositivos de hardware e IoT que não suportam aceleradores de hardware. No que diz respeito ao software, os aplicativos desenvolvidos com TinyML podem ser implantados e implementados em plataformas como Linux ou Linux incorporado e em software habilitado para nuvem. Finalmente, aplicativos e sistemas construídos no algoritmo TinyML devem ter suporte de novos algoritmos que precisam de modelos com pouca memória para evitar alto consumo de memória. 

Resumindo, os aplicativos desenvolvidos com a ferramenta TinyML devem otimizar os princípios e métodos de ML, além de projetar o software de forma compacta, na presença de dados de alta qualidade. Esses dados devem então ser transmitidos por meio de arquivos binários gerados usando modelos treinados em máquinas com capacidade e poder de computação muito maiores. 

Além disso, os sistemas e aplicativos executados na ferramenta TinyML devem fornecer alta precisão ao executar sob restrições mais rígidas, porque um software compacto é necessário para um pequeno consumo de energia que suporte as implicações do TinyML. Além disso, os aplicativos ou módulos TinyML podem depender da energia da bateria para suportar suas operações em sistemas embarcados de ponta. 

Dito isso, os aplicativos TinyML têm dois requisitos fundamentais

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

Aplicações de TinyML usando tecnologias avançadas

Uma das principais razões pelas quais TinyML é um tema quente na indústria de IA e ML é por causa de suas aplicações potenciais, incluindo aplicações baseadas em visão e fala, diagnóstico de saúde, compressão e classificação de padrões de dados, interface de controle cerebral, computação de ponta, fenômica, auto -dirigir carros e muito mais. 

Aplicativos baseados em fala

Comunicações de fala

Normalmente, os aplicativos baseados em fala dependem de métodos de comunicação convencionais nos quais todos os dados são importantes e são transmitidos. Porém, 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 aplicativos baseados em fala usando metodologias TinyML. 

Algumas das aplicações mais populares na indústria de comunicações por voz atualmente são detecção de fala, reconhecimento de fala, aprendizagem on-line, ensino on-line e comunicação orientada a objetivos. Esses aplicativos normalmente têm um consumo de energia mais alto e também exigem altos requisitos de dados no dispositivo host. Para superar esses requisitos, foi introduzida uma nova biblioteca TinySpeech que permite aos desenvolvedores construir uma arquitetura de baixa computação que usa redes convolucionais profundas para construir uma instalação de baixo armazenamento. 

Para usar o TinyML para aprimoramento de fala, os desenvolvedores primeiro abordaram o dimensionamento do modelo de aprimoramento de fala porque estava sujeito a limitações e restrições de hardware. Para resolver o problema, foram implantadas podas estruturadas e quantização de inteiros para RNN ou modelo de aprimoramento de fala de redes neurais recorrentes. Os resultados sugeriram que o tamanho do modelo foi reduzido em quase 12x, enquanto as operações foram reduzidas em quase 3x. Além disso, é vital que os recursos sejam utilizados de forma eficaz, especialmente quando implantados em aplicativos com recursos limitados que executam aplicativos de reconhecimento de voz. 

Como resultado, para particionar o processo, foi proposto um método de co-design para aplicações de reconhecimento de voz e fala baseadas em TinyML. Os desenvolvedores usaram a operação de janelas para particionar software e hardware de forma a pré-processar os dados de voz brutos. O método pareceu funcionar pois os resultados indicaram uma diminuição no consumo de energia do hardware. Finalmente, também há potencial para implementar particionamento otimizado entre co-design de software e hardware para melhor desempenho em um futuro próximo. 

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 pela camada Conv1D para reduzir as necessidades de computação em dispositivos de ponta. Quando implementada, a proposta retornou resultados positivos, pois o SVD ou Singular Value Decomposition comprimiu o modelo com sucesso, enquanto o uso de WFST ou decodificação baseada em Weighted Finite State Transducers resultou em mais flexibilidade no viés de melhoria do modelo. 

Muitas aplicações importantes de reconhecimento de fala, como assistentes virtuais ou de voz, legendas ao vivo e comandos de voz, usam técnicas de ML para funcionar. Assistentes de voz populares atualmente, como Siri e Google Assistant, fazem ping na plataforma de nuvem sempre que recebem alguns dados, e isso 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 migração de dados para plataformas em nuvem. Uma das maneiras de obter reconhecimento de fala no dispositivo é usar o Tiny Transducer, um modelo de reconhecimento de fala que usa uma camada DFSMN ou Deep Feed-Forward Sequential Memory Block acoplada a uma camada Conv1D em vez das camadas LSTM para reduzir os requisitos de computação e parâmetros de rede. 

Aparelhos Auditivos

A perda auditiva é um grande problema de saúde em todo o mundo, e a capacidade humana de ouvir sons geralmente enfraquece à medida que envelhecem, e é um grande problema em países que lidam com o envelhecimento da população, incluindo China, Japão e Coreia do Sul. Atualmente, os aparelhos auditivos funcionam com base no princípio simples de amplificar todos os sons de entrada do ambiente, o que torna difícil para a pessoa distinguir ou diferenciar o som desejado, especialmente em um ambiente barulhento. 

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

Aplicativos baseados em visão

TinyML tem potencial para desempenhar um papel crucial no processamento visão computacional conjuntos de dados baseados porque, para resultados mais rápidos, esses conjuntos de dados precisam ser processados ​​na própria plataforma de borda. Para conseguir isso, o modelo TinyML enfrenta os desafios práticos enfrentados ao treinar o modelo usando a placa microcontroladora OpenMV H7. Os desenvolvedores também propuseram uma arquitetura para detectar a linguagem de sinais americana com a ajuda de um microcontrolador ARM Cortex M7 que funciona apenas com 496 KB de RAM de buffer de quadros. 

A implementação do TinyML para aplicativos baseados em visão computacional em plataformas de ponta exigiu que os desenvolvedores superassem o grande desafio da CNN ou Redes Neurais Convolucionais com um alto erro de generalização e alta precisão de treinamento e teste. No entanto, a implementação não foi generalizada de forma eficaz 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, observou-se que quando os desenvolvedores utilizaram 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 também 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 do treinamento do modelo de generalização em dados obtidos de uma variedade de fontes diferentes e testar o desempenho para explorar a possibilidade de implantá-lo em plataformas de ponta, como relógios inteligentes portáteis. 

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

Outra aplicação do TinyML para aplicativos baseados em visão computacional é implementar um dispositivo de reconhecimento de gestos que pode ser preso a uma bengala para ajudar pessoas com deficiência visual a navegar facilmente em suas vidas diárias. 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 na configuração foram precisos, o projeto foi de baixo custo e apresentou resultados satisfatórios. 

Outra aplicação significativa do TinyML é na indústria de veículos autônomos e autônomos devido à falta de recursos e poder de computação a bordo. Para resolver o problema, os desenvolvedores introduziram um método de aprendizagem de circuito fechado baseado no modelo TinyCNN que propôs um modelo preditor online que captura a imagem em tempo de execução. O principal problema que os desenvolvedores enfrentaram ao implementar o TinyML para direção autônoma foi que o modelo de decisão treinado para funcionar com dados off-line pode não funcionar igualmente bem ao lidar com dados on-line. Para maximizar totalmente as aplicações de carros autónomos e de condução autónoma, o modelo deverá, idealmente, ser capaz de se adaptar aos dados em tempo real. 

Classificação e compactação de padrões de dados

Um dos maiores desafios da estrutura TinyML atual é facilitar sua adaptação aos dados de treinamento online. Para resolver o problema, os desenvolvedores propuseram um método conhecido como TinyOL ou TinyML Online Learning para permitir o treinamento com aprendizado on-line incremental em unidades microcontroladoras, permitindo assim que o modelo seja atualizado em dispositivos IoT de ponta. A implementação foi realizada utilizando a linguagem de programação C++, e uma camada adicional foi adicionada à arquitetura TinyOL. 

Além disso, os desenvolvedores também realizaram a autocodificação da placa do 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 a concepção de algoritmos eficientes e mais otimizados para as redes neurais para suportar padrões de treinamento de dispositivos online. 

Pesquisas em TinyOL e TinyML indicaram que o número de camadas de ativação tem sido um grande problema para dispositivos IoT de ponta que possuem recursos limitados. Para resolver o problema, os desenvolvedores introduziram o novo modelo TinyTL ou Tiny Transfer Learning para tornar a utilização da memória em dispositivos IoT de borda muito mais eficaz e evitar o uso de camadas intermediárias para fins de ativação. Além disso, os desenvolvedores também introduziram um novo módulo de polarização conhecido como “módulo lite-residual”Para maximizar as capacidades de adaptação e, claro, permitir que extratores de recursos descubram mapas de recursos residuais. 

Quando comparados com o ajuste fino completo da rede, os resultados foram a favor da arquitetura TinyTL, pois mostraram que o TinyTL reduz a sobrecarga de memória cerca de 6.5 vezes com perda moderada de precisão. Quando a última camada foi ajustada, o TinyML melhorou a precisão em 34% com perda moderada de precisão. 

Além disso, pesquisas sobre compressão de dados indicaram que algoritmos de compressão de dados deve gerenciar os dados coletados em um dispositivo portátil e, para conseguir o mesmo, os desenvolvedores propuseram o TAC ou Tiny Anomaly Compressor. O TAC foi capaz de superar os algoritmos SDT ou Swing Door Trending e DCT ou Discrete Cosine Transform. 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 relação sinal-ruído de pico superior entre os três algoritmos. 

Diagnóstico de Saúde

A pandemia global da Covid-19 abriu novas portas de oportunidade para a implementação do TinyML, pois agora é uma prática essencial para detectar continuamente sintomas respiratórios relacionados à tosse e ao resfriado. Para garantir o monitoramento ininterrupto, os desenvolvedores propuseram um modelo CNN Tiny RespNet que opera em uma configuração multimodelo, e o modelo é implantado em um FPGA Xilinx Artix-7 100t que permite ao dispositivo processar as informações paralelamente, tem alta eficiência, e baixo consumo de energia. Além disso, o modelo TinyResp também utiliza a fala dos pacientes, gravações de áudio e informações demográficas como entrada para classificação, e os sintomas relacionados à tosse de 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 cálculos de aprendizagem profunda em dispositivos de ponta, um modelo TinyML denominado TinyDL. O modelo TinyDL pode ser implantado em dispositivos de ponta, como smartwatches e wearables para diagnóstico de saúde, e também é capaz de realizar análises de desempenho para reduzir largura de banda, latência e consumo de energia. Para conseguir 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 também foi capaz de funcionar com dados externos ao dispositivo. Esses modelos executados em dispositivos de ponta mostraram potencial para resolver os desafios atuais enfrentados pelos dispositivos IoT. 

Finalmente, os desenvolvedores também propuseram outro aplicativo para monitorar a saúde dos idosos, estimando e analisando as posturas corporais. O modelo utiliza a estrutura agnóstica no dispositivo que permite ao modelo permitir a validação e o rápido fomento para realizar adaptações. O modelo implementou algoritmos de detecção de pose corporal juntamente com pontos de referência faciais para detectar poses corporais espaço-temporais em tempo real. 

EdgeComputing

Uma das principais aplicações do TinyML é no campo da computação de ponta, pois com o aumento no uso de dispositivos IoT para conectar dispositivos em todo o mundo, é essencial configurar dispositivos de ponta, pois ajudará a reduzir a carga nas arquiteturas de nuvem. . Esses dispositivos de ponta contarão com data centers individuais que lhes permitirão realizar computação de alto nível no próprio dispositivo, em vez de depender da arquitetura em nuvem. Como resultado, ajudará a reduzir a dependência da nuvem, reduzir a latência, aumentar a segurança e a privacidade do usuário e também reduzir a largura de banda. 

Dispositivos de borda que usam algoritmos TinyML ajudarão a resolver as restrições atuais relacionadas aos requisitos de energia, computação e memória, e isso é discutido na imagem abaixo. 

Além disso, o TinyML também pode aprimorar o uso e a aplicação de veículos aéreos não tripulados ou UAVs, abordando as atuais limitações enfrentadas por essas máquinas. O uso do TinyML pode permitir que os desenvolvedores implementem um dispositivo energeticamente eficiente, com baixa latência e alto poder de computação que pode atuar como um controlador para esses UAVs. 

Interface Cérebro-Computador ou BCI

TinyML tem aplicações significativas no setor de saúde e pode ser altamente benéfico em diferentes áreas, incluindo detecção de câncer e tumores, 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 ou aDBS se adapte com sucesso às adaptações clínicas. O uso de TinyMl também pode permitir que o aDBS identifique marcas biológicas relacionadas a doenças e seus sintomas usando gravações invasivas dos sinais cerebrais. 

Além disso, o setor da saúde inclui frequentemente a recolha de uma grande quantidade de dados de um paciente, e esses dados precisam então de ser processados ​​para chegar a soluções específicas para o tratamento de um paciente nas fases iniciais de uma doença. Como resultado, é vital construir um sistema que não seja apenas altamente eficaz, mas também altamente seguro. Quando combinamos a aplicação IoT com o modelo TinyML, nasce um novo campo denominado H-IoT ou Healthcare Internet of Things, e as principais aplicações do H-IoT são diagnóstico, monitoramento, logística, controle de propagação e sistemas assistivos. Se quisermos desenvolver dispositivos capazes de detectar e analisar remotamente a saúde de um paciente, é 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 diferentes maneiras, incluindo rastreamento humano, fins militares e aplicações industriais. Esses veículos têm como requisito principal a capacidade de identificar objetos de forma eficiente quando o objeto está sendo revistado. 

A partir de agora, veículos autônomos e direção autônoma são uma tarefa bastante complexa, especialmente no desenvolvimento de veículos mini ou de pequeno porte. Desenvolvimentos recentes mostraram potencial para melhorar a aplicação da condução autônoma para miniveículos usando uma arquitetura CNN e implantando o modelo no GAP8 MCI. 

Desafios

TinyML é um conceito relativamente mais 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 de dispositivos de borda e IoT. 

O maior desafio enfrentado atualmente pelos dispositivos TinyML é o consumo de energia desses dispositivos. Idealmente, espera-se que os dispositivos de borda e IoT incorporados tenham uma vida útil da bateria que se estenda por mais de 10 anos. Por exemplo, em condições ideais, um dispositivo IoT funcionando com uma bateria de 2Ah deve ter uma vida útil de mais de 10 anos, visto que o consumo de energia do dispositivo é de cerca de 12 ua. No entanto, no estado determinado, uma arquitetura IoT com sensor de temperatura, unidade MCU e módulo WiFi, o consumo de corrente é de cerca de 176.4 mA e, com esse consumo de energia, a bateria durará apenas cerca de 11 horas, em vez disso dos 10 anos necessários de vida útil da bateria. 

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 TinyML é um desafio crítico. Além disso, as limitações de memória também são um desafio significativo, pois a implantação de modelos geralmente requer uma grande quantidade de memória para funcionar de maneira eficaz e precisa. 

Restrições de hardware

As restrições de hardware dificultam a implantação de algoritmos TinyML em larga escala 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 TinyML atualmente precisa ser ajustado para cada dispositivo individual, o que torna a implantação em massa um grande problema. 

Restrições do conjunto de dados

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

Considerações Finais

O desenvolvimento de técnicas de ML causou uma revolução e uma mudança de perspectiva no ecossistema IoT. A integração de modelos de ML em dispositivos IoT permitirá que esses dispositivos de ponta tomem decisões inteligentes por conta própria, sem qualquer intervenção humana externa. No entanto, convencionalmente, os modelos de ML geralmente têm requisitos de alto consumo de energia, memória e computação, o que os torna unificados para serem implantados em dispositivos de borda que geralmente têm recursos limitados. 

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

Neste artigo, falamos sobre a implementação de modelos TinyML em dispositivos IoT com recursos limitados, e essa implementação requer o treinamento dos modelos, a implantação dos modelos no hardware e a execução de técnicas de quantização. No entanto, dado o escopo atual, os modelos de ML prontos para serem implantados em IoT e dispositivos de borda apresentam diversas complexidades e restrições, incluindo problemas de compatibilidade de hardware e de estrutura. 

"Engenheiro de profissão, escritor de coração". Kunal é um escritor técnico com profundo amor e compreensão de IA e ML, dedicado a simplificar conceitos complexos nesses campos por meio de sua documentação envolvente e informativa.