3 pontos por GN⁺ 2025-05-15 | 1 comentários | Compartilhar no WhatsApp
  • AlphaEvolve é um agente evolutivo de geração de algoritmos que combina LLMs e avaliadores automáticos
  • Comprovou resultados práticos em matemática, computação, IA e design de hardware, e já está sendo aplicado em toda a infraestrutura do Google
  • Combina Gemini Flash e Gemini Pro para explorar ao mesmo tempo a amplitude e a profundidade das ideias
  • Em agendamento de datacenters, design de TPU e otimização de kernels de IA, já entregou ganhos de velocidade e redução no uso de recursos
  • Também enfrenta mais de 50 problemas matemáticos difíceis, propondo novos algoritmos e, em alguns casos, melhorando soluções existentes

AlphaEvolve: agente evolutivo de algoritmos com base no Gemini

Visão geral

  • AlphaEvolve é um agente de codificação baseado em modelo de linguagem de grande porte (LLM) desenvolvido pelo Google DeepMind
  • A geração criativa de código fica a cargo dos modelos Gemini, enquanto a validação é feita por avaliadores automáticos
  • Por meio de algoritmos evolutivos, ele melhora repetidamente os melhores candidatos de código

Áreas de aplicação real e resultados

Otimização da infraestrutura computacional do Google

  • O AlphaEvolve foi aplicado em datacenters, hardware e software do Google
  • Melhorias de eficiência geram efeitos contínuos em toda a infraestrutura de IA

Melhorias no agendamento de datacenters

  • Propôs uma nova heurística para o gerenciador de clusters Borg do Google
  • Está em produção há mais de um ano e contribuiu para a recuperação de 0,7% dos recursos computacionais globais
  • O código é compreensível por humanos, facilitando a manutenção

Suporte ao design de hardware

  • Propôs a otimização de circuitos de multiplicação de matrizes escritos em Verilog
  • A solução deverá ser integrada ao design dos TPUs do Google no futuro
  • Favorece a colaboração com engenheiros de hardware

Aceleração de treinamento e inferência de IA

  • Divide a multiplicação de matrizes em problemas menores → melhora de 1% na velocidade de treinamento do Gemini
  • Reduziu o tempo de otimização de kernels de semanas para dias
  • Melhorou em até 32,5% a velocidade do kernel FlashAttention
  • Consegue gerar ganhos adicionais mesmo em áreas onde a otimização de compilador já foi aplicada de forma extrema

Inovação em matemática e algoritmos

Descoberta de um novo algoritmo de multiplicação de matrizes

  • Encontrou um método melhor que o algoritmo de Strassen (1969)
  • Processa matrizes complexas 4x4 com apenas 48 multiplicações escalares

Exploração de problemas matemáticos difíceis

  • Testou mais de 50 problemas em análise, geometria, combinatória, teoria dos números e outras áreas

    • Em 75% dos casos, redescobriu a melhor solução existente
    • Em 20% dos casos, obteve resultados superiores às soluções existentes
  • Exemplo: descoberta de um novo limite inferior para o problema do kissing number

    • Na dimensão 11, atualizou o recorde anterior com uma configuração de 593 esferas

Como funciona

  1. Um amostrador de prompts gera as entradas
  2. Os modelos Gemini Flash/Pro geram o código
  3. Avaliadores automáticos medem quantitativamente a precisão e a qualidade
  4. O código de melhor desempenho evolui por meio de um algoritmo genético
  5. O código ideal pode ser reutilizado, implantado e ampliado

Próximos passos

  • O AlphaEvolve deve continuar evoluindo junto com a melhoria das capacidades de codificação
  • A equipe People + AI Research está desenvolvendo uma interface de usuário em colaboração com o projeto
  • Está previsto o lançamento para usuários acadêmicos por meio do Early Access Program
    Registrar interesse

Possibilidades de aplicação

  • Pode ser aplicado a qualquer área em que a solução possa ser definida como algoritmo e avaliada
  • Ex.: desenvolvimento de novos materiais, descoberta de medicamentos, sustentabilidade e solução de problemas técnicos e de negócios

Links de referência

1 comentários

 
GN⁺ 2025-05-15
Comentários do Hacker News
  • Segundo o que foi citado no artigo, aplicar repetidamente o algoritmo de Strassen exige 49 multiplicações para multiplicar matrizes 4x4, mas o AlphaEvolve encontrou o primeiro método que realiza a multiplicação de matrizes complexas 4x4 com apenas 48 multiplicações. Quando se multiplica matrizes diretamente, dá a sensação de que cálculos parecidos estão sendo repetidos várias vezes. Por exemplo, ao calcular o tamanho da união de dois conjuntos, também é preciso subtrair a parte duplicada. O algoritmo de Strassen rastreia cálculos que serão necessários em etapas posteriores, algo meio parecido com programação dinâmica. O interessante é que essa economia adicional só aparece com números complexos, então parece haver algum tipo de contagem duplicada no plano complexo no método simples
    • Ao pesquisar no Google por “4x4 matrices multiplication 48”, encontrei uma postagem no math.stackexchange. Em 2019 já havia menção de que a multiplicação de matrizes 4x4 poderia ser feita com 48 multiplicações, junto com um link para uma tese de doutorado. Acho que essa parte do resultado talvez já fosse conhecida (ainda não conferi o esboço do algoritmo)
    • Parece haver um mal-entendido sobre o algoritmo de Strassen. Primeiro, Strassen não é programação dinâmica, mas um exemplo clássico de divisão e conquista. Segundo, o algoritmo de Strassen funciona também apenas com números reais, não só com complexos
  • Há a afirmação de que o AlphaEvolve alcançou ganhos de velocidade de até 32,5% no kernel FlashAttention de modelos de IA baseados em Transformer. Também foi dito que, em 75% dos casos, ele redescobriu a melhor solução existente, e em 20% melhorou ainda mais o recorde anterior. É um resultado realmente impressionante, mas fico curioso sobre quais métodos e melhorias concretas foram feitos. Queria ver benchmarks reais para saber se esse ganho de 32,5% apareceu só em um caso extremo
    • GPUs têm uma hierarquia de cache, então ajustar o tamanho dos blocos de forma ideal traz ganhos enormes, mas na prática isso exige muitos kernels diferentes, GPUs diferentes e muito esforço de tuning. Também há questões de fusão de kernels e limites de API. O resultado do AlphaEvolve é muito impressionante, mas não é mágica nem truque
    • O AlphaEvolve acelerou em 23% um kernel central da arquitetura Gemini ao dividir de forma inteligente grandes operações de multiplicação de matrizes em subproblemas mais fáceis de lidar, e reduziu o tempo total de treinamento do Gemini em 1%
    • Esses números têm parecido exagerados demais ultimamente. Se o FlashAttention realmente ficou 32,5% mais rápido, por que isso não foi enviado como PR para o repositório do Flash Attention? Seria bom poder ler mais detalhes
  • Este é um momento significativo. Agora existe uma evidência clara de que sistemas de IA podem produzir novas pesquisas que trazem valor real ao mundo. Uma economia de 1% é só o começo, e espera-se que esses efeitos acumulados tragam ganhos consideráveis. Além disso, esse próprio processo também está sendo usado no avanço do gemini 2.5 pro, caminhando passo a passo para autoaperfeiçoamento. Ainda não está totalmente automatizado, mas já dá para ver para onde isso está indo
    • Sistemas de programação genética vêm melhorando algoritmos há muito tempo. Ainda não dá para saber se programação genética baseada em LLM será uma mudança revolucionária ou uma evolução gradual. Também sou cauteloso com a ideia de autoaperfeiçoamento. A noção de “GP melhorando a si mesma com GP!” é muito antiga, mas continua sem grandes resultados. Há exemplos e artigos de outras empresas sobre isso
    • Tenho dúvidas se esse resultado é realmente novo. Já há referências a soluções com 48 e 46 multiplicações, e também dá para ver o entusiasmo de quem acha que a IA chegou à singularidade. Se fosse realmente um avanço extraordinário, provavelmente teria se espalhado antes mesmo do artigo
  • Fico curioso sobre o quão incremental esse avanço realmente é. Como exemplo, escolhi B.2 (a segunda desigualdade de autocorrelação) e fui procurar um artigo anterior (https://arxiv.org/pdf/0907.1379). Os autores mencionam que encontraram o limite superior anterior com busca numérica no Mathematica. Eles também dizem que não melhoraram mais essa parte porque o ganho não compensava o esforço. Ou seja, esse avanço do AlphaEvolve também é bastante incremental (ainda assim, é um resultado legal)
    • Agora o “esforço” caiu drasticamente, então chegamos a um ponto em que não dá mais para dizer que “não vale o trabalho”. Isso por si só é importante
    • Coisas que não valiam o tempo de uma pessoa podem, quando automatizadas por IA, acumular inúmeras “oportunidades” e gerar uma diferença enorme
    • Isso parece justamente o sinal de que a IA de verdade começou a decolar
  • É difícil manter uma postura defensiva diante de afirmações tão ousadas. Se isso for mesmo real como descrito, então uma “IA descontrolada” já está praticamente pronta. Filosoficamente, se você explica passo a passo uma nova descoberta a um LLM antigo, essa informação é um conhecimento “novo”, mas no fim isso significa que a inteligência humana entrou de forma indireta no processo
  • É legal, mas no fundo isso não é basicamente parecido com o Co-Scientist do Google? Vários LLMs trocando contexto entre si e fazendo validação. É impressionante em termos de execução, mas não parece algo fundamentalmente novo. LLMs são claramente úteis para otimização de código e para detectar padrões ou redundâncias que humanos deixam passar, mas essa notícia também passa a sensação de mais um post chamativo de blog do Google. A marca “Alpha” antes parecia reservada a inovações claras como AlphaGo e AlphaFold, mas hoje parece ser usada também em sistemas com impacto relativamente menor. Como referência, o Co-Scientist também tinha uma metodologia de avaliação. ( https://research.google/blog/accelerating-scientific-breakth... veja )
    • O artigo do AlphaEvolve trata desse ponto. Enquanto o AI Co-Scientist expressava hipóteses e avaliações científicas em linguagem natural, o AlphaEvolve faz a evolução por meio de código e funções de avaliação programáticas. Isso permitiu evitar em grande medida as alucinações de LLM e executar o processo evolutivo continuamente por muitas etapas
    • Bem a cara do Google continuar tendo equipes diferentes criando ao mesmo tempo produtos com funções parecidas
    • Não sei se “Google's Co-Scientist” é o nome de vários projetos
  • Quem fica esperando a singularidade presta atenção em frases como esta: “O AlphaEvolve propõe modificações na linguagem padrão usada por engenheiros de design de chips, permitindo a colaboração entre IA e engenheiros de hardware”
    • Citando a parte relevante do artigo, o AlphaEvolve removeu bits desnecessários do código da unidade operacional dentro da unidade de matmul, e essa mudança teve a correção verificada pelos designers de TPU. A causa pode ser que os bits mais altos da saída do circuito MAC não sejam usados no acumulador inferior etc. Na verdade, uma otimização equivalente também costuma ser feita automaticamente por ferramentas posteriores de síntese, e a alegação é que cortar os bits já no RTL-fonte é mais significativo do que otimizar depois da síntese. Mas ferramentas de síntese garantem que o significado do circuito não mude, enquanto alterações no RTL-fonte não oferecem isso, então é necessária verificação humana. Ainda assim, é uma pena que não dê para marcar no código-fonte quais partes foram otimizadas no resultado da síntese. Acho que a evolução de código baseada em LLM pode ser útil para exploração inicial em design de hardware, mas o feito real do AlphaEvolve parece exagerado
    • No fim, isso quer dizer que ele opera sobre representação intermediária de compilador ou texto de depuração
    • Essa abordagem só pode ser aplicada a problemas de otimização cuja função de avaliação seja bem definida ou mensurável. Não dá para escrever uma função de avaliação para “inteligência geral”
    • A frase “O AlphaEvolve aumenta a eficiência nos data centers, no design de chips e no treinamento de IA do Google — incluindo o treinamento do LLM que deu origem ao AlphaEvolve” chama atenção. Dá a sensação de que chegou a realidade em que a IA melhora a si mesma mais rápido do que humanos
    • A singularidade está sempre no auge da autoconfiança excessiva, e a IA na prática é uma pseudo-inteligência tipo um “teleférico automatizado para cadeiras”
  • O interessante é que o AlphaEvolve já estava sendo usado havia 1 ano e só agora foi divulgado. Segundo o artigo, ele funciona com base no Gemini 2.0 (Pro e Flash), então há a situação curiosa de o Gemini 2.0 ter sido usado para ajudar a treinar o Gemini 2.5. Mesmo que isso ainda não seja um típico “loop de feedback de autoaperfeiçoamento”, mostra algo nessa direção. Fica a curiosidade se durante esse 1 ano o AlphaEvolve esteve apenas em desenvolvimento ou se já foi da criação para uso em produção. Também dá a sensação de que nem sempre há necessidade de compartilhar imediatamente os resultados obtidos em pesquisa de IA
    • Se você tiver cérebros, recursos computacionais e hardware suficientes, não parece haver nada que realmente possa impedir um loop de feedback de verdade. A DeepMind está em uma posição única nesse aspecto
    • O processo de usar o Gemini 2.0 para melhorar o Gemini 2.5 é parecido com a estratégia que a OpenAI vem usando desde a introdução do RLHF para produzir dados estruturados e modelos destilados
    • O ponto central é a autonomia. Só tem significado real se as mudanças que ele próprio fez puderem acontecer sem verificação humana. Se começarem a surgir mais soluções totalmente inexplicáveis, fica a dúvida se isso ajuda de fato. Pode até acabar acumulando código desnecessariamente obscuro. Às vezes dá a impressão de que esse seria o objetivo
  • Fiquei surpreso com a pouca explicação sobre o procedimento evolutivo do AlphaEvolve. A frase “um algoritmo inspirado em MAP elites e em um modelo populacional baseado em ilhas” faz parecer que “inspirado em” cobre muita coisa. Como são definidas as dimensões de mutação no MAP-elites, como os dois algoritmos são combinados e até que ponto vai essa inspiração — faltam detalhes. Dá a sensação de que a parte central do procedimento evolutivo ficou praticamente como molho secreto
    • O artigo de 2023 na Nature sobre evolução de LLM baseada em ilhas (https://www.nature.com/articles/s41586-023-06924-6) trata disso com mais detalhes. Definir essas “dimensões/características” é importante. Whitepapers assim podem até ser decepcionantes do ponto de vista científico
    • O jeito mais simples seria pedir ao modelo para gerar diferentes critérios de avaliação e usar cada um deles como uma dimensão
  • Falta explicação sobre a parte evolutiva no artigo. Em geral, algoritmos evolutivos incluem um elemento de recombinação (crossover); sem isso, talvez fosse mais correto classificar como algo mais próximo de hill climbing ou beam search
    • Em uma legenda foi mencionado que eram necessárias 16 “mutações”, então fico curioso sobre como esse processo de mutação funciona
    • Também existem algoritmos de “estratégias evolutivas” que aproximam o relevo do gradiente usando uma população de candidatos, sem mutação tradicional nem crossover
    • O receio é que isso talvez nem seja realmente um algoritmo evolutivo, mas apenas outra abordagem com um nome parecido