Grande salto da IA para pequenos dispositivos abre um mundo de possibilidades

Por John Roach //

Às vezes, o melhor lugar para mostrar o potencial de uma tecnologia arrojada, capaz de mudar o mundo, é um jardim. Veja o caso de Ofer Dekel, por exemplo. Ele gerencia o grupo de Aprendizagem de Máquina e Otimização no laboratório de pesquisas da Microsoft em Redmond, Washington. Os esquilos muitas vezes devoravam bulbos de flores em seu jardim e sementes de seu alimentador de aves, privando-o das flores e dos pássaros.

Para resolver o problema, Dekel treinou um modelo de visão computacional para detectar esquilos e implantou o código em um Raspberry Pi 3, um computador de placa única, baixo custo e recursos limitados. O dispositivo agora vigia seu quintal e dispara seu sistema de sprinklers sempre que os bichos aparecem. “Todo hobbysta que possui um Raspberry Pi deve ser capaz de fazer isso”, disse Dekel. “Atualmente, poucos deles podem.”

Dekel, um especialista em aprendizagem de máquina, procura resolver esse problema. Ele lidera uma equipe multidisciplinar de cerca de 30 cientistas de computação, engenheiros de software e estagiários de pesquisa nos laboratórios da Microsoft em Redmond e Bangalore, na Índia, que está desenvolvendo uma nova classe de software e ferramentas de aprendizagem de máquina para embutir Inteligência Artificial (IA) em processadores de computador do tamanho de uma migalha de pão. As primeiras prévias do software estão disponíveis para download no GitHub.

O projeto faz parte de uma mudança de paradigma no setor de tecnologia que o CEO da Microsoft, Satya Nadella, descreveu recentemente durante sua apresentação na conferência Build 2017, realizada pela empresa em Seattle. “Estamos passando do que é hoje o mundo ‘mobile-first, cloud-first’ para um mundo novo que será formado por uma nuvem inteligente e uma edge inteligente”, disse ele.

Edge inteligente

Criar a edge inteligente¹ é um passo em direção à realização da promessa de um mundo povoado de pequenos dispositivos inteligentes – embutidos em nossas roupas, espalhados por nossas casas e escritórios e implantados para executar tarefas como detecção de anomalia e manutenção preditiva em todos os lugares, dos motores de automóveis e elevadores a salas de operação e plataformas de petróleo.

Atualmente, esses tipos de dispositivo funcionam principalmente como sensores que coletam e enviam dados para modelos de aprendizado de máquina executados na nuvem. “Todo o processamento requer muita computação, muito armazenamento”, disse Shabnam Erfani, diretora de operações comerciais e técnicas do laboratório de pesquisa da Microsoft em Redmond. “Você não pode pôr todo esse hardware em um dispositivo embutido de baixo custo.”

Dekel e seus colegas querem “fazer o impossível”, Erfani acrescentou. “Para encolher e tornar o aprendizado da máquina muito mais eficiente para você realmente poder executá-lo nos dispositivos.”

Esses dispositivos inteligentes fazem parte da chamada Internet das Coisas, ou IoT na sigla em inglês, exceto que essas coisas devem ser inteligentes mesmo sem conexão à internet.

Pesquisadores da Microsoft no laboratório da Índia que estão trabalhando no projeto, da esquerda para a direita: Manik Varma, Praneeth Netrapalli, Chirag Gupta, Prateek Jain, Yeshwanth Cherapanamjeri, Rahul Sharma, Nagarajan Natarajan e Vivek Gupta. (Foto: Mahesh Bhat)

“O paradigma dominante é que esses dispositivos são burros”, disse Manik Varma, pesquisador sênior da Microsoft Research na Índia e colíder do projeto. “Eles percebem seu ambiente e transmitem suas leituras de sensores para a nuvem, onde toda a aprendizagem de máquina acontece. Infelizmente, esse paradigma não aborda uma série de cenários críticos que acreditamos que podem transformar o mundo.”

Levar aprendizagem de máquina a dispositivos de edge reduz as restrições de largura de banda e elimina as preocupações sobre a latência da rede, que é o tempo que leva para que os dados viajem para a nuvem para processamento e de volta para o dispositivo. O aprendizado de máquina no dispositivo também limita o consumo da bateria na comunicação constante com a nuvem e protege a privacidade, mantendo informações pessoais e sensíveis localmente, observou Varma.

Os pesquisadores imaginam todos os tipos de dispositivos inteligentes que poderiam ser criados com esse método, desde sensores inteligentes de umidade do solo implantados na irrigação de precisão em fazendas remotas até implantes de cérebro que alertam os usuários de convulsões iminentes para que possam chegar a um lugar seguro e chamar um cuidador.

“Se você está dirigindo em uma rodovia e não há conectividade lá, você não quer que o implante pare de funcionar”, disse Varma. “Na verdade, é aí que você realmente precisa mais.”

De cima para baixo

A equipe está fazendo abordagens de cima para baixo e de baixo para cima no desafio de implantar modelos de aprendizagem de máquina em dispositivos de recursos limitados.

A abordagem de cima para baixo envolve o desenvolvimento de algoritmos que comprimam modelos de aprendizado de máquina treinados para a nuvem que funcionem eficientemente em dispositivos como o Raspberry Pi 3 e o Raspberry Pi Zero.

Muitos dos modelos de aprendizagem de máquina atuais são redes neurais profundas, uma classe de indicadores inspirados na biologia dos cérebros humanos. Dekel e seus colegas usam uma variedade de técnicas para comprimir redes naurais profundas para caber em dispositivos pequenos. Uma técnica chamada “quantização de peso”, por exemplo, representa cada parâmetro de rede neural com apenas alguns bits, às vezes um único bit, em vez do padrão 32.

Cientistas da Microsoft trabalham em sistemas que podem rodar algoritmos de aprendizado de máquina em microcontroladores tão pequenos quanto o que segura Ofer Dekel, pesquisador líder do projeto. (Foto: Dan DeLong)

“Nós podemos inserir mais parâmetros em um espaço menor, e o computador pode executar muito, muito mais rápido”, disse Dekel.

Para ilustrar a diferença, ele mostrou um vídeo comparando uma rede neural de última geração com e sem quantização treinada e implantada para visão computacional no Raspberry Pi 3s: os modelos são igualmente precisos, mas a versão comprimida roda cerca de 20 vezes mais rápido.

As primeiras prévias desses algoritmos de compressão e treinamento estão disponíveis para download no GitHub. A equipe também está trabalhando em ferramentas que permitirão que hobbystas, criadores e outros especialistas aprendam a navegar no processo de ponta a ponta, de coleta e limpeza de dados, treinando os modelos e implantando-os em seus dispositivos.

“Dar essas poderosas ferramentas de aprendizado de máquina às pessoas comuns é a democratização da IA”, disse Saleema Amershi, pesquisadora de interação humano-computador no laboratório de Redmond. “Se nós possuímos a tecnologia para colocar inteligências nos pequenos dispositivos, mas as únicas pessoas que podem usá-los são especialistas em aprendizado de máquina, então, o que conseguimos?”

Outra técnica de compressão que está sendo investigada pela equipe é a poda, ou “esparsificação”, de redes neurais para remover redundâncias, o que deve resultar em tempos de avaliação mais rápidos e na capacidade de implantar em computadores menores, como o ARM Cortex M7.

Em pé, à esquerda, Vivek Seshadri, Harsha Vardhan Simhadri, Suresh Parthasarathy e Priyan Vaithilingam, pesquisadores do laboratório da Microsoft na Índia que também trabalham no projeto. (Foto: Mahesh Bhat)

De baixo para cima

Todo esse trabalho de compressão só tornará os modelos de aprendizagem de máquina existentes de 10 a 100 vezes menores. Para implantar a aprendizagem em máquina no Cortex M0s, o menor dos processadores ARM – eles são fisicamente do tamanho de um floco de pimenta vermelha e Dekel os chama de “poeira de computador” – os modelos precisam ser de 1.000 a 10.000 vezes menores.

“Não há como fazer uma rede neural profunda, mantê-la tão precisa quanto é hoje e consumir 10.000 recursos a menos. Você não pode fazer isso”, disse Dekel. “Então, para isso, temos uma abordagem de longo prazo, que é começar do zero. Começar da matemática no quadro branco e inventar um novo conjunto de tecnologias de aprendizado de máquina e ferramentas que são adaptadas para essas plataformas de recursos limitados.”

A abordagem de baixo para cima começa a partir do pequeno fim do espectro, onde os membros da equipe estão focados na construção de uma biblioteca cheia de algoritmos de treinamento, cada um ajustado para desempenhar otimamente em um conjunto de cenários de nicho: um para aplicações como o implante cerebral, por exemplo, e outro para detectar anomalias em um motor a jato para prever quando a manutenção é necessária.

O menor dispositivo em que o grupo se concentrou é o Arduino Uno, um computador de placa única de recursos limitados com apenas 2 kilobytes de RAM. Os algoritmos treinam modelos de aprendizagem de máquina para tarefas como responder a perguntas de sim ou não e de múltipla escolha, prevendo valores alvo prováveis e classificando uma lista de itens.

Esses modelos são inspirados em sistemas baseados em nuvem, mas estão sendo reestruturados de forma que diminuam a quantidade de dados aprendidos, reduzam a complexidade computacional e limitem os requisitos de memória, mantendo a precisão e a velocidade.

“Em última análise, você obtém previsões que são quase tão precisas quanto (redes neurais baseadas na nuvem), mas agora o tamanho do seu modelo é muito pequeno para que você possa implantá-lo por alguns kilobytes de RAM”, explicou Varma.

Microcontroladores minúsculos como o que está sobre a moeda poderão rodar algoritmos de aprendizado de máquina. (Foto: Dan DeLong)

Um protótipo de dispositivo em desenvolvimento para mostrar o potencial desta pesquisa é uma bengala inteligente para Varma, portador de deficiência visual, que pode detectar quedas e fazer um pedido de assistência. Outra aplicação potencial é uma luva inteligente que pode interpretar a linguagem de sinais americana e “falar” as palavras sinalizadas por meio de um alto-falante.

“Eu gosto de ajudar as pessoas com suas deficiências a serem mais produtivas e mais bem integradas à sociedade”, disse Varma.

Imaginando o futuro

O movimento para incorporar a IA em dispositivos minúsculos é parte de uma iniciativa mais ampla dentro da organização de pesquisa da Microsoft para visualizar tecnologias que podem ser difundidas em uma década a partir de agora. Para Dekel e seus colegas, este é um mundo cheio de dispositivos inteligentes e seguros, construídos com ferramentas que são acessíveis a qualquer pessoa com uma ideia e a vontade de fazê-lo.

Por enquanto, o projeto de pesquisa está servindo a comunidade criadora – pessoas que têm problemas como Dekel com os esquilos e uma visão para resolvê-los com tecnologia caseira. Outros criadores são especialistas de várias áreas, como um nadador que quer treinar uma faixa de fitness para contar as voltas e distinguir entre nado livre, de peito e borboleta.

Varma também considera o papel desses criadores em toda indústria, desenvolvendo dispositivos inteligentes e seguros otimizados para detecção de anomalias e tarefas de manutenção preditiva. “Reparar algo quando está quebrado”, ele observou, “é muito mais caro do que identificar o problema antes de quebrar.”

Apenas alguns desses dispositivos existirão se o trabalho de fazê-los for deixado para a população relativamente pequena de cientistas da computação com doutorado em inteligência artificial, observou Amershi. Ela está trabalhando em interfaces e outras ferramentas para reduzir a complexidade e a monotonia do treinamento e a implantação de modelos de aprendizagem de máquina em dispositivos de ponta para que criadores de todos os tipos possam ser produtivos.

“O aprendizado de máquina não é uma coisa única”, disse ela. “É uma arte. Demanda algum esforço, algumas repetições, para orientar esses modelos de aprendizado de máquina a executar o que deseja que façam.”

¹ Edge é uma rede localizada na periferia de uma rede centralizada. A edge alimenta a rede central.

John Roach escreve sobre pesquisa e inovação na Microsoft.

No alto, da esquerda para a direita, os pesquisadores do laboratório da Microsoft em Redmond, Washington, Ajay Manchepalli, Rob DeLine, Lisa Ong, Chuck Jacobs, Ofer Dekel, Saleema Amershi, Shuayb Zarar, Chris Lovett e Byron Changuion. (Foto: Dan DeLong)

Links relacionados:

Baixe as primeiras prévias do software de machine learning no GitHub.

Assista a apresentação de Satya Nadella na Build 2017.

Visite o blog Internet of Things, da Microsoft.

Saiba mais sobre o programa Expeditions da Microsoft Research.

Tags: , , , , , ,

Posts Relacionados