Cuantifica el objetivo de optimización

El objetivo de optimización representa el número único que AlphaEvolve maximiza durante cada generación. Antes de escribir cualquier código de evaluador, responde estas tres preguntas:

  1. ¿Qué valor representa este número?

  2. ¿Cómo lo calcula el sistema?

  3. ¿Dónde se ejecuta el cálculo?

AlphaEvolve requiere estrictamente un cálculo de destino automatizado y programático para cada solución candidata sin intervención humana. Esta automatización hace que el problema sea adecuado para AlphaEvolve. Si una persona debe juzgar manualmente la calidad de una solución, AlphaEvolve no puede buscarla.

Usa las siguientes consideraciones para estimar el rendimiento de una solución candidata generada en los diferentes objetivos de optimización y restricciones de validación:

  • ¿Se pueden calcular directamente los objetivos de optimización con la lógica empresarial o del producto sin necesidad de una medición empírica?
  • ¿Se pueden medir directamente los objetivos de optimización ejecutando pruebas de rendimiento y carga en el código de la solución generada?
  • ¿Se pueden estimar los objetivos de optimización con funciones subrogadas deterministas establecidas y métodos de simulación confiables?
  • ¿Se pueden estimar los objetivos de optimización diseñando una función subrogada personalizada (como un modelo predictivo o cualquier otro estimador no determinista) que requiera un ajuste en las observaciones empíricas y una validación en datos fuera de la muestra?

Pasos principales para cuantificar tu objetivo

Sigue un enfoque estructurado para garantizar que AlphaEvolve tenga un ciclo de retroalimentación automatizado y confiable que guíe su búsqueda. Completa los siguientes pasos para establecer tu métrica, definir cómo se mide y determinar dónde se produce la ejecución.

1. Expresa el objetivo como una puntuación única que aumenta a medida que mejoran las soluciones

Configura tu métrica de optimización principal para que se ajuste de forma lineal o monótona con las ganancias de rendimiento reales, de modo que la ruta de búsqueda tenga un gradiente direccional claro.

  • Maximización escalar: AlphaEvolve siempre maximiza un valor escalar. Convierte lo que te importa en un número único en el que cuanto más alto sea, mejor. Para minimizar la latencia, el costo o el error, niega el valor: score = -latency_ms

  • Monotonía: La puntuación debe ser monótona, es decir, debe aumentar cada vez que la solución mejore de verdad. Una puntuación que se mueve de forma inconsistente no le da a la búsqueda una dirección para ascender.

  • Ejecución determinista: La puntuación nunca la calcula el LLM ni una persona, sino que siempre la calcula tu evaluador. Calcúlala de forma determinista para que el mismo candidato siempre obtenga la misma puntuación.

  • Análisis conjunto para objetivos subjetivos: Si no puedes escribir una fórmula de puntuación, pero puedes comparar dos soluciones a simple vista, crea una con un análisis conjunto. Genera pares de resultados candidatos, haz que un experto en el dominio elija el mejor en cada par, ajusta una regresión logística en esas opciones y usa el modelo ajustado como tu métrica. Esto convierte el juicio subjetivo en una puntuación determinista y diferenciable. No uses una rúbrica de LLM sin procesar como la puntuación en tiempo real porque es lenta, ruidosa y fácil de manipular para obtener recompensas; primero, destílala en una función fija.

2. Elige cómo se calcula la puntuación

La forma en que produces el número depende de lo que estés midiendo. Elige el método de la tabla que coincida con tu objetivo. Casi todas las implementaciones reales usan uno de estos cuatro métodos, y muchas combinan dos: un método económico para impulsar la búsqueda y uno costoso para confirmar a los ganadores.

Método de medición Úsalo cuando el objetivo sea… Cómo se produce la puntuación Qué necesita para ejecutarse
Cálculo directo Una cantidad que puedes calcular en forma cerrada a partir del resultado del candidato con la lógica empresarial o del producto El evaluador ejecuta el candidato y aplica una fórmula (suma, proporción, conteo, costo) El proceso propio del controlador (sin infraestructura adicional)
Prueba de rendimiento o carga El tiempo de ejecución, la capacidad de procesamiento o la memoria del código del candidato Ejecuta el candidato en hardware representativo y mídelo; primero, verifica la exactitud El hardware de destino (GPU, TPU o CPU); calentamiento y mejor de N para reducir el ruido de sincronización
Subrogado o simulación determinista Costoso o ruidoso para medir directamente, pero existe un proxy confiable o una repetición de las condiciones reales Calcula un proxy determinista o repite situaciones operativas fijas y sembradas Cualquier entorno; completamente reproducible con semillas fijas
Validación fuera de la muestra La calidad de un modelo o una canalización de datos que produce el candidato Entrena o ajusta al candidato y, luego, califícalo con datos retenidos o recién generados Tu pila de entrenamiento o evaluación; una división estricta entre entrenamiento y validación; vuelve a validar a los ganadores en el conjunto retenido

