Novo agente de IA desenvolve algoritmos para aplicações matemáticas e práticas em computação, combinando a criatividade de grandes modelos de linguagem com avaliadores automatizados
Grandes modelos de linguagem (LLMs) são notavelmente versáteis. Eles podem resumir documentos, gerar código ou até mesmo gerar novas ideias. E agora expandimos esses recursos para lidar com problemas fundamentais e altamente complexos em matemática e computação moderna.
Hoje, anunciamos o AlphaEvolve , um agente de codificação evolucionário alimentado por grandes modelos de linguagem para descoberta e otimização de algoritmos de uso geral. O AlphaEvolve combina os recursos criativos de resolução de problemas dos nossos modelos Gemini com avaliadores automatizados que verificam as respostas e utiliza uma estrutura evolucionária para aprimorar as ideias mais promissoras.
O AlphaEvolve aprimorou a eficiência dos data centers, do design de chips e dos processos de treinamento de IA do Google — incluindo o treinamento dos grandes modelos de linguagem subjacentes ao próprio AlphaEvolve. Também ajudou a projetar algoritmos de multiplicação de matrizes mais rápidos e a encontrar novas soluções para problemas matemáticos em aberto, demonstrando uma promessa incrível de aplicação em diversas áreas.
Projetando melhores algoritmos com grandes modelos de linguagem
Em 2023, demonstramos pela primeira vez que grandes modelos de linguagem podem gerar funções escritas em código de computador para ajudar a descobrir conhecimento novo e comprovadamente correto sobre um problema científico aberto. O AlphaEvolve é um agente que pode ir além da descoberta de funções únicas para evoluir bases de código inteiras e desenvolver algoritmos muito mais complexos.
O AlphaEvolve utiliza um conjunto de modelos de linguagem de ponta: nosso modelo mais rápido e eficiente, Gemini Flash , maximiza a amplitude das ideias exploradas, enquanto nosso modelo mais poderoso, Gemini Pro , proporciona profundidade crítica com sugestões perspicazes. Juntos, esses modelos propõem programas de computador que implementam soluções algorítmicas como código.
Diagrama mostrando como o amostrador de prompts primeiro monta um prompt para os modelos de linguagem, que então geram novos programas. Esses programas são avaliados por avaliadores e armazenados no banco de dados de programas. Esse banco de dados implementa um algoritmo evolucionário que determina quais programas serão usados para prompts futuros.
O AlphaEvolve verifica, executa e pontua os programas propostos usando métricas de avaliação automatizadas. Essas métricas fornecem uma avaliação objetiva e quantificável da precisão e qualidade de cada solução. Isso torna o AlphaEvolve particularmente útil em uma ampla gama de domínios onde o progresso pode ser medido de forma clara e sistemática, como em matemática e ciência da computação.
Otimizando nosso ecossistema de computação
Ao longo do último ano, implementamos algoritmos descobertos pela AlphaEvolve em todo o ecossistema de computação do Google, incluindo nossos data centers, hardware e software. O impacto de cada uma dessas melhorias é multiplicado em nossa infraestrutura de IA e computação para construir um ecossistema digital mais poderoso e sustentável para todos os nossos usuários.
Diagrama mostrando como o AlphaEvolve ajuda o Google a fornecer um ecossistema digital mais eficiente, desde o agendamento do data center e design de hardware até o treinamento do modelo de IA.
Melhorando o agendamento do data center
A AlphaEvolve descobriu uma heurística simples, porém notavelmente eficaz, para ajudar a Borg a orquestrar os vastos data centers do Google com mais eficiência. Essa solução, em produção há mais de um ano, recupera continuamente, em média, 0,7% dos recursos computacionais globais do Google. Esse ganho de eficiência sustentado significa que, a qualquer momento, mais tarefas podem ser concluídas com a mesma área de cobertura computacional. A solução da AlphaEvolve não apenas resulta em um desempenho robusto, mas também oferece vantagens operacionais significativas de código legível: interpretabilidade, capacidade de depuração, previsibilidade e facilidade de implantação.
Auxiliar no projeto de hardware
A AlphaEvolve propôs uma reescrita em Verilog que removeu bits desnecessários em um circuito aritmético chave e altamente otimizado para multiplicação de matrizes. Fundamentalmente, a proposta deve passar por métodos de verificação robustos para confirmar que o circuito modificado mantém a correção funcional. Esta proposta foi integrada a uma futura Unidade de Processamento Tensor (TPU), o acelerador de IA personalizado do Google. Ao sugerir modificações na linguagem padrão dos projetistas de chips, a AlphaEvolve promove uma abordagem colaborativa entre engenheiros de IA e de hardware para acelerar o projeto de futuros chips especializados.
Aprimorando o treinamento e a inferência de IA
O AlphaEvolve está acelerando o desempenho da IA e a velocidade da pesquisa. Ao encontrar maneiras mais inteligentes de dividir uma grande operação de multiplicação de matrizes em subproblemas mais gerenciáveis, ele acelerou esse núcleo vital na arquitetura do Gemini em 23%, resultando em uma redução de 1% no tempo de treinamento do Gemini. Como o desenvolvimento de modelos de IA generativos requer recursos computacionais substanciais, cada ganho de eficiência se traduz em economias consideráveis. Além dos ganhos de desempenho, o AlphaEvolve reduz significativamente o tempo de engenharia necessário para a otimização do núcleo, de semanas de esforço especializado para dias de experimentos automatizados, permitindo que os pesquisadores inovem mais rapidamente.
O AlphaEvolve também pode otimizar instruções de GPU de baixo nível. Esse domínio incrivelmente complexo geralmente já é altamente otimizado por compiladores, portanto, engenheiros humanos normalmente não o modificam diretamente. O AlphaEvolve alcançou um aumento de velocidade de até 32,5% na implementação do kernel FlashAttention em modelos de IA baseados em Transformer . Esse tipo de otimização ajuda os especialistas a identificar gargalos de desempenho e incorporar facilmente as melhorias em sua base de código, aumentando sua produtividade e permitindo futuras economias de computação e energia.
Avançando as fronteiras da matemática e da descoberta de algoritmos
O AlphaEvolve também pode propor novas abordagens para problemas matemáticos complexos. Com um esqueleto de código mínimo para um programa de computador, o AlphaEvolve projetou diversos componentes de um novo procedimento de otimização baseado em gradientes que descobriu diversos algoritmos novos para multiplicação de matrizes, um problema fundamental na ciência da computação.
Uma lista de alterações propostas pelo AlphaEvolve para descobrir algoritmos de multiplicação de matrizes mais rápidos. Neste exemplo, o AlphaEvolve propõe alterações abrangentes em vários componentes, incluindo o otimizador e a inicialização de pesos, a função de perda e a varredura de hiperparâmetros. Essas alterações são altamente não triviais, exigindo 15 mutações durante o processo evolutivo.
O procedimento do AlphaEvolve encontrou um algoritmo para multiplicar matrizes 4×4 de valores complexos usando 48 multiplicações escalares, aprimorando o algoritmo de Strassen de 1969, anteriormente conhecido como o melhor nesse contexto. Essa descoberta demonstra um avanço significativo em relação ao nosso trabalho anterior, o AlphaTensor , especializado em algoritmos de multiplicação de matrizes, que, para matrizes 4×4, encontrou melhorias apenas para aritmética binária.
Para explorar a amplitude do AlphaEvolve, aplicamos o sistema a mais de 50 problemas em aberto em análise matemática, geometria, combinatória e teoria dos números. A flexibilidade do sistema nos permitiu configurar a maioria dos experimentos em questão de horas. Em aproximadamente 75% dos casos, ele redescobriu soluções de última geração, até onde sabemos.
E em 20% dos casos, o AlphaEvolve aprimorou as soluções mais conhecidas até então, progredindo nos problemas correspondentes em aberto. Por exemplo, ele avançou no problema do número de beijos . Este desafio geométrico fascina matemáticos há mais de 300 anos e envolve o número máximo de esferas não sobrepostas que tocam uma esfera unitária comum. O AlphaEvolve descobriu uma configuração de 593 esferas externas e estabeleceu um novo limite inferior em 11 dimensões.
O caminho a seguir
O AlphaEvolve demonstra a evolução da descoberta de algoritmos para domínios específicos até o desenvolvimento de algoritmos mais complexos para uma ampla gama de desafios do mundo real. Esperamos que o AlphaEvolve continue aprimorando as capacidades de grandes modelos de linguagem, especialmente à medida que se tornam ainda melhores em codificação .
Juntamente com a equipe de Pesquisa de Pessoas + IA , estamos desenvolvendo uma interface de usuário amigável para interagir com o AlphaEvolve. Estamos planejando um Programa de Acesso Antecipado para usuários acadêmicos selecionados e também explorando possibilidades de tornar o AlphaEvolve mais amplamente disponível. Para registrar seu interesse, preencha este formulário .
Embora o AlphaEvolve esteja sendo aplicado atualmente em matemática e computação, sua natureza geral significa que pode ser aplicado a qualquer problema cuja solução possa ser descrita como um algoritmo e verificada automaticamente. Acreditamos que o AlphaEvolve pode ser transformador em muitas outras áreas, como ciência dos materiais, descoberta de medicamentos, sustentabilidade e aplicações tecnológicas e comerciais mais amplas.