DeepMind AI encontra nova maneira de multiplicar números e acelerar computadores

Multiplicar números é uma tarefa fundamental para computadores – Imagem via Unsplash

A multiplicação de matrizes – onde duas grades de números são multiplicadas juntas – forma a base de muitas tarefas de computação, e uma técnica aprimorada descoberta por uma inteligência artificial pode aumentar a velocidade de computação em até 20%.

Uma inteligência artificial criada pela empresa DeepMind descobriu uma nova maneira de multiplicar números, o primeiro avanço desse tipo em mais de 50 anos. A descoberta pode aumentar algumas velocidades de computação em até 20%, já que uma variedade de softwares depende da realização da tarefa em grande escala.

A multiplicação de matrizes – onde duas grades de números são multiplicadas juntas – é uma tarefa de computação fundamental usada em praticamente todos os softwares até certo ponto, mas particularmente em gráficos, IA e simulações científicas. Mesmo uma pequena melhoria na eficiência desses algoritmos pode trazer grandes ganhos de desempenho ou economia de energia significativa.

O maior número do mundo Agnijo Banerjee no New Scientist Live em outubro

Durante séculos, acreditou-se que a forma mais eficiente de multiplicar matrizes seria proporcional ao número de elementos a serem multiplicados, o que significa que a tarefa se torna proporcionalmente mais difícil para matrizes cada vez maiores.

Mas o matemático Volker Strassen provou em 1969 que multiplicar uma matriz de duas linhas de dois números por outra do mesmo tamanho não envolve necessariamente oito multiplicações e que, com um truque inteligente, ela pode ser reduzida a sete. Essa abordagem, chamada de algoritmo de Strassen, requer alguma adição extra, mas isso é aceitável porque as adições em um computador levam muito menos tempo do que as multiplicações.

O algoritmo permaneceu como a abordagem mais eficiente na maioria dos tamanhos de matriz por mais de 50 anos, embora algumas pequenas melhorias que não são facilmente adaptadas ao código de computador tenham sido encontradas. Mas a IA da DeepMind descobriu agora uma técnica mais rápida que funciona perfeitamente no hardware atual. A nova IA da empresa, AlphaTensor, começou sem conhecimento de nenhuma solução e foi apresentada ao problema de criar um algoritmo de trabalho que completasse a tarefa com o número mínimo de etapas.

Ele encontrou um algoritmo para multiplicar duas matrizes de quatro linhas de quatro números usando apenas 47 multiplicações, o que supera as 49 multiplicações de Strassen. Também desenvolveu técnicas aprimoradas para multiplicar matrizes de outros tamanhos, 70 no total.

O AlphaTensor descobriu milhares de algoritmos funcionais para cada tamanho de matriz, incluindo 14.000 apenas para matrizes 4×4. Mas apenas uma pequena minoria foi melhor do que o estado da arte. A pesquisa se baseia no AlphaZero, o modelo de jogo da DeepMind, e está em desenvolvimento há dois anos.

Hussein Fawzi, da Deepmind, diz que os resultados são matematicamente sólidos, mas estão longe de ser intuitivos para humanos. “Nós realmente não sabemos por que o sistema surgiu com isso, essencialmente”, diz ele. “Por que é a melhor maneira de multiplicar matrizes? Não está claro.”

“De alguma forma, as redes neurais obtêm uma intuição do que parece bom e do que parece ruim. Sinceramente, não posso dizer exatamente como isso funciona. Acho que há algum trabalho teórico a ser feito sobre como exatamente o deep learning consegue fazer esse tipo de coisa”, diz Fawzi.

A DeepMind descobriu que os algoritmos podem aumentar a velocidade de computação entre 10 e 20% em certos hardwares, como uma unidade de processamento gráfico (GPU) Nvidia V100 e uma unidade de processamento de tensor do Google (TPU) v2, mas não há garantia de que esses ganhos também ser visto em dispositivos comuns como um smartphone ou laptop.

James Knight, da Universidade de Sussex, no Reino Unido, diz que uma variedade de softwares executados em supercomputadores e hardwares poderosos, como pesquisa de IA e simulação de clima, é efetivamente uma multiplicação de matrizes em larga escala.

“Se esse tipo de abordagem fosse realmente implementado lá, poderia ser uma espécie de aceleração universal”, diz ele. “Se a Nvidia implementasse isso em sua biblioteca CUDA [uma ferramenta que permite que as GPUs trabalhem juntas], isso reduziria uma porcentagem da maioria das cargas de trabalho de deep learning, eu diria.”

Oded Lachish, da Birkbeck, Universidade de Londres, diz que os novos algoritmos podem aumentar a eficiência de uma ampla gama de softwares, porque a multiplicação de matrizes é um problema tão comum – e mais algoritmos provavelmente se seguirão.

“Acredito que veremos resultados gerados por IA para outros problemas de natureza semelhante, embora raramente algo tão central quanto a multiplicação de matrizes. Há uma motivação significativa para essa tecnologia, já que menos operações em um algoritmo não significa apenas resultados mais rápidos, mas também menos energia gasta”, diz ele. Se uma tarefa puder ser concluída com um pouco mais de eficiência, ela poderá ser executada em hardware menos potente e com menos consumo de energia ou no mesmo hardware em menos tempo, usando menos energia.

Mas os avanços da DeepMind não significam necessariamente que os codificadores humanos estão desempregados. “Os programadores devem se preocupar? Talvez em um futuro distante. A otimização automática é feita há décadas na indústria de design de microchips e esta é apenas mais uma ferramenta importante no arsenal do codificador”, diz Lachish.


Publicado em 06/10/2022 09h04

Artigo original:

Estudo original: