3 puntos por GN⁺ 2025-05-15 | 1 comentarios | Compartir por WhatsApp
  • AlphaEvolve es un agente evolutivo de generación de algoritmos que combina LLM con evaluadores automáticos
  • Demostró resultados reales en matemáticas, computación, IA y diseño de hardware, y ya se aplica en toda la infraestructura de Google
  • Combina Gemini Flash y Gemini Pro para explorar tanto la amplitud como la profundidad de las ideas
  • En programación de centros de datos, diseño de TPU y optimización de kernels de IA, logra mejoras de velocidad y ahorro de recursos
  • También abordó más de 50 problemas matemáticos difíciles, proponiendo nuevos algoritmos y mejorando soluciones existentes en algunos casos

AlphaEvolve: agente evolutivo de algoritmos impulsado por Gemini

Resumen

  • AlphaEvolve es un agente de código basado en modelos de lenguaje de gran escala (LLM) desarrollado por Google DeepMind
  • La generación creativa de código la realizan los modelos Gemini, y la validación corre a cargo de evaluadores automáticos
  • Mediante algoritmos evolutivos, mejora de forma iterativa los mejores candidatos de código

Áreas de aplicación reales y resultados

Optimización de la infraestructura de cómputo de Google

  • AlphaEvolve se aplica en centros de datos, hardware y software de Google
  • Las mejoras de eficiencia generan un efecto acumulativo continuo en toda la infraestructura de IA

Mejora de la programación en centros de datos

  • Propuso una nueva heurística para Borg, el administrador de clústeres de Google
  • Lleva más de un año en producción y contribuyó a recuperar el 0.7% de los recursos de cómputo globales
  • Al estar escrito en código comprensible para humanos, es fácil de mantener

Apoyo al diseño de hardware

  • Propuso una optimización para circuitos de multiplicación de matrices escritos en Verilog
  • Está previsto que se integre en futuros diseños de TPU de Google
  • Facilita la colaboración con ingenieros de hardware

Aceleración del entrenamiento y la inferencia de IA

  • Divide la multiplicación de matrices en problemas más pequeños → mejora en 1% la velocidad de entrenamiento de Gemini
  • Reduce el tiempo de optimización de kernels de semanas a días
  • Mejora el rendimiento de kernels FlashAttention hasta en 32.5%
  • Puede aportar mejoras adicionales incluso en áreas donde la optimización del compilador ya se aplica al extremo

Innovación en matemáticas y algoritmos

Descubrimiento de un nuevo algoritmo de multiplicación de matrices

  • Encontró un método mejor que el algoritmo de Strassen (1969)
  • Procesa matrices complejas de 4x4 con solo 48 multiplicaciones escalares

Exploración de problemas matemáticos difíciles

  • Se probó en más de 50 problemas de análisis, geometría, combinatoria y teoría de números

    • En el 75% de los casos redescubrió la mejor solución conocida
    • En el 20% obtuvo resultados superiores a las soluciones existentes
  • Ejemplo: descubrió una nueva cota inferior para el problema del kissing number

    • En 11 dimensiones, superó el récord previo con una configuración de 593 esferas

Cómo funciona

  1. Un muestreador de prompts genera las entradas
  2. Los modelos Gemini Flash/Pro generan el código
  3. Los evaluadores automáticos cuantifican la exactitud y la calidad
  4. Con un enfoque de algoritmo genético, hace evolucionar el código con mejor desempeño
  5. El código óptimo puede reutilizarse, desplegarse y escalarse

Planes a futuro

  • AlphaEvolve seguirá mejorando conforme avance su capacidad de programación
  • En colaboración con el equipo de People + AI Research, se está desarrollando una interfaz de usuario
  • Se planea abrirlo a usuarios académicos mediante el Early Access Program
    Registrar interés

Posibilidades de aplicación

  • Puede aplicarse a cualquier campo donde el problema pueda definirse como un algoritmo y evaluarse
  • Ejemplos: desarrollo de nuevos materiales, descubrimiento de fármacos, sostenibilidad y resolución de problemas técnicos o de negocio

Enlaces de referencia

1 comentarios

 
GN⁺ 2025-05-15
Comentarios de Hacker News
  • Según una cita del artículo, aplicar repetidamente el algoritmo de Strassen requiere 49 multiplicaciones para la multiplicación de matrices 4x4, pero AlphaEvolve encontró el primer método para multiplicar matrices complejas 4x4 con solo 48 multiplicaciones. Si uno multiplica matrices directamente, da la impresión de que se repiten varias veces cálculos parecidos. Por ejemplo, al calcular el tamaño de la unión de dos conjuntos, también hay que restar la parte duplicada. El algoritmo de Strassen rastrea cálculos que se necesitarán en etapas posteriores, y en cierto sentido se parece a la programación dinámica. Lo interesante es que el ahorro adicional solo aparece con números complejos, así que parece haber algo en el plano complejo que produce doble conteo en el método simple
    • Buscando en Google “4x4 matrices multiplication 48”, encontré una publicación en math.stackexchange. En 2019 ya se mencionaba que la multiplicación de matrices 4x4 podía hacerse con 48 multiplicaciones, junto con un enlace a una tesis doctoral. Creo que esta parte del resultado quizá ya era conocida (aunque todavía no reviso el esquema del algoritmo)
    • Parece haber un malentendido sobre el algoritmo de Strassen. Primero, Strassen no es programación dinámica sino un ejemplo representativo de divide y vencerás. Segundo, el algoritmo de Strassen funciona no solo con complejos sino también con números reales
  • Se menciona que AlphaEvolve logró una mejora de velocidad de hasta 32.5% en el kernel de FlashAttention de modelos de IA basados en Transformer. También se dice que en 75% de los casos redescubrió la mejor solución existente, y en 20% mejoró aún más el récord previo. Es un resultado realmente impresionante, pero da curiosidad saber con detalle qué método y qué mejoras concretas se lograron. Me gustaría ver benchmarks reales para saber si ese 32.5% solo apareció en un caso extremo o si fue algo más general
    • Las GPU tienen una jerarquía de caché, así que ajustar de forma óptima el tamaño de bloque da beneficios enormes, pero en la práctica eso requiere muchos kernels, muchos tipos de GPU y mucho trabajo de tuning. También están los problemas de kernel fusion y de límites de API. Los resultados de AlphaEvolve son muy impresionantes, pero no son magia ni truco
    • AlphaEvolve aceleró en 23% un kernel central de la arquitectura Gemini al dividir de forma inteligente grandes operaciones de multiplicación de matrices en subproblemas más manejables, y redujo en 1% el tiempo total de entrenamiento de Gemini
    • Estas cifras últimamente parecen demasiado exageradas. Si de verdad FlashAttention se volvió 32.5% más rápido, me pregunto por qué no lo enviaron como PR al repositorio de Flash Attention. Ojalá hubiera más detalles para leer
  • Este momento sí es significativo. Ya hay evidencia clara de que un sistema de IA puede producir investigación nueva con valor práctico en el mundo real. Ese ahorro de 1% es apenas el comienzo, y si estos efectos se acumulan, se puede esperar una ganancia considerable. Además, este mismo proceso se usó también para mejorar gemini 2.5 pro, así que se perfila una especie de auto-mejora gradual. No está totalmente automatizado, pero ya se alcanza a ver hacia dónde va
    • Los sistemas de programación genética han mejorado algoritmos durante mucho tiempo. Aún no sabemos si la programación genética basada en LLM será un cambio radical o una evolución gradual. Soy cauteloso con la idea de auto-mejora. La noción de “¡GP mejorándose a sí mismo con GP!” es antiquísima, pero sigue sin dar resultados. También hay casos y artículos de otras empresas relacionados con esto
    • Dudo que este resultado sea realmente nuevo. Ya hay fuentes que mencionan soluciones de 48 y 46 multiplicaciones, y también se ve mucho entusiasmo de que la IA ya llegó a la singularidad. Si de verdad fuera un avance tan enorme, se habría sabido antes incluso que el paper
  • Me pregunto qué tan incremental es este avance. Como ejemplo, tomé B.2 (la segunda desigualdad de autocorrelación) y busqué un paper anterior (https://arxiv.org/pdf/0907.1379). Ahí los autores dicen que encontraron el límite superior previo con una búsqueda numérica en Mathematica. También explican que no siguieron mejorándolo porque el beneficio no justificaba el esfuerzo. O sea, la mejora de AlphaEvolve esta vez también es bastante incremental (aunque sigue siendo un resultado genial)
    • Ahora el “esfuerzo” se redujo muchísimo, así que llegamos a un punto en el que ya no se puede decir “no vale la pena”. Eso en sí mismo es importante
    • Cosas a las que una persona no les dedicaría tiempo, al automatizarlas con IA, pueden acumular miles de “oportunidades” y producir una diferencia enorme
    • Esto se siente justo como la señal de que la IA real ya empezó a despegar
  • Es difícil adoptar una postura defensiva ante afirmaciones tan audaces. Si de verdad es como lo describen, entonces básicamente ya tendríamos una “IA fuera de control”. Filosóficamente, si a un LLM antiguo se le explican paso a paso nuevos descubrimientos, esa información sí es conocimiento “nuevo”, pero al final sigue siendo inteligencia humana entrando por una vía indirecta
  • Está padre, pero en esencia ¿no es bastante parecido al Co-Scientist de Google? Es una estructura en la que varios LLM se pasan contexto entre sí y se validan mutuamente. En términos de ejecución es impresionante, pero no me parece algo completamente nuevo en lo fundamental. Los LLM claramente sirven para optimización de código o para detectar patrones o redundancias que los humanos pasan por alto, pero esta noticia también se siente como otra publicación vistosa del blog de Google. La marca “Alpha” antes se usaba para innovaciones clarísimas como AlphaGo o AlphaFold, pero últimamente parece que también se la ponen a sistemas con un impacto relativamente menor. Como referencia, Co-Scientist también tenía un método de evaluación. ( https://research.google/blog/accelerating-scientific-breakth... ver referencia )
    • El paper de AlphaEvolve aborda precisamente esa parte. Mientras que AI Co-Scientist expresaba hipótesis científicas y evaluaciones en lenguaje natural, AlphaEvolve evoluciona código y funciones de evaluación programáticas. Así pudo evitar en gran medida las alucinaciones de los LLM y mantener el proceso evolutivo de forma continua durante muchas etapas
    • Muy al estilo Google, sigue dando la impresión de que equipos distintos construyen al mismo tiempo productos parecidos con funciones similares
    • No me queda claro si “Google's Co-Scientist” es el nombre de un solo proyecto o de varios
  • A quienes esperan la singularidad les va a interesar una frase como esta: “AlphaEvolve propone modificaciones en el lenguaje estándar que usan los ingenieros de diseño de chips, permitiendo la colaboración entre IA e ingenieros de hardware”
    • Citando la parte relevante del paper, AlphaEvolve eliminó bits innecesarios en el código de la unidad de operación dentro del matmul unit, y los diseñadores de TPU verificaron que ese cambio era correcto. La razón podría ser que los bits altos de salida del circuito MAC no se usan en el acumulador inferior u otras partes. En realidad, una optimización equivalente también suele hacerse automáticamente en herramientas posteriores de síntesis, y se argumenta que recortar bits de antemano en el RTL fuente tiene más sentido que optimizar después de la síntesis. Pero las herramientas de síntesis garantizan que el significado del circuito no cambie, mientras que modificar el RTL fuente no ofrece esa garantía, por eso hace falta verificación humana. Aun así, es una lástima que no se pueda marcar en el código fuente qué partes fueron optimizadas en el resultado de síntesis. La evolución de código basada en LLM puede tener valor en la exploración temprana del diseño de hardware, pero creo que los logros reales de AlphaEvolve están algo exagerados
    • Al final, esto significa que opera sobre representación intermedia del compilador o sobre texto de depuración
    • Este enfoque solo puede aplicarse a problemas de optimización donde la función de evaluación esté bien definida o sea medible. No se puede escribir una función de evaluación para la “inteligencia general”
    • Me llamó la atención la frase: “AlphaEvolve mejora la eficiencia en los centros de datos, el diseño de chips y el entrenamiento de IA de Google — incluido el entrenamiento del propio LLM que dio origen a AlphaEvolve”. Da la sensación de que ya llegó una realidad donde la IA se mejora a sí misma más rápido que los humanos
    • La singularidad siempre existe en el punto máximo de la confianza excesiva, y la IA en realidad es una especie de pseudointeligencia, como un “telesilla automatizado”
  • Lo interesante es que AlphaEvolve ya se estaba usando desde hace un año y apenas ahora se hizo público. Según el paper, funciona sobre Gemini 2.0 (Pro y Flash), así que se da la situación curiosa de que Gemini 2.0 fue usado para entrenar Gemini 2.5. Aunque no llega a ser el típico “bucle de retroalimentación de auto-mejora”, sí se acerca un poco a esa idea. Queda la duda de si durante ese año AlphaEvolve solo estuvo en desarrollo o si pasó desde su creación hasta uso en producción. También deja la impresión de que no siempre hace falta compartir de inmediato los resultados obtenidos en investigación de IA
    • Si se tuvieran suficientes cerebros, recursos de cómputo y hardware, no parece haber nada que pudiera impedir un bucle de retroalimentación real. DeepMind está en una posición única en ese sentido
    • El proceso de usar Gemini 2.0 para mejorar Gemini 2.5 se parece a la estrategia que OpenAI ha seguido desde que introdujo RLHF: crear datos estructurados y modelos tipo destilación
    • La clave es la autonomía. Para que de verdad importe, los cambios que hace por sí solo tendrían que ser posibles sin verificación humana. Si empiezan a aparecer más soluciones completamente inexplicables, queda la duda de si de verdad ayudan. Incluso podría terminar acumulándose código innecesariamente enrevesado. A veces dan ganas de preguntarse si ese es realmente el objetivo
  • Me sorprendió lo poco que explican sobre el procedimiento evolutivo de AlphaEvolve. La frase “un algoritmo inspirado en MAP elites y en un modelo de población basado en islas” deja mucho abierto detrás de ese “inspirado”. ¿Cómo se definen las dimensiones de mutación en MAP-elites?, ¿cómo se combinan ambos algoritmos?, ¿qué tanto llega esa inspiración? Falta mucha concreción. Da la impresión de que la parte clave del procedimiento evolutivo sigue siendo básicamente una salsa secreta
    • Un paper de 2023 en Nature sobre evolución de LLM basada en islas (https://www.nature.com/articles/s41586-023-06924-6) lo trata con más detalle. Este tipo de configuración de “dimensiones/características” es importante. Este tipo de whitepaper puede ser decepcionante desde el punto de vista científico
    • La forma más simple sería hacer que el modelo genere distintos criterios de evaluación y usar cada uno como dimensión
  • En el paper falta explicación sobre la parte evolutiva. En general, los algoritmos evolutivos incluyen un componente de cruce (crossover); si aquí no existe, en realidad habría que clasificarlo más como hill climbing o beam search
    • En una leyenda se menciona que se necesitan 16 “mutaciones”, y da curiosidad cómo funciona exactamente ese proceso de mutación
    • También existen algoritmos de “estrategias evolutivas” que usan una población de candidatos para aproximar un paisaje de gradiente sin mutación ni cruce convencionales
    • Lo preocupante es que esto quizá no sea realmente un algoritmo evolutivo, sino solo otra cosa con un nombre parecido