banner

Notícias

May 28, 2023

jogo do Google DeepMind

Os algoritmos gerados por IA já estão sendo usados ​​por milhões de desenvolvedores.

A série de descobertas da DeepMind na ciência da computação fundamental continua. No ano passado, a empresa usou uma versão de seu AI AlphaZero para encontrar novas maneiras de acelerar o cálculo de uma parte crucial da matemática no coração de muitos tipos diferentes de código, batendo um recorde de 50 anos.

Agora ele fez o mesmo truque novamente - duas vezes. Usando uma nova versão do AlphaZero chamada AlphaDev, a empresa com sede no Reino Unido (recentemente renomeada como Google DeepMind após uma fusão com o laboratório de IA de sua empresa irmã em abril) descobriu uma maneira de classificar itens em uma lista até 70% mais rápido do que o melhor existente. método.

Ele também encontrou uma maneira de acelerar um algoritmo de chave usado na criptografia em 30%. Esses algoritmos estão entre os blocos de construção mais comuns em software. Pequenos aumentos de velocidade podem fazer uma grande diferença, reduzindo custos e economizando energia.

A nova versão do AlphaZero descobriu uma maneira mais rápida de fazer a multiplicação de matrizes, um problema central da computação que afeta milhares de tarefas diárias do computador.

"A Lei de Moore está chegando ao fim, onde os chips estão se aproximando de seus limites físicos fundamentais", diz Daniel Mankowitz, cientista pesquisador do Google DeepMind. "Precisamos encontrar maneiras novas e inovadoras de otimizar a computação."

"É uma nova abordagem interessante", diz Peter Sanders, que estuda o projeto e a implementação de algoritmos eficientes no Instituto de Tecnologia de Karlsruhe, na Alemanha, e que não esteve envolvido no trabalho. "A classificação ainda é uma das sub-rotinas mais usadas na computação", diz ele.

DeepMind publicou seus resultados na Nature hoje. Mas as técnicas descobertas pela AlphaDev já estão sendo usadas por milhões de desenvolvedores de software. Em janeiro de 2022, a DeepMind submeteu seus novos algoritmos de classificação à organização que gerencia C++, uma das linguagens de programação mais populares do mundo, e após dois meses de rigorosa verificação independente, os algoritmos da AlphaDev foram adicionados à linguagem. Esta foi a primeira mudança nos algoritmos de classificação do C++ em mais de uma década e a primeira atualização a envolver um algoritmo descoberto usando IA.

A DeepMind adicionou seus outros novos algoritmos ao Abseil, uma coleção de código aberto de algoritmos C++ pré-escritos que podem ser usados ​​por qualquer pessoa que codifica com C++. Esses algoritmos de criptografia calculam números chamados hashes que podem ser usados ​​como IDs exclusivos para qualquer tipo de dado. A DeepMind estima que seus novos algoritmos estão sendo usados ​​trilhões de vezes por dia.

O AlphaDev é construído sobre o AlphaZero, o modelo de aprendizado por reforço que o DeepMind treinou para dominar jogos como Go e xadrez. A descoberta da DeepMind foi tratar o problema de encontrar um algoritmo mais rápido como um jogo e, em seguida, fazer com que sua IA vença - o mesmo método usado para acelerar os cálculos na pesquisa do ano passado.

No caso do AlphaDev, o jogo envolve escolher instruções de computador e colocá-las em ordem para que as linhas de código resultantes formem um algoritmo. AlphaDev ganha o jogo se o algoritmo estiver correto e mais rápido do que os existentes. Parece simples, mas para jogar bem, o AlphaDev deve pesquisar um número astronômico de movimentos possíveis.

A DeepMind escolheu trabalhar com assembly, uma linguagem de programação que pode ser usada para fornecer instruções específicas sobre como mover números em um chip de computador. Poucos humanos escrevem em assembleia; é a linguagem para a qual o código escrito em linguagens como C++ é traduzido antes de ser executado. A vantagem da montagem é que ela permite que os algoritmos sejam divididos em etapas refinadas - um bom ponto de partida se você estiver procurando por atalhos.

Os chips de computador têm slots diferentes onde os números são colocados e processados. A montagem inclui instruções básicas para manipular o que está nesses slots, como mov(A,B), que diz ao computador para mover o número que está no slot A para o slot B e cmp(A,B), que diz ao computador para verificar se o que está no slot A é menor, igual ou maior que o que está no slot B. Longas sequências dessas instruções podem executar tudo o que os computadores fazem.

COMPARTILHAR