Mit dem Parameter concurrency wird gesteuert, wie viele Programme gleichzeitig generiert und ausgewertet werden. Dieser Parameter ist der wirkungsvollste Laufzeithyperparameter.
Auswirkungen der Nebenläufigkeit auf die Suche
n = 1(Sequenzielle Kette): Generieren Sie ein Programm, warten Sie auf die Auswertung und generieren Sie dann das nächste. Bei jeder Generierung wird das vorherige Ergebnis berücksichtigt, wodurch eine Kette inkrementeller Verbesserungen entsteht, die auf ein lokales Optimum abzielt. Dieser Ansatz führt zum langsamsten Durchsatz, aber zur gezieltesten Nutzung. Verwenden Sie diesen Modus, um bewusst auf eine bestimmte Region zu fokussieren.n = 3-12(Optimaler Bereich): Dies ist der in der Praxis am häufigsten verwendete Bereich, der ein Gleichgewicht zwischen Exploration und Nutzung bietet. Mehrere Programme werden gleichzeitig ausgeführt, sodass bei einigen Generierungen nicht die neuesten Ergebnisse berücksichtigt werden, was zu einer natürlichen Vielfalt führt. Die evolutionäre Datenbank bietet genügend Durchsatz für eine gesunde Populationsdynamik.n = 13-30(Hohe Exploration): Viele Programme werden parallel ausgeführt. Bei den meisten Generierungen werden die Ergebnisse der anderen nicht berücksichtigt. Dieser Modus ist nützlich für stark nicht konvexe Probleme mit vielen lokalen Optima, bei denen eine breite Exploration wichtiger ist als eine tiefe Nutzung.n = 23-30(Gedrosselt; vermeiden): Wenn mehr als 30 parallele Generatoren verwendet werden, wird das LLM-Backend gedrosselt. Anfragen werden in die Warteschlange gestellt, was die Latenz pro Generierung erhöht. Sofern Sie kein dediziertes Kontingent haben, sollten Sie weniger als 30 verwenden.
Empfehlungen
Die folgenden Empfehlungen dienen als Ausgangspunkt für die Konfiguration von Nebenläufigkeit und Parallelität für AlphaEvolve.
| Problemtyp | Nebenläufigkeit | Begründung |
|---|---|---|
| Gut verstanden, bekannte Methode zur Optimierung | 3–5 | Gezielte Nutzung |
| Allgemeine Optimierung, unbekannte Landschaft | 8–12 | Ausgewogene Exploration/Nutzung |
| Stark nicht konvex, viele lokale Optima | 15–25 | Breite Exploration |
| Bewusstes Fokussieren auf ein lokales Optimum | 1 | Sequenzielle Kette |
Beginnen Sie mit concurrency=10 und passen Sie die Einstellung anhand der folgenden Indikatoren an:
Plateau beim Score: Erhöhen Sie die Nebenläufigkeit, um lokale Optima zu vermeiden.
Viele fehlgeschlagene Auswertungen: Verringern Sie die Nebenläufigkeit, um die verschwendete Rechenleistung zu reduzieren.
Langsamer Auswertungen (mehr als 5 Minuten): Eine höhere Nebenläufigkeit sorgt dafür, dass die Auswertungspipeline ausgelastet ist.
Schnelle Auswertungen (weniger als 10 Sekunden): Eine geringere Nebenläufigkeit ermöglicht es nachfolgenden Generationen, direkt auf den Ergebnissen der vorherigen aufzubauen.