Os modelos de inteligência artificial com redes neurais, usados em aplicações como processamento de imagens médicas e reconhecimento de voz, realizam operações em estruturas de dados extremamente complexas que requerem uma quantidade enorme de computação para serem processadas. Esse é um dos motivos pelos quais os modelos de aprendizado profundo consomem tanta energia.
Para melhorar a eficiência dos modelos de IA, pesquisadores do MIT criaram um sistema automatizado que permite aos desenvolvedores de algoritmos de aprendizado profundo aproveitar simultaneamente dois tipos de redundância de dados. Isso reduz a quantidade de computação, largura de banda e armazenamento de memória necessários para operações de aprendizado de máquina.
Técnicas existentes para otimização de algoritmos podem ser complicadas e, geralmente, permitem que os desenvolvedores capitalizem apenas sobre a esparsidade ou simetria — dois tipos diferentes de redundância que existem nas estruturas de dados de aprendizado profundo.
Ao permitir que um desenvolvedor construa um algoritmo do zero que aproveite ambas as redundâncias ao mesmo tempo, a abordagem dos pesquisadores do MIT aumentou a velocidade das computações em quase 30 vezes em alguns experimentos.
Como o sistema utiliza uma linguagem de programação amigável, ele pode otimizar algoritmos de aprendizado de máquina para uma ampla gama de aplicações. O sistema também pode ajudar cientistas que não são especialistas em aprendizado profundo, mas que desejam melhorar a eficiência dos algoritmos de IA que usam para processar dados. Além disso, o sistema pode ter aplicações em computação científica.
“Por muito tempo, capturar essas redundâncias de dados exigiu um grande esforço de implementação. Em vez disso, um cientista pode dizer ao nosso sistema o que gostaria de computar de uma maneira mais abstrata, sem dizer exatamente como computá-lo”, diz Willow Ahrens, uma pós-doutoranda do MIT e coautora de um artigo sobre o sistema, que será apresentado no Simpósio Internacional de Geração e Otimização de Código.
Ela é acompanhada no artigo pelo autor principal Radha Patel ’23, SM ’24 e pelo autor sênior Saman Amarasinghe, professor no Departamento de Engenharia Elétrica e Ciência da Computação (EECS) e pesquisador principal no Laboratório de Ciência da Computação e Inteligência Artificial (CSAIL).
No aprendizado de máquina, os dados são frequentemente representados e manipulados como arrays multidimensionais conhecidos como tensores. Um tensor é como uma matriz, que é uma array retangular de valores dispostos em dois eixos, linhas e colunas. Mas, ao contrário de uma matriz bidimensional, um tensor pode ter muitas dimensões, ou eixos, tornando-os mais difíceis de manipular.
Os modelos de aprendizado profundo realizam operações em tensores usando multiplicação e adição de matrizes repetidas — esse processo é como as redes neurais aprendem padrões complexos nos dados. O volume enorme de cálculos que deve ser realizado nessas estruturas de dados multidimensionais requer uma quantidade enorme de computação e energia.
Mas, devido à maneira como os dados nos tensores são organizados, os engenheiros podem frequentemente aumentar a velocidade de uma rede neural eliminando cálculos redundantes.
Por exemplo, se um tensor representa dados de avaliação de usuários de um site de e-commerce, como nem todos os usuários avaliaram todos os produtos, a maioria dos valores nesse tensor provavelmente é zero. Esse tipo de redundância de dados é chamado de esparsidade. Um modelo pode economizar tempo e computação armazenando e operando apenas nos valores não zero.
Além disso, às vezes um tensor é simétrico, o que significa que a metade superior e a metade inferior da estrutura de dados são iguais. Nesse caso, o modelo precisa operar apenas em uma metade, reduzindo a quantidade de computação. Esse tipo de redundância de dados é chamado de simetria.
“Mas quando você tenta capturar ambas as otimizações, a situação se torna bastante complexa”, diz Ahrens.
Para simplificar o processo, ela e seus colaboradores construíram um novo compilador, que é um programa de computador que traduz código complexo em uma linguagem mais simples que pode ser processada por uma máquina. Seu compilador, chamado SySTeC, pode otimizar cálculos aproveitando automaticamente tanto a esparsidade quanto a simetria em tensores.
Eles começaram o processo de construção do SySTeC identificando três otimizações chave que podem ser realizadas usando simetria.
Primeiro, se o tensor de saída do algoritmo for simétrico, ele só precisa computar metade dele. Segundo, se o tensor de entrada for simétrico, o algoritmo só precisa ler metade dele. Finalmente, se os resultados intermediários das operações de tensor forem simétricos, o algoritmo pode pular cálculos redundantes.
Para usar o SySTeC, um desenvolvedor insere seu programa e o sistema otimiza automaticamente o código para todos os três tipos de simetria. Então, a segunda fase do SySTeC realiza transformações adicionais para armazenar apenas valores de dados não zero, otimizando o programa para esparsidade.
No final, o SySTeC gera código pronto para uso.
“Dessa forma, obtemos os benefícios de ambas as otimizações. E o interessante sobre a simetria é que, à medida que seu tensor tem mais dimensões, você pode obter ainda mais economias na computação”, diz Ahrens.
Os pesquisadores demonstraram aumentos de velocidade de quase 30 vezes com o código gerado automaticamente pelo SySTeC.
Como o sistema é automatizado, ele pode ser especialmente útil em situações em que um cientista deseja processar dados usando um algoritmo que está escrevendo do zero.
No futuro, os pesquisadores querem integrar o SySTeC em sistemas de compilador de tensor esparso existentes para criar uma interface contínua para os usuários. Além disso, eles gostariam de usá-lo para otimizar código para programas mais complicados.
Este trabalho é financiado, em parte, pela Intel, pela National Science Foundation, pela Defense Advanced Research Projects Agency e pelo Departamento de Energia.
Microsoft amplia portfólio de energia renovável A Microsoft deu um passo significativo ao adicionar 389…
A plataforma de e-commerce Shopify retirou do ar a loja online de Kanye West após…
O Google tomou a decisão de remover eventos como o Mês da História Negra e…
Uma nova direção para o projeto IVAS O Exército dos Estados Unidos está prestes a…
O Founders Fund, fundo de investimentos fundado por Peter Thiel, está prestes a finalizar a…
Entenda o processo contra Elon Musk e DOGE Um grupo de trabalhadores federais está processando…
This website uses cookies.