Cuantifica el objetivo de optimización

El objetivo de optimización representa el único número 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 mediciones empíricas?
  • ¿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 métodos de simulación determinísticos y confiables, y funciones subrogadas establecidas?
  • ¿Se pueden estimar los objetivos de optimización diseñando una función subrogada personalizada (como un modelo predictivo o cualquier otro estimador no determinístico) que requiera ajustes en las observaciones empíricas y 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 sola puntuación que aumente 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 todo lo que te interese en un solo número 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 determinística: La puntuación nunca la calcula el LLM ni una persona, sino que siempre la calcula tu evaluador. Calcúlala de forma determinística 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 el 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 determinística y diferenciable. No uses una rúbrica de LLM sin procesar como la puntuación en vivo 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é se necesita para ejecutarlo
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, recuento, costo). El proceso propio del controlador (no se necesita 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 determinística Costoso o ruidoso para medir directamente, pero existe un proxy confiable o una repetición de las condiciones reales Calcula un proxy determinístico 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. Controla varios objetivos y restricciones

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

  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 cualquier métrica que minimices y, luego, agrégalas: 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 métrica, así que niega todo lo que minimices. Esto activa una búsqueda genuina de varios objetivos, no solo la generación de informes: la base de datos de 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 colinas informado, pero cada métrica que se muestra da forma a la búsqueda.

  1. Limítate a usar 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 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 envías 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 distribuyó en Cloud Run o GKE, o se descargó 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 ejecutarla, consulta los patrones de implementación del evaluador para saber cómo estructurarlo.