Agora podemos treinar grandes redes neurais em pequenos dispositivos

Notícias

LarLar / Notícias / Agora podemos treinar grandes redes neurais em pequenos dispositivos

Jun 13, 2024

Agora podemos treinar grandes redes neurais em pequenos dispositivos

Os gadgets ao nosso redor estão constantemente aprendendo sobre nossas vidas. Os smartwatches captam nossos sinais vitais para monitorar nossa saúde. Os alto-falantes domésticos ouvem nossas conversas para reconhecer nossas vozes.

Os gadgets ao nosso redor estão constantemente aprendendo sobre nossas vidas. Os smartwatches captam nossos sinais vitais para monitorar nossa saúde. Os alto-falantes domésticos ouvem nossas conversas para reconhecer nossas vozes. Os smartphones brincam de gramáticos, observando o que escrevemos para corrigir nossos erros de digitação idiossincráticos. Agradecemos essas conveniências, mas as informações que compartilhamos com nossos gadgets nem sempre são mantidas entre nós e nossos acompanhantes eletrônicos. O aprendizado de máquina pode exigir hardware pesado, portanto, dispositivos “de ponta”, como telefones, geralmente enviam dados brutos para servidores centrais, que então retornam algoritmos treinados. Algumas pessoas gostariam que esse treinamento acontecesse localmente. Um novo método de treinamento de IA expande as capacidades de treinamento de dispositivos menores, ajudando potencialmente a preservar a privacidade.

Os sistemas de aprendizado de máquina mais poderosos usam redes neurais, funções complexas repletas de parâmetros ajustáveis. Durante o treinamento, uma rede recebe uma entrada (como um conjunto de pixels), gera uma saída (como o rótulo “gato”), compara sua saída com a resposta correta e ajusta seus parâmetros para ter um desempenho melhor na próxima vez. Para saber como ajustar cada um desses botões internos, a rede precisa lembrar o efeito de cada um deles, mas eles normalmente chegam a milhões ou até bilhões. Isso requer muita memória. Treinar uma rede neural pode exigir centenas de vezes a memória necessária ao apenas usar uma (também chamada de “inferência”). Neste último caso, a memória pode esquecer o que cada camada da rede fez assim que passa a informação para a próxima camada.

Para reduzir a memória exigida durante a fase de treinamento, os pesquisadores empregaram alguns truques. Em um deles, chamado de paginação ou descarregamento, a máquina move essas ativações da memória de curto prazo para um tipo de memória mais lento, porém mais abundante, como flash ou cartão SD, e depois as traz de volta quando necessário. Em outra, chamada rematerialização, a máquina exclui as ativações e as computa novamente mais tarde. Anteriormente, os sistemas de redução de memória usavam um desses dois truques ou, diz Shishir Patil, cientista da computação da Universidade da Califórnia, Berkeley, e principal autor do artigo que descreve a inovação, eles eram combinados usando “heurísticas” que são “ abaixo do ideal”, muitas vezes exigindo muita energia. A inovação relatada por Patil e seus colaboradores formaliza a combinação de paginação e rematerialização.

“Pegar essas duas técnicas, combiná-las bem neste problema de otimização e depois resolvê-lo é muito bom”, diz Jiasi Chen, cientista da computação da Universidade da Califórnia, em Riverside, que trabalha com computação de ponta, mas não esteve envolvido no projeto. trabalhar.

Em julho, Patil apresentou seu sistema, denominado POET (private Optimal Energy Training), na Conferência Internacional sobre Aprendizado de Máquina, em Baltimore. Ele primeiro fornece ao POET detalhes técnicos de um dispositivo e informações sobre a arquitetura de uma rede neural que ele deseja treinar. Ele especifica um orçamento de memória e um orçamento de tempo. Ele então pede para criar um processo de treinamento que minimize o uso de energia. O processo pode decidir paginar certas ativações que seriam ineficientes para recalcular, mas rematerializar outras que são simples de refazer, mas requerem muita memória para armazenar.

Uma das chaves para o avanço foi definir o problema como um quebra-cabeça de programação linear inteira mista (MILP), um conjunto de restrições e relacionamentos entre variáveis. Para cada dispositivo e arquitetura de rede, o POET conecta suas variáveis ​​ao programa MILP feito à mão por Patil e, em seguida, encontra a solução ideal. “O principal desafio é formular esse problema de uma maneira agradável para que você possa inseri-lo em um solucionador”, diz Chen. “Assim, você captura toda a dinâmica realista do sistema, como energia, latência e memória.”

A equipe testou o POET em quatro processadores diferentes, cuja RAM variava de 32 KB a 8 GB. Em cada uma, os pesquisadores treinaram três arquiteturas de redes neurais diferentes: dois tipos populares em reconhecimento de imagens (VGG16 e ResNet-18), além de uma popular rede de processamento de linguagem (BERT). Em muitos dos testes, o sistema conseguiu reduzir o uso de memória em cerca de 80%, sem um grande aumento no consumo de energia. Métodos comparáveis ​​não poderiam fazer as duas coisas ao mesmo tempo. Segundo Patil, o estudo mostrou que o BERT agora pode ser treinado nos menores dispositivos, o que antes era impossível.