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 produce 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 nella pratica, in quanto bilancia esplorazione e sfruttamento. Sono in corso contemporaneamente più programmi, quindi alcune generazioni non vedono i risultati più recenti, il che introduce una diversità naturale. Il database evolutivo mantiene un throughput 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 punti di ottimo locale in cui l'esplorazione ampia è più importante dell'esplorazione approfondita.n = 23-30(Limitato; da evitare): il superamento di 30 generatori paralleli limita il backend LLM. Le richieste vengono accodate, aumentando la latenza per generazione. A meno che tu non abbia una quota dedicata, mantieniti al di sotto di 30.
Consigli
I seguenti consigli servono come punto di partenza per configurare la concorrenza e il parallelismo per AlphaEvolve.
| Tipo di problema | Concorrenza | Rationale |
|---|---|---|
| Approccio noto e ben compreso per la messa a punto | 3-5 | Sfruttamento mirato |
| Ottimizzazione generale, orizzontale sconosciuto | 8-12 | Esplorazione/sfruttamento bilanciato |
| Altamente non convessa, molti punti di ottimo locale | 15-25 | Esplorazione generica |
| Zoom intenzionale sull'ottimo locale | 1 | Catena sequenziale |
Inizia con concurrency=10 e regola in base ai seguenti indicatori:
Stallo del punteggio: aumenta la concorrenza per evitare gli ottimi locali.
Molte valutazioni non riuscite: riduci la concorrenza per ridurre l'utilizzo di risorse di calcolo sprecate.
Valutazioni lente (superiori a 5 minuti): una concorrenza più elevata mantiene la pipeline di valutazione occupata.
Valutazioni rapide (meno di 10 secondi): una concorrenza inferiore consente alle generazioni successive di basarsi direttamente sui risultati delle altre.