Tecnologia Científica

Sistema traz aprendizado profundo para dispositivos de internet das coisas
O Advance pode habilitar a inteligência artificial em eletrodomésticos ao mesmo tempo em que melhora a segurança dos dados e a eficiência energética.
Por Daniel Ackerman - 16/11/2020


Os pesquisadores do MIT desenvolveram um sistema, chamado MCUNet, que leva o aprendizado de máquina aos microcontroladores. O avanço pode aprimorar o funcionamento e a segurança dos dispositivos conectados à Internet das Coisas (IoT).

O aprendizado profundo está em toda parte. Este ramo da inteligência artificial faz a curadoria de suas mídias sociais e fornece seus resultados de pesquisa do Google. Em breve, o aprendizado profundo também poderá verificar seus sinais vitais ou definir seu termostato. Os pesquisadores do MIT desenvolveram um sistema que pode trazer redes neurais de aprendizagem profunda para novos - e muito menores - lugares, como os minúsculos chips de computador em dispositivos médicos vestíveis, eletrodomésticos e os 250 bilhões de outros objetos que constituem a "internet das coisas" ( IoT).

O sistema, chamado MCUNet , projeta redes neurais compactas que oferecem velocidade e precisão sem precedentes para aprendizado profundo em dispositivos IoT, apesar da memória e do poder de processamento limitados. A tecnologia pode facilitar a expansão do universo IoT enquanto economiza energia e melhora a segurança dos dados.

A pesquisa será apresentada na Conferência sobre Sistemas de Processamento de Informação Neural do próximo mês. O autor principal é Ji Lin, estudante de PhD no laboratório de Song Han no Departamento de Engenharia Elétrica e Ciência da Computação do MIT. Os co-autores incluem Han e Yujun Lin do MIT, Wei-Ming Chen do MIT e da National University Taiwan, e John Cohn e Chuang Gan do MIT-IBM Watson AI Lab.

A Internet das Coisas

A IoT nasceu no início dos anos 1980. Alunos de graduação na Carnegie Mellon University, incluindo Mike Kazar '78, conectaram uma máquina Cola-Cola à Internet. A motivação do grupo era simples: preguiça. Eles queriam usar seus computadores para confirmar se a máquina estava estocada antes de sair do escritório para fazer uma compra. Foi o primeiro aparelho conectado à Internet do mundo. “Isso foi tratado como a piada de uma piada”, diz Kazar, agora engenheiro da Microsoft. “Ninguém esperava bilhões de dispositivos na Internet.”

Desde aquela máquina de Coca-Cola, os objetos do dia-a-dia tornaram-se cada vez mais interligados na crescente IoT. Isso inclui tudo, desde monitores cardíacos usáveis ​​a geladeiras inteligentes que avisam quando você está com pouco leite. Os dispositivos IoT geralmente são executados em microcontroladores - chips de computador simples sem sistema operacional, poder de processamento mínimo e menos de um milésimo da memória de um smartphone típico. Portanto, tarefas de reconhecimento de padrões, como aprendizado profundo, são difíceis de executar localmente em dispositivos IoT. Para análises complexas, os dados coletados pela IoT costumam ser enviados para a nuvem, tornando-os vulneráveis ​​a hackers.

“Como podemos implantar redes neurais diretamente nesses dispositivos minúsculos? É uma nova área de pesquisa que está ficando muito quente ”, diz Han. “Empresas como Google e ARM estão trabalhando nessa direção.” Han também.

Com o MCUNet, o grupo de Han codificou dois componentes necessários para “minúsculo aprendizado profundo” - a operação de redes neurais em microcontroladores. Um componente é o TinyEngine, um mecanismo de inferência que direciona o gerenciamento de recursos, semelhante a um sistema operacional. O TinyEngine é otimizado para executar uma estrutura de rede neural específica, que é selecionada por outro componente do MCUNet: TinyNAS, um algoritmo de pesquisa de arquitetura neural.

Codeign de algoritmo do sistema

Projetar uma rede profunda para microcontroladores não é fácil. As técnicas de pesquisa de arquitetura neural existentes começam com um grande conjunto de estruturas de rede possíveis com base em um modelo predefinido e, gradualmente, encontram aquele com alta precisão e baixo custo. Embora o método funcione, não é o mais eficiente. “Pode funcionar muito bem para GPUs ou smartphones”, diz Lin. “Mas tem sido difícil aplicar diretamente essas técnicas a microcontroladores minúsculos, porque eles são muito pequenos”.

Então Lin desenvolveu o TinyNAS, um método de pesquisa de arquitetura neural que cria redes de tamanho personalizado. “Temos muitos microcontroladores que vêm com diferentes capacidades de energia e diferentes tamanhos de memória”, diz Lin. “Então, desenvolvemos o algoritmo [TinyNAS] para otimizar o espaço de busca para diferentes microcontroladores.” A natureza personalizada do TinyNAS significa que ele pode gerar redes neurais compactas com o melhor desempenho possível para um determinado microcontrolador - sem parâmetros desnecessários. “Em seguida, entregamos o modelo final e eficiente ao microcontrolador”, diz Lin.

Para executar essa pequena rede neural, um microcontrolador também precisa de um mecanismo de inferência enxuto. Um mecanismo de inferência típico carrega algum peso morto - instruções para tarefas que ele raramente executa. O código extra não representa nenhum problema para um laptop ou smartphone, mas pode facilmente sobrecarregar um microcontrolador. “Ele não tem memória fora do chip e não tem disco”, diz Han. “Tudo junto é apenas um megabyte de flash, então temos que gerenciar com muito cuidado um recurso tão pequeno.” Cue TinyEngine.

Os pesquisadores desenvolveram seu mecanismo de inferência em conjunto com o TinyNAS. O TinyEngine gera o código essencial necessário para executar a rede neural personalizada do TinyNAS. Qualquer código de peso morto é descartado, o que reduz o tempo de compilação. “Guardamos apenas o que precisamos”, diz Han. “E como projetamos a rede neural, sabemos exatamente do que precisamos. Essa é a vantagem do codesign de algoritmo do sistema. ” Nos testes do grupo do TinyEngine, o tamanho do código binário compilado foi entre 1,9 e cinco vezes menor do que motores de inferência de microcontroladores comparáveis ​​do Google e ARM. O TinyEngine também contém inovações que reduzem o tempo de execução, incluindo convolução em profundidade no local, que reduz o pico de uso de memória quase pela metade. Depois de codificar o TinyNAS e o TinyEngine, a equipe de Han colocou o MCUNet em teste.

O primeiro desafio da MCUNet foi a classificação de imagens. Os pesquisadores usaram o banco de dados ImageNet para treinar o sistema com imagens rotuladas e, em seguida, testar sua capacidade de classificar as novas. Em um microcontrolador comercial que eles testaram, o MCUNet classificou com sucesso 70,7% das novas imagens - a combinação anterior de rede neural e mecanismo de inferência de última geração tinha apenas 54% de precisão. “Mesmo uma melhoria de 1 por cento é considerada significativa”, diz Lin. “Portanto, este é um salto gigante para as configurações do microcontrolador.”

A equipe encontrou resultados semelhantes em testes ImageNet de três outros microcontroladores. E tanto em velocidade quanto em precisão, o MCUNet venceu a competição por tarefas de “wake-word” de áudio e visual, onde um usuário inicia uma interação com um computador usando pistas vocais (pense: “Ei, Siri”) ou simplesmente entrando em uma sala. Os experimentos destacam a adaptabilidade do MCUNet a inúmeras aplicações.

“Grande potencial”

Os resultados do teste promissores dão a Han esperança de que ele se tornará o novo padrão da indústria para microcontroladores. “Tem um potencial enorme”, diz ele.

O avanço “estende a fronteira do projeto de rede neural profunda ainda mais no domínio computacional de pequenos microcontroladores eficientes em energia”, diz Kurt Keutzer, um cientista da computação da Universidade da Califórnia em Berkeley, que não esteve envolvido no trabalho. Ele acrescenta que o MCUNet poderia “trazer recursos de visão computacional inteligente até mesmo para os eletrodomésticos mais simples ou habilitar sensores de movimento mais inteligentes”.

O MCUNet também pode tornar os dispositivos IoT mais seguros. “Uma vantagem importante é preservar a privacidade”, diz Han. “Você não precisa transmitir os dados para a nuvem.”

A análise de dados localmente reduz o risco de roubo de informações pessoais - incluindo dados pessoais de saúde. Han imagina relógios inteligentes com MCUNet que não apenas detectam os batimentos cardíacos, a pressão arterial e os níveis de oxigênio dos usuários, mas também analisam e os ajudam a compreender essas informações. O MCUNet também pode trazer aprendizado profundo para dispositivos IoT em veículos e áreas rurais com acesso limitado à Internet.

Além disso, a pequena pegada de computação do MCUNet se traduz em uma pequena pegada de carbono. “Nosso grande sonho é a IA verde”, diz Han, acrescentando que treinar uma grande rede neural pode queimar carbono equivalente às emissões de cinco carros. O MCUNet em um microcontrolador exigiria uma pequena fração dessa energia. “Nosso objetivo final é permitir uma IA eficiente e minúscula com menos recursos computacionais, menos recursos humanos e menos dados”, diz Han.

 

.
.

Leia mais a seguir