Site icon Embarcados – Sua fonte de informações sobre Sistemas Embarcados

Mais próximo da borda da rede

borda da red

Breve Introdução ao Aprendizado de Máquina

O aprendizado de máquina (ou, em inglês, Machine Learning) está no cerne da maioria das aplicações que possuem inteligência artificial (IA) e envolve ensinar um computador a identificar padrões de dados. Mais especificamente, o objetivo é criar um modelo treinado. Isso pode ser feito com o aprendizado supervisionado, onde o computador recebe exemplos para aprender. Como alternativa, o processo pode não ser supervisionado – o computador simplesmente procura padrões interessantes nos dados. Técnicas que envolvem aprendizagem contínua, em que o computador aprende com seus erros também existem, mas estão fora do escopo deste artigo.

Rodando o seu Modelo de Aprendizado de Máquina

Uma vez que o modelo de Aprendizagem de Máquina foi criado, ele pode ser aplicado ao trabalho em questão. Os modelos podem ser usados ​​para prever eventos futuros, identificar anomalias e reconhecimento de imagem ou fala. Em quase todos os casos, os modelos dependem de grandes estruturas (deep-tree structures) e precisam de um poder de computação significativo para funcionar. Isso é especialmente verdadeiro para modelos envolvidos em reconhecimento de imagem e voz, que geralmente são baseados em redes neurais artificiais. As redes neurais criam malhas densas e precisam ser executadas em hardware altamente paralelizado, geralmente baseado em GPUs. Até recentemente, esse poder estava disponível apenas em provedores de serviços baseados em nuvem, como Amazon Web Services (AWS) ou Azure.

Para se ter uma ideia da potência necessária, a tabela a seguir mostra as especificações das instâncias AWS P3, uma plataforma de processamento otimizada para aplicativos de Aprendizado de Máquina ( Tabela 1 ).

Tabela 1: Especificações das instâncias AWS P3

TipoGPUsvCPUsRAMGPU RAMLargura de banda
de Armazenamento
Largura de banda
de rede
P3.2XL1861GB16GB1.5Gbps~10Gbps
P3.8XL432244GB64GB7Gbps10Gbps
P3.16XL864488GB128GB14Gbps25Gbps
P3.24XL896768GB256GB19Gbps100Gbps

Essas instâncias P3 são máquinas significamente poderosas. Elas possuem uma grande quantidade de RAM junto com acesso extremamente rápido à rede e ao armazenamento. Acima de tudo, elas têm um poder de processamento significativo de CPU e GPU, um requisito que torna a execução de modelos de Aprendizado de Máquina na borda da rede um verdadeiro desafio.

Os pontos contras de uma Inteligência Artificial Centralizada

Até o momento, a maioria dos aplicativos de Inteligência Artificial conhecidos depende da nuvem porque é muito difícil executar modelos de Aprendizado de Máquina na borda. No entanto, essa dependência da computação em nuvem impõe algumas limitações ao uso de Inteligência Artificial. Aqui está uma lista de algumas das desvantagens operacionais da Inteligência Artificial ​​centralizada:

Algumas aplicações não podem rodar na nuvem

Para operar Inteligência Artificial na nuvem, é necessária uma conexão de rede confiável e com capacidade adequada. Se não estiver disponível, talvez devido à falta de infraestrutura, alguns aplicativos de Inteligência Artificial precisem ser executados localmente. Em outras palavras, esses aplicativos só funcionam se você puder executar seus modelos de Aprendizado de Máquina na borda.

Considere o exemplo do veículo autônomo; ele precisa realizar várias tarefas que dependem do aprendizado de máquina. A mais importante dessas tarefas é a detecção e prevenção de objetos. Isso requer modelos de Aprendizado de Máquina bastante exigentes que precisam de um grau significativo de capacidade de computação. No entanto, mesmo os carros em rede têm apenas conexões de baixa largura de banda e essas conexões são inconsistentes (embora 5G possa melhorar isso).

Essa limitação também se aplica a criação de sistemas de monitoramento de Internet das Coisas (IoT) inteligentes para mineração e outras indústrias pesadas. Muitas vezes, uma rede rápida está disponível localmente, mas a conectividade com a Internet pode depender de um uplink de satélite.

A latência importa

Muitas aplicações de Aprendizado de Máquina precisam funcionar em tempo real. Como mencionado anteriormente, os carros que dirigem sozinhos são uma aplicação, mas também existem outras formas de utilização como o reconhecimento facial em tempo real. Isso pode ser usado para sistemas de controle de acesso ou para fins de segurança; por exemplo, as forças policiais costumam usar essa tecnologia para monitorar multidões para identificar potenciais causadores de problemas em eventos esportivos e outros eventos.

A Inteligência Artificial também é cada vez mais usada para criar dispositivos médicos inteligentes. Alguns desses dispositivos precisam funcionar em tempo real para oferecer benefícios reais, mas o tempo médio de ida e volta para se conectar a um data center é normalmente de 10 ms-100 ms. As aplicações em tempo real são, portanto, difíceis de alcançar sem mover os modelos de Aprendizado de Máquina para mais perto da borda da rede.

Segurança pode ser um problema

Vários aplicativos de Aprendizado de Máquina lidam com dados seguros ou confidenciais. É possível enviar esses dados pela rede e armazená-los com segurança na nuvem. No entanto, as políticas locais geralmente proíbem essa prática. Os dados de saúde são especialmente confidenciais e muitos países têm regras rígidas sobre como enviá-los a um servidor em nuvem. No geral, é sempre mais fácil garantir o dispositivo que está conectado apenas a uma rede local.

Custos

As assinaturas de instâncias de nuvem otimizadas para Aprendizado de Máquina podem ser caras – a instância de especificação mais baixa mostrada na Tabela 1 custa cerca de 3 dólares por hora. Muitos provedores de nuvem cobram taxas adicionais que também precisam ser consideradas, como armazenamento e acesso à rede. Realisticamente, executar uma aplicação com Inteligência Artificial pode custar até 3.000 dólares por mês.

Conclusão

A implementação de Aprendizado de Máquina bem-sucedida normalmente exige recursos baseados em nuvem ou servidor com poder de computação significativo. No entanto, conforme as aplicações evoluem e novos casos de uso surgem, mover o Aprendizado de Máquina para a borda da rede se torna mais atraente, especialmente quando latência, segurança e custo de implementação são considerações primárias.

Para artigos como esse, acesse o link.

Artigo escrito originalmente por Mark Patrick para Mouser Electronics: Closer to the Network Edge

Traduzido por Equipe Embarcados.