AlphaEvolve para casos de uso de HPC

En esta página, se presenta la solución de HPC AlphaEvolve, que te permite ejecutar experimentos de optimización de código escalables y en contenedores en Google Cloud.

AlphaEvolve se basa en un bucle evolutivo iterativo: genera código candidato, mide la idoneidad del código y envía los resultados a la API de AlphaEvolve para guiar las iteraciones futuras. La solución de HPC de AlphaEvolve implementa una infraestructura distribuida con Cluster Toolkit, Batch y Pub/Sub. Trata cada evaluación de candidatos como un trabajo aislado y efímero que se ejecuta en máquinas virtuales (VMs) en contenedores y con muchos recursos.

Cuándo usar la solución de HPC de AlphaEvolve

En lugar de ejecutar evaluaciones de forma local o en instancias de Cloud Run, usa la solución de HPC AlphaEvolve si tu carga de trabajo no se ajusta a los entornos estándar:

  • Las evaluaciones tardan demasiado: Los problemas de código son complejos y tardan demasiado en ejecutarse de forma local, o bien superan los límites de recursos y de tiempo de ejecución de las instancias individuales de Cloud Run.

  • Necesitas hardware especializado: Tus evaluaciones requieren aceleradores de hardware (como GPUs o TPUs) o familias de máquinas de HPC optimizadas para procesamiento (como instancias H3).

  • Necesitas paralelismo a gran escala: Quieres compilar y evaluar varias realizaciones candidatas de forma simultánea en entornos aislados.

  • Quieres infraestructura como código (IaC): Quieres una configuración repetible y automatizada que simplifique la implementación y la eliminación de clústeres con muchos recursos para ahorrar esfuerzo y costos.

Qué proporciona la solución de HPC de AlphaEvolve

La solución de HPC de AlphaEvolve proporciona un flujo de extremo a extremo para la configuración, la implementación y la ejecución de la infraestructura necesaria para los problemas de optimización de AlphaEvolve:

  • Implementación de la infraestructura base: Usa Cluster Toolkit para implementar la infraestructura base necesaria para ejecutar optimizaciones. En este paso, se activan las APIs necesarias, se configuran las cuentas de servicio, y se aprovisionan un tema de Pub/Sub y un entorno de ejecución de Colab Enterprise. Esta infraestructura base se puede reutilizar para varios problemas de optimización.

  • Configuración del entorno de software: Configura e implementa el entorno de software para tu problema de optimización específico.

  • Ejecución de experimentos: El inicio, la detención y el análisis de un experimento se realizan desde un notebook de Jupyter que se ejecuta en Colab Enterprise conectado al entorno de ejecución personalizado de Colab Enterprise.

Cómo funciona AlphaEvolve

Después de configurar e implementar la solución, el proceso de optimización real de AlphaEvolve se ejecuta de la siguiente manera:

  1. Generación: El controlador invoca la API de AlphaEvolve (respaldada por Gemini) para proponer candidatos de código en función de una métrica objetivo y ejecuciones exitosas anteriores.

  2. Evaluación: Los candidatos se evalúan para determinar su exactitud y rendimiento en paralelo como trabajos por lotes.

  3. Almacenamiento: Los archivos candidatos generados, las revisiones del código fuente y las métricas de prueba numéricas se archivan en un bucket de Cloud Storage seguro. Debido a que la solución de HPC de AlphaEvolve almacena artefactos experimentales en el bucket de Cloud Storage, puedes desmantelar la infraestructura cuando no esté en uso.

  4. Comentarios: Los registros de resultados y estadísticas se envían de vuelta a la API de AlphaEvolve, lo que le permite aprender de los éxitos y fracasos, y muestrear de forma inteligente un mejor código en la próxima generación.

La solución de HPC de AlphaEvolve implementa los recursos como se describe en el siguiente diagrama de arquitectura. Flujo de trabajo de ejecución de AlphaEvolve

Implementa la solución de HPC de AlphaEvolve

Para implementar la infraestructura base, compilar las imágenes de contenedor y ejecutar tus experimentos de optimización, haz lo siguiente:

  1. Ve al repositorio de GitHub de AlphaEvolve HPC y sigue las instrucciones.