El parámetro concurrency controla cuántos programas se generan y evalúan de forma simultánea. Este parámetro es el hiperparámetro de tiempo de ejecución más importante.
Cómo afecta la simultaneidad a la búsqueda
n = 1(cadena secuencial): Genera un programa, espera la evaluación y, luego, genera el siguiente. Cada generación ve el resultado anterior, lo que crea una cadena de mejoras incrementales que se enfoca en un óptimo local. Este enfoque da como resultado la capacidad de procesamiento más lenta, pero la explotación más enfocada. Usa este modo para converger de forma intencional en una región específica.n = 3-12(punto óptimo): Este es el rango más usado en la práctica, ya que equilibra la exploración y la explotación. Hay varios programas en curso de forma simultánea, por lo que algunas generaciones no ven los resultados más recientes, lo que introduce diversidad natural. La base de datos evolutiva mantiene un rendimiento suficiente para una dinámica de población saludable.n = 13-30(exploración alta): Muchos programas se ejecutan en paralelo. La mayoría de las generaciones no ven los resultados de las demás. Este modo es útil para problemas altamente no convexos con muchos óptimos locales en los que la exploración amplia importa más que la explotación profunda.n = 23-30(limitado; evita): Si se superan los 30 generadores paralelos, se limita el backend del LLM. Las solicitudes se ponen en cola, lo que aumenta la latencia por generación. A menos que tengas una cuota exclusiva, mantente por debajo de 30.
Recomendaciones
Las siguientes recomendaciones sirven como punto de partida para configurar la simultaneidad y el paralelismo para AlphaEvolve.
| Tipo de problema | Simultaneidad | Razones |
|---|---|---|
| Enfoque conocido y bien comprendido | 3–5 | Explotación enfocada |
| Optimización general, entorno desconocido | 8–12 | Exploración/explotación equilibrada |
| Altamente no convexo, muchos óptimos locales | 15–25 | Exploración amplia |
| Enfoque intencional en el óptimo local | 1 | Cadena secuencial |
Comienza con concurrency=10 y ajusta según los siguientes indicadores:
Meseta de puntuación: Aumenta la simultaneidad para escapar de los óptimos locales.
Muchas evaluaciones fallidas: Disminuye la simultaneidad para reducir el procesamiento desperdiciado.
Evaluaciones lentas (más de 5 minutos): Una simultaneidad más alta mantiene ocupada la canalización de evaluación.
Evaluaciones rápidas (menos de 10 segundos): Una simultaneidad más baja permite que las generaciones sucesivas se basen directamente en los resultados de las demás.