Il parametro concurrency controlla il numero di programmi generati e valutati contemporaneamente. Questo parametro è l'iperparametro di runtime più efficace.
In che modo la concorrenza influisce sulla ricerca
n = 1(catena sequenziale): genera un programma, attendi la valutazione e poi genera il successivo. Ogni generazione vede il risultato precedente, creando una catena di miglioramenti incrementali che si concentra su un ottimo locale. Questo approccio comporta la velocità effettiva più lenta, ma lo sfruttamento più mirato. Utilizza questa modalità per convergere intenzionalmente su una regione specifica.n = 3-12(punto ottimale): questo è l'intervallo più utilizzato in pratica, in quanto bilancia l'esplorazione e lo sfruttamento. Più programmi sono in esecuzione contemporaneamente, quindi alcune generazioni non vedono i risultati più recenti, introducendo una diversità naturale. Il database evolutivo mantiene una velocità effettiva sufficiente per una dinamica della popolazione sana.n = 13-30(esplorazione elevata): molti programmi vengono eseguiti in parallelo. La maggior parte delle generazioni non vede i risultati delle altre. Questa modalità è utile per problemi altamente non convessi con molti ottimi locali in cui l'esplorazione ampia è più importante dello sfruttamento approfondito.n = 23-30(limitato; da evitare): il superamento di 30 generatori paralleli limita il backend LLM. Le richieste vengono messe in coda, aumentando la latenza per generazione. A meno che tu non abbia una quota dedicata, mantieni un valore inferiore a 30.
Consigli
I seguenti consigli fungono da punto di partenza per la configurazione della concorrenza e del parallelismo per AlphaEvolve.
| Tipo di problema | Concorrenza | Rationale |
|---|---|---|
| Approccio noto e ben compreso, ottimizzazione | 3–5 | Sfruttamento mirato |
| Ottimizzazione generale, orizzontale sconosciuto | 8–12 | Esplorazione/sfruttamento bilanciati |
| Altamente non convesso, molti ottimi locali | 15–25 | Esplorazione ampia |
| Zoom-in ottimo locale intenzionale | 1 | Catena sequenziale |
Inizia con concurrency=10 e regola in base ai seguenti indicatori:
Punteggio stabile: aumenta la concorrenza per uscire dagli ottimi locali.
Molte valutazioni non riuscite: riduci la concorrenza per ridurre il calcolo sprecato.
Valutazioni lente (superiori a 5 minuti): una concorrenza più elevata mantiene occupata la pipeline di valutazione.
Valutazioni rapide (inferiori a 10 secondi): una concorrenza inferiore consente alle generazioni successive di basarsi direttamente sui risultati delle altre.