No limite do aprendizado

Um modelo de machine learning em um dispositivo de borda inteligente permite que ele se adapte a novos dados e faça melhores previsões. Por exemplo, treinar um modelo em um teclado inteligente pode permitir que o teclado aprenda continuamente com a escrita do usuário.

Créditos:Imagem: Colagem digital de Jose-Luis Olivares, MIT, usando imagens de banco de imagens e imagens derivadas de MidJourney AI.


Uma nova técnica permite que os modelos de IA aprendam continuamente com novos dados em dispositivos de ponta inteligentes, como smartphones e sensores, reduzindo os custos de energia e os riscos de privacidade.

Microcontroladores, computadores em miniatura que podem executar comandos simples, são a base para bilhões de dispositivos conectados, de dispositivos de internet das coisas (IoT) a sensores em automóveis. Mas microcontroladores baratos e de baixo consumo têm memória extremamente limitada e nenhum sistema operacional, tornando difícil treinar modelos de inteligência artificial em “dispositivos de ponta” que funcionam independentemente dos recursos de computação central.

Treinar um modelo de machine learning em um dispositivo de borda inteligente permite que ele se adapte a novos dados e faça melhores previsões. Por exemplo, treinar um modelo em um teclado inteligente pode permitir que o teclado aprenda continuamente com a escrita do usuário. No entanto, o processo de treinamento requer tanta memória que normalmente é feito usando computadores poderosos em um data center, antes que o modelo seja implantado em um dispositivo. Isso é mais caro e levanta problemas de privacidade, pois os dados do usuário devem ser enviados para um servidor central.

Para resolver esse problema, pesquisadores do MIT e do MIT-IBM Watson AI Lab desenvolveram uma nova técnica que permite o treinamento no dispositivo usando menos de um quarto de megabyte de memória. Outras soluções de treinamento projetadas para dispositivos conectados podem usar mais de 500 megabytes de memória, excedendo em muito a capacidade de 256 kilobytes da maioria dos microcontroladores (há 1.024 kilobytes em um megabyte).

Os algoritmos inteligentes e a estrutura que os pesquisadores desenvolveram reduzem a quantidade de computação necessária para treinar um modelo, o que torna o processo mais rápido e mais eficiente em termos de memória. Sua técnica pode ser usada para treinar um modelo de machine learning em um microcontrolador em questão de minutos.

Essa técnica também preserva a privacidade mantendo os dados no dispositivo, o que pode ser especialmente benéfico quando os dados são confidenciais, como em aplicativos médicos. Também pode permitir a personalização de um modelo com base nas necessidades dos usuários. Além disso, o framework preserva ou melhora a precisão do modelo quando comparado a outras abordagens de treinamento.

“Nosso estudo permite que os dispositivos IoT não apenas realizem inferências, mas também atualizem continuamente os modelos de IA para dados recém-coletados, abrindo caminho para o aprendizado no dispositivo ao longo da vida. A baixa utilização de recursos torna o deep learning mais acessível e pode ter um alcance mais amplo, especialmente para dispositivos de borda de baixo consumo”, diz Song Han, professor associado do Departamento de Engenharia Elétrica e Ciência da Computação (EECS), membro do MIT -IBM Watson AI Lab e autor sênior do artigo que descreve essa inovação.

Juntando-se a Han no artigo estão os co-autores e estudantes de doutorado do EECS Ji Lin e Ligeng Zhu, bem como os pós-doutorandos do MIT Wei-Ming Chen e Wei-Chen Wang, e Chuang Gan, um dos principais membros da equipe de pesquisa do MIT-IBM Watson Laboratório de IA. A pesquisa será apresentada na Conferência sobre Sistemas de Processamento de Informação Neural.

Han e sua equipe abordaram anteriormente os gargalos computacionais e de memória que existem ao tentar executar modelos de machine learning em pequenos dispositivos de borda, como parte de sua iniciativa TinyML.

Treinamento leve

Um tipo comum de modelo de machine learning é conhecido como rede neural. Vagamente baseados no cérebro humano, esses modelos contêm camadas de nós interconectados, ou neurônios, que processam dados para concluir uma tarefa, como reconhecer pessoas em fotos. O modelo deve ser treinado primeiro, o que envolve mostrar milhões de exemplos para que ele possa aprender a tarefa. À medida que aprende, o modelo aumenta ou diminui a força das conexões entre os neurônios, que são conhecidas como pesos.

O modelo pode sofrer centenas de atualizações à medida que aprende, e as ativações intermediárias devem ser armazenadas durante cada rodada. Em uma rede neural, a ativação é o resultado intermediário da camada intermediária. Como pode haver milhões de pesos e ativações, treinar um modelo requer muito mais memória do que executar um modelo pré-treinado, explica Han.

Han e seus colaboradores empregaram duas soluções algorítmicas para tornar o processo de treinamento mais eficiente e menos intensivo em memória. A primeira, conhecida como atualização esparsa, usa um algoritmo que identifica os pesos mais importantes a serem atualizados a cada rodada de treinamento. O algoritmo começa a congelar os pesos um de cada vez até ver a precisão cair para um limite definido e, em seguida, para. Os pesos restantes são atualizados, enquanto as ativações correspondentes aos pesos congelados não precisam ser armazenadas na memória.

“Atualizar todo o modelo é muito caro porque há muitas ativações, então as pessoas tendem a atualizar apenas a última camada, mas como você pode imaginar, isso prejudica a precisão. Para nosso método, atualizamos seletivamente esses pesos importantes e garantimos que a precisão seja totalmente preservada”, diz Han.

A segunda solução envolve treinamento quantizado e simplificação dos pesos, que normalmente são de 32 bits. Um algoritmo arredonda os pesos para que sejam apenas oito bits, por meio de um processo conhecido como quantização, que reduz a quantidade de memória para treinamento e inferência. A inferência é o processo de aplicar um modelo a um conjunto de dados e gerar uma previsão. Em seguida, o algoritmo aplica uma técnica chamada quantization-aware scaling (QAS), que atua como um multiplicador para ajustar a relação entre peso e gradiente, para evitar qualquer queda na precisão que possa vir do treinamento quantizado.

Os pesquisadores desenvolveram um sistema, chamado de minúsculo mecanismo de treinamento, que pode executar essas inovações algorítmicas em um microcontrolador simples que não possui um sistema operacional. Esse sistema altera a ordem das etapas no processo de treinamento para que mais trabalho seja concluído no estágio de compilação, antes que o modelo seja implantado no dispositivo de borda.

“Nós empurramos muito da computação, como diferenciação automática e otimização de gráficos, para compilar o tempo. Também removemos agressivamente os operadores redundantes para oferecer suporte a atualizações esparsas. Uma vez em tempo de execução, temos muito menos carga de trabalho para fazer no dispositivo”, explica Han.

Aceleração de sucesso

Sua otimização exigia apenas 157 kilobytes de memória para treinar um modelo de machine learning em um microcontrolador, enquanto outras técnicas projetadas para treinamento leve ainda precisariam entre 300 e 600 megabytes.

Eles testaram sua estrutura treinando um modelo de visão computacional para detectar pessoas em imagens. Após apenas 10 minutos de treinamento, ele aprendeu a completar a tarefa com sucesso. Seu método foi capaz de treinar um modelo mais de 20 vezes mais rápido do que outras abordagens.

Agora que eles demonstraram o sucesso dessas técnicas para modelos de visão computacional, os pesquisadores querem aplicá-las a modelos de linguagem e diferentes tipos de dados, como dados de séries temporais. Ao mesmo tempo, eles querem usar o que aprenderam para diminuir o tamanho de modelos maiores sem sacrificar a precisão, o que pode ajudar a reduzir a pegada de carbono do treinamento de modelos de machine learning em grande escala.

“A adaptação/treinamento do modelo de IA em um dispositivo, especialmente em controladores embarcados, é um desafio aberto. Esta pesquisa do MIT não apenas demonstrou com sucesso os recursos, mas também abriu novas possibilidades para a personalização de dispositivos de preservação de privacidade em tempo real”, diz Nilesh Jain, engenheiro-chefe da Intel que não esteve envolvido neste trabalho. “As inovações na publicação têm uma aplicabilidade mais ampla e irão desencadear novas pesquisas de co-design de algoritmos de sistemas.”

“A aprendizagem no dispositivo é o próximo grande avanço em que estamos trabalhando para a borda inteligente conectada. O grupo do professor Song Han mostrou um grande progresso na demonstração da eficácia dos dispositivos de ponta para treinamento”, acrescenta Jilei Hou, vice-presidente e chefe de pesquisa de IA da Qualcomm. “A Qualcomm concedeu à sua equipe uma bolsa de inovação para mais inovação e avanço nesta área.”


Publicado em 05/10/2022 08h44

Artigo original:

Estudo original: