Google | Lanza Agente de Codificación Revolucionario: AlphaEvolve, Rompiendo Límites Matemáticos!

Hoy, DeepMind ha lanzado oficialmente AlphaEvolve – un revolucionario agente de codificación evolutiva impulsado por LLMs. No es solo una herramienta de generación de código, sino un potente sistema capaz de evolucionar bases de código completas para el descubrimiento y la optimización de algoritmos generales.

图片

Los LLMs tienen una versatilidad asombrosa. Son capaces de resumir documentos, generar código e incluso proponer nuevas ideas. Ahora, DeepMind está extendiendo estas capacidades a problemas fundamentales y altamente complejos en matemáticas y computación moderna.

Matej Balog, investigador de Google DeepMind, dijo en una entrevista: "Puede encontrar algoritmos increíblemente complejos — que abarcan cientos de líneas de código, con estructuras lógicas intrincadas, mucho más allá del alcance de funciones simples."

Terence Tao también declaró en Mathstodon que ha estado colaborando con Google DeepMind para explorar las potenciales aplicaciones matemáticas de AlphaEvolve.

图片

La mayoría de los modelos de IA "alucinan". Debido a su arquitectura probabilística, a veces inventan cosas con confianza. De hecho, los modelos de IA más nuevos como o3 de OpenAI son más propensos a "alucinar" que sus predecesores.

AlphaEvolve introduce un ingenioso mecanismo para reducir la alucinación: un sistema de evaluación automatizado. Este sistema utiliza el modelo para generar, criticar y producir un conjunto de posibles respuestas a un problema, y evalúa y puntúa automáticamente la precisión de las respuestas.

AlphaEvolve también combina las capacidades creativas de resolución de problemas del modelo Gemini con un evaluador que verifica automáticamente las respuestas, y utiliza un marco evolutivo para optimizar continuamente las soluciones más prometedoras.

AlphaEvolve ha mejorado la eficiencia de los centros de datos, el diseño de chips y los procesos de entrenamiento de IA de Google, incluido el entrenamiento de los grandes modelos de lenguaje que sustentan el propio AlphaEvolve. También ha ayudado a diseñar algoritmos de multiplicación de matrices más rápidos y ha encontrado nuevas soluciones para problemas matemáticos abiertos, con un enorme potencial de aplicación en muchos campos.【】

Diseñando Mejores Algoritmos con Modelos de Lenguaje Grandes

AlphaEvolve es un agente que puede ir más allá del descubrimiento de funciones individuales, evolucionar bases de código enteras y desarrollar algoritmos más complejos. A diferencia de muchos sistemas que solo evolucionan funciones individuales, un gran destaque de AlphaEvolve es su capacidad para optimizar y evolucionar iterativamente bases de código enteras.

Esto se basa en un trabajo de DeepMind de 2023, FunSearch, donde DeepMind demostró por primera vez que los grandes modelos de lenguaje podían generar funciones en código informático para ayudar a descubrir nuevos conocimientos sobre problemas científicos abiertos y demostrar su corrección.

La Tabla 1 muestra una comparación de las capacidades y el comportamiento típico de AlphaEvolve y agentes anteriores.

图片

Mecanismo Central: Combinando la Creatividad de los LLM con la Evaluación Automatizada

Entonces, ¿cómo logra AlphaEvolve esta potente capacidad de evolución de código? Su núcleo radica en la integración inteligente de la creatividad de los modelos de lenguaje grandes con la retroalimentación objetiva de la evaluación automatizada dentro de un marco evolutivo.

Este proceso se puede resumir como un ciclo continuo de "Generar - Evaluar - Evolucionar":

图片

El diagrama muestra el flujo de trabajo completo del sistema: el muestreador de prompts construye primero los prompts de entrada, impulsando al modelo de lenguaje a generar nuevos programas; estos programas son puntuados por el evaluador y almacenados en la base de datos de programas. La base de datos optimiza continuamente la selección de programas mediante algoritmos evolutivos, impulsando la evolución continua del sistema.

Generación

AlphaEvolve combina varios modelos de lenguaje grandes de última generación: Gemini Flash (el modelo más rápido y eficiente de DeepMind) expande la amplitud de la exploración creativa, mientras que Gemini Pro (el modelo más potente de DeepMind) proporciona la profundidad crítica requerida para las soluciones con sus profundas percepciones.

El objetivo de esta estrategia integrada es mejorar el rendimiento computacional manteniendo la calidad de las soluciones generadas. Estos modelos colaboran para generar programas informáticos que implementen soluciones algorítmicas.

1. Muestreo de Prompts (Prompt Sampling)

Dado que AlphaEvolve se basa en los LLM de última generación actuales, soporta diversas formas de operaciones personalizadas y puede proporcionar información de contexto larga en su prompt principal de evolución (primary evolution prompt).

Este prompt suele incluir múltiples soluciones existentes muestreadas de la base de datos de programas, así como instrucciones del sistema sobre cómo modificar soluciones específicas. Los usuarios pueden personalizar aún más el prompt a través de contexto explícito, resultados de evaluación renderizados, y otros medios.

2. Generación Creativa (Creative Generation)

Para impulsar el proceso evolutivo, AlphaEvolve aprovecha las capacidades de los LLM de última generación. Su papel central es comprender la información sobre las soluciones generadas previamente y proponer diversas vías nuevas de mejora.

Aunque AlphaEvolve en sí mismo no depende de un modelo específico (tiene independencia del modelo), en experimentos de ablación se observó que el rendimiento de AlphaEvolve sigue mejorando a medida que aumenta el rendimiento del LLM subyacente.

Formato de Salida (Output Format): Cuando AlphaEvolve solicita a un LLM que modifique código existente, especialmente en una base de código más grande, pide un conjunto de fragmentos diferenciales (diff) en un formato específico. El formato es el siguiente:

图片

Donde, el código entre <<<<<<<SEARCH y ======= es el fragmento original en la versión actual del programa que debe coincidir exactamente; y entre ======= y>>>>>>> REPLACE es el nuevo fragmento de código utilizado para reemplazar el fragmento original.

De esta manera, las modificaciones pueden aplicarse con precisión a partes específicas del código. Si el código que se está evolucionando es corto, o cuando reescribir desde cero es más razonable que una modificación local, AlphaEvolve también puede configurarse para pedir al LLM que genere directamente bloques de código completos sin usar el formato diferencial.

Evaluación

En este ciclo, las métricas de evaluación automatizadas desempeñan un papel crucial. AlphaEvolve utiliza estas métricas para verificar, ejecutar y puntuar los programas propuestos. Estas métricas proporcionan evaluaciones objetivas y cuantificables de la precisión y calidad de cada solución.

1. Especificación de la Tarea

Evaluación: Dado que AlphaEvolve trata problemas que pueden ser calificados por máquina (machine-gradeable), los usuarios deben proporcionar un mecanismo para evaluar automáticamente las soluciones generadas. Esto suele adoptar la forma de una función h, que mapea una solución a un conjunto de métricas de evaluación escalares (que deben maximizarse), generalmente implementada como una función Python (evaluate).

API: Para soportar la evolución de múltiples componentes dentro de una base de código, AlphaEvolve abre una API de entrada que especifica qué bloques de código pueden ser evolucionados por el sistema añadiendo marcadores especiales (por ejemplo, # EVOLVE-BLOCK-START y # EVOLVE-BLOCK-END en comentarios) al código. El código proporcionado por el usuario en estos bloques de evolución sirve como solución inicial, y el código restante forma el esqueleto que conecta estas partes evolucionables para que puedan ser llamadas por la función evaluate.

Flexibilidad en la elección del nivel de abstracción: AlphaEvolve puede aplicarse al mismo problema de maneras muy diferentes, especialmente cuando el programa evolucionado no es la salida final, sino un medio para descubrir la solución. Por ejemplo, se pueden evolucionar soluciones representadas como cadenas de texto crudas, evolucionar una función bien definida para construir una solución desde cero, evolucionar un algoritmo de búsqueda personalizado para encontrar una solución dentro de un presupuesto computacional fijo, o incluso co-evolucionar soluciones intermedias y el algoritmo de búsqueda.

2. Proceso de Evaluación y Mecanismo de Optimización

Para rastrear el progreso de AlphaEvolve y seleccionar ideas para propagar en futuras generaciones, cada nueva solución propuesta por el LLM es evaluada automáticamente. El proceso básico es ejecutar la función de evaluación h proporcionada por el usuario. En la práctica, AlphaEvolve soporta varios mecanismos para hacer la evaluación más flexible y eficiente:

Cascada de Evaluación (Evaluation Cascade): Utilizar conjuntos de pruebas de dificultad creciente para filtrar rápidamente soluciones.

Retroalimentación generada por LLM (LLM-generated Feedback): Utilizar LLM para puntuar atributos difíciles de cuantificar.

Evaluación Paralelizada (Parallelized Evaluation): Ejecutar tareas de evaluación distribuidas para mejorar la eficiencia.

Soporta Optimización de Múltiples Métricas (Multiple scores), optimizando múltiples objetivos simultáneamente, e incluso puede mejorar resultados de un solo objetivo.

Evolución

En su proceso evolutivo, AlphaEvolve genera continuamente soluciones con resultados de evaluación (puntuaciones y salidas del programa). Estas soluciones se almacenan en una base de datos evolutiva (evolutionary database). El objetivo principal de esta base de datos es reutilizar óptimamente las ideas exploradas previamente en generaciones futuras.

Un desafío clave en el diseño de este tipo de base de datos es equilibrar la exploración (exploration) con la explotación (exploitation): es decir, mientras se mejora continuamente la mejor solución actual, mantener la diversidad de soluciones para fomentar la exploración de todo el espacio de búsqueda.

En AlphaEvolve, esta base de datos evolutiva implementa un algoritmo inspirado en una combinación del algoritmo MAP-elites y modelos de población basados en islas (island-based population models).

Esto hace que AlphaEvolve sea particularmente útil en dominios amplios como las matemáticas y la informática, donde el progreso puede medirse de forma clara y sistemática.

Optimizando el Ecosistema de Computación de DeepMind

Durante el último año, DeepMind ha desplegado algoritmos descubiertos por AlphaEvolve en todo el ecosistema de computación de Google, incluyendo los centros de datos, hardware y software de DeepMind.

El impacto de estas mejoras se magnifica en la infraestructura de IA y computación de DeepMind, construyendo un ecosistema digital más potente y sostenible para todos los usuarios de DeepMind.

图片

El diagrama ilustra cómo AlphaEvolve ayuda a Google a proporcionar un ecosistema digital más eficiente, desde la programación de centros de datos y el diseño de hardware hasta el entrenamiento de modelos de IA.

Mejorando la Programación de Centros de Datos

AlphaEvolve descubrió un método heurístico simple pero muy efectivo que ayuda a Borg a coordinar los enormes centros de datos de Google de manera más eficiente. Esta solución ha estado en producción durante más de un año, recuperando en promedio continuamente el 0.7% de los recursos informáticos globales de Google. Esta mejora sostenida de la eficiencia significa que en cualquier momento dado, se pueden completar más tareas con los mismos recursos informáticos.

La solución de AlphaEvolve no solo logró un rendimiento sólido, sino que también proporcionó importantes ventajas operacionales del código legible por humanos: interpretabilidad, depurabilidad, previsibilidad y facilidad de implementación.

Asistiendo en el Diseño de Hardware

AlphaEvolve propuso una solución de reescritura de Verilog que eliminó bits redundantes en el circuito aritmético clave y altamente optimizado para la multiplicación de matrices. Esta propuesta fue verificada a través de una validación rigurosa, confirmando que el circuito modificado mantenía la corrección funcional, y ha sido integrada en la próxima Unidad de Procesamiento Tensorial (TPU).

Al proponer modificaciones en el lenguaje estándar de los diseñadores de chips (Verilog), AlphaEvolve facilita la colaboración entre ingenieros de IA y hardware para acelerar el diseño de futuros chips dedicados.

Impulsando la Eficiencia del Entrenamiento e Inferencia de IA

AlphaEvolve está acelerando significativamente el rendimiento y el progreso de la investigación en IA. Al encontrar formas más inteligentes de descomponer grandes operaciones de multiplicación de matrices, aumentó la velocidad de este núcleo crítico en la arquitectura Gemini en un 23%, lo que a su vez redujo el tiempo de entrenamiento de Gemini en un 1%.

Además de las mejoras de rendimiento, AlphaEvolve redujo significativamente el tiempo de ingeniería necesario para la optimización del núcleo, pasando de semanas dedicadas por expertos a solo unos pocos días con experimentos automatizados.

AlphaEvolve también es capaz de optimizar instrucciones de GPU de bajo nivel. En modelos de IA basados en Transformer, logró una aceleración de hasta el 32.5% para la implementación del núcleo FlashAttention. Esta optimización ayuda a los expertos a identificar cuellos de botella de rendimiento con precisión e integrar mejoras fácilmente.

Avanzando la Frontera de la Matemática y el Descubrimiento de Algoritmos

Algoritmos de Multiplicación de Matrices más Rápidos

AlphaEvolve también puede proponer nuevos métodos para problemas matemáticos complejos, como la multiplicación de matrices, un problema fundamental en ciencias de la computación. A través de un programa de optimización basado en gradientes, AlphaEvolve diseñó y descubrió un algoritmo que utiliza 48 multiplicaciones escalares para multiplicar matrices complejas de 4x4.

Este hallazgo mejora el algoritmo de Strassen de 1969, marcando la primera mejora conocida en esta configuración en 56 años, y también indica un salto significativo más allá del trabajo previo de DeepMind, AlphaTensor.

Resolviendo Problemas Abiertos

Para explorar la amplitud de AlphaEvolve, DeepMind aplicó el sistema a más de 50 problemas abiertos en análisis matemático, geometría, combinatoria y teoría de números. La flexibilidad del sistema permitió configurar la mayoría de los experimentos en pocas horas.

En aproximadamente el 75% de los casos, redescubrió soluciones de vanguardia; en el 20% de los casos, AlphaEvolve mejoró las mejores soluciones conocidas previamente, logrando progreso en los problemas abiertos correspondientes.

Por ejemplo, en el problema del número de besos (Kissing number problem), que ha atraído el interés de los matemáticos durante más de 300 años, AlphaEvolve encontró una configuración de 593 esferas exteriores y estableció nuevos límites inferiores en 11 dimensiones.

Etiqueta Principal:Inteligencia Artificial

Etiquetas Secundarias:Generación de CódigoGoogleDeepMindAlgoritmos


Anterior:Interpretación del Informe Técnico de Qwen3

Siguiente:Sin IAG, ¿Se Extinguirá la Humanidad?

Compartir URL Corta