Para obtener más información, consulta el anuncio de AlphaEvolve en el Google Cloud blog.

Si ninguno de estos métodos puede producir un número automáticamente, el problema aún no está listo para AlphaEvolve. La tarea principal es construir un subrogado o una simulación que sí pueda hacerlo.

3. Administra varios objetivos y restricciones

Los objetivos reales suelen combinar varias inquietudes. Usa una de las siguientes dos formas para administrarlos:

  1. Patrones de implementación del evaluador

  2. Optimización de varios objetivos

Combinación escalar (la más simple, se recomienda para comenzar): Cambia la escala de cada métrica a un rango comparable, niega las que minimices y, luego, súmalas: score = w1*A - w2*L - w3*M.

Prefiere las sumas aditivas a las proporciones como A/(L⋅M), que son numéricamente inestables.

Muestra un diccionario de puntuaciones con nombre: Permite que AlphaEvolve las optimice de forma conjunta. El evaluador puede mostrar varias métricas con nombre en lugar de un número:

```JSON
{
  "scores": [
    {"metric": "accuracy", "score": 0.95},
    {"metric": "latency_ms", "score": -120.0}
  ]
}
```

Cuanto más alto sea el valor, mejor para cada una, así que niega todo lo que minimices. Esto activa una búsqueda genuina de varios objetivos, no solo informes: la base de datos de la población conserva el mejor programa por métrica (MAP-Elites), mantiene una frontera de Pareto en todas las métricas y muestra padres de forma diversa en las diferentes métricas. También puede extraer padres directamente de la frontera de Pareto cuando se habilita ese muestreo. Una sola puntuación de encabezado sigue impulsando el ascenso de colina informado, pero cada métrica que se muestra da forma a la búsqueda.

  1. Mantén entre 3 y 5 métricas: Con demasiadas métricas, la dominancia de Pareto se degenera, casi todos los programas no están dominados en algo y la búsqueda se desvía. Agrega o quita métricas más allá de ese umbral.

  2. Aísla la exactitud y la viabilidad: Mantén la exactitud como una puerta de entrada difícil, no como parte de la función de recompensa. Un candidato que es incorrecto o inviable obtiene una puntuación de falla, independientemente de lo rápido o económico que sea. Esta es la defensa principal contra el agente que manipula tu métrica.

  3. Optimización de restricciones: Mantén un objetivo como una restricción y optimiza el otro, aplicando una penalización cuando se incumple la restricción. Ejecutar este flujo de trabajo en varios niveles de restricción traza el frente de Pareto.

4. Decide dónde se ejecuta el evaluador

AlphaEvolve nunca ejecuta tu evaluador directamente. Propone programas candidatos y recibe puntuaciones; tú alojas y ejecutas el código que calcula la puntuación. El entorno es completamente tu elección, y un candidato que no se puede ejecutar en Google Cloud él no es un bloqueador. Ejecutas el evaluador donde se puede medir el objetivo y vuelves a enviar la puntuación.

Para garantizar una implementación eficiente y segura, debes alinear tu infraestructura de procesamiento con tu estrategia de medición específica y, al mismo tiempo, cumplir con los límites de ejecución universales. Usa los siguientes lineamientos para seleccionar tu entorno de ejecución y comprender los límites operativos principales que se aplican a todas las configuraciones.

Haz coincidir el entorno de ejecución con el método de medición

Cálculo directo o subrogado: El proceso propio del controlador o un solo contenedor de Cloud Run.

Prueba de rendimiento o carga: El hardware de destino, como un nodo de GPU o TPU en GKE, tu propio hardware local o personalizado, o una herramienta de terceros o de ISV (por ejemplo, un EDA o un simulador de Verilog).

Validación fuera de la muestra o trabajos pesados: Tu pila de entrenamiento se distribuye en Cloud Run o GKE, o se descarga por Google Cloud lotes con Cluster Toolkit para grandes cargas de trabajo de HPC o aceleradores.

Se aplican dos límites, independientemente del entorno

Procura que cada evaluación dure aproximadamente 10 minutos o menos para que el ciclo evolutivo siga avanzando. Para los objetivos costosos, usa una cascada de evaluación: una verificación en cada candidato que ejecute la evaluación completa solo para los candidatos prometedores.

Eres propietario de las redes, la seguridad y los controles de acceso del evaluador. AlphaEvolve no implementa ni administra el evaluador, ni en Google Cloud ni en ningún otro lugar.

Una vez que hayas decidido la métrica, cómo calcularla y dónde se ejecuta, consulta los patrones de implementación del evaluador para saber cómo estructurarlo.