IA embarcada: processamento local para ambientes desafiadores

Por Gabriel Dias Scarpioni, Especialista em Soluções de Software Embarcado do Inatel;
Lucas Sakai, Coordenador de Projetos de Pesquisa Desenvolvimento e Inovação em Hardware e Software Embarcado do Inatel;
Mayara Oliveira Paula, Coordenadora de Projetos de Pesquisa Desenvolvimento e Inovação em Hardware e Software Embarcado do Inatel;
e Francisco Portelinha, Gerente de Pesquisa Desenvolvimento e Inovação em Hardware e Software Embarcado do Inatel.

 

A Inteligência Artificial (IA) é uma tecnologia cujo objetivo é desenvolver sistemas computacionais com a capacidade de resolver problemas utilizando uma inteligência similar à humana. Para isso, são utilizados algoritmos sofisticados que processam e analisam grandes quantidades de dados, permitindo identificar padrões e gerar decisões baseadas em probabilidade dentro de um determinado contexto.

Esses sistemas são capazes de aprimorar seus critérios de decisão, adquirindo inteligência à medida que mais dados são analisados — a característica fundamental que distingue os algoritmos de IA dos algoritmos convencionais. Por exemplo, em sistemas básicos de controle de tráfego, a temporização dos semáforos segue regras predefinidas, sem a capacidade de se adaptar dinamicamente ao fluxo de veículos e aprender com os padrões, algo que a IA pode oferecer.

O índice de acerto de um algoritmo de IA é correlacionado à quantidade e à qualidade dos dados analisados. Quanto mais os conjuntos de dados analisados refletirem a variabilidade e a complexidade do mundo real, mais preciso será o modelo em diferentes situações. Portanto, é uma prática comum durante o desenvolvimento de IA realizar uma etapa de treinamento dos algoritmos com uma variedade de dados para que eles adquiram uma inteligência inicial aceitável. Por exemplo, para treinar um modelo de reconhecimento facial, pode ser necessário usar milhões de imagens de rostos para garantir que o sistema consiga distinguir entre diferentes indivíduos com alta precisão. Em muitas abordagens, os algoritmos de IA são hospedados em servidores devido à sua capacidade de processamento e armazenamento.

Em algumas aplicações, a latência resultante desse processo e o envio de grandes volumes de dados para servidores remotos podem tornar a solução inviável. No contexto de Internet das Coisas (IoT), existem desafios relacionados a conexão limitada, sendo o satélite, a única opção de comunicação remota disponível. Porém, trafegar grandes volumes de dados por esse meio de comunicação pode inviabilizar a solução devido aos custos operacionais envolvidos.

 

IA embarcada: uma possível solução para aplicações com restrições de comunicação

Em diversas aplicações que utilizam IA, há dispositivos distribuídos pelo ambiente operacional equipados com tecnologia embarcada para coletar os dados necessários ao funcionamento dos algoritmos decisão, como ocorre em soluções de IoT, por exemplo. Entende-se como tecnologia embarcada o conjunto de hardware e software que compõem o dispositivo, muitas vezes de forma discreta e imperceptível para o usuário final.

Neste sentido, a IA embarcada baseia-se em implementar os algoritmos de decisão diretamente no hardware embarcado dos dispositivos que compõem a solução e realizar o processamento local dos dados. Os algoritmos podem ser implementados diretamente nos dispositivos que realizam a obtenção dos dados ou em dispositivos que intermediam a comunicação dos sensores com o servidor, como gateways e concentradores. Em ambos os casos, os algoritmos necessitam analisar apenas os dados daquele contexto, o que pode diminuir a complexidade e consequentemente os recursos computacionais necessários.

Com este modelo de IA embarcada, todo o volume de dados é analisado localmente e apenas as decisões geradas pelos algoritmos podem ser enviadas para os servidores remotos, reduzindo significativamente as informações trafegadas. Como resultado, há uma menor utilização da banda de comunicação e uma redução dos custos operacionais da solução.

Outro ponto importante é que fatores externos como qualidade da rede de comunicação e disponibilidade do servidor não interferem no tempo de resposta do algoritmo embarcado para gerar uma decisão, resultando em uma latência menor para aplicação.

A segurança é outra vantagem no modelo. Como a necessidade de enviar informações através de conexões remotas é menor, a exposição de dados sensíveis em caso de uma eventual interceptação será reduzida.

A integração da IA diretamente nos dispositivos apresenta-se como uma solução vantajosa em locais com conectividade remota limitada ou em situações que demandam decisões imediatas. Um exemplo é o monitoramento de linhas de transmissão de energia elétrica. Além dos desafios de conectividade impostos pela extensa área dessas linhas, há um grande volume de dados a serem processados para decisões precisas, como o controle do crescimento da vegetação sob as linhas e a avaliação da qualidade da energia, sendo, portanto, um cenário favorável para a aplicação de IA embarcada.

Existem desafios neste modelo, principalmente no que diz respeito à capacidade dos aparelhos utilizados nas extremidades da rede. No entanto, é perceptível que vários fabricantes de processadores e microcontroladores têm apostado e desenvolvido arquiteturas computacionais especialmente projetadas para implementar IA nesses aparelhos.

 

 

O Inatel está na vanguarda dessas inovações, nas áreas de educação, pesquisa e desenvolvimento. Com nossa expertise em PD&I, ajudamos as empresas a superar os desafios e a explorar ao máximo as oportunidades da transformação digital. Somos Unidade EMBRAPII e contamos com diversos modelos de fomento à inovação.
Seja para criar soluções tecnológicas ou otimizar processos, o Inatel Competence Center é o parceiro ideal para PD&I em hardware, software, ensaios, certificação e calibração de equipamentos, além de consultoria e treinamento. Saiba mais aqui.

Veja mais