Der Parameter concurrency steuert, wie viele Programme gleichzeitig generiert und ausgewertet werden. Dieser Parameter ist der wirkungsvollste Laufzeithyperparameter.
Auswirkungen von Parallelität auf die Suche
n = 1(Sequenzielle Kette): Ein Programm generieren, auf die Auswertung warten und dann das nächste Programm generieren. Bei jeder Generation wird das vorherige Ergebnis berücksichtigt. So entsteht eine Kette inkrementeller Verbesserungen, die auf ein lokales Optimum ausgerichtet ist. Dieser Ansatz führt zum langsamsten Durchsatz, aber zur fokussiertesten Nutzung. Verwenden Sie diesen Modus, um bewusst auf eine bestimmte Region zu fokussieren.n = 3-12(Sweetspot): Dies ist der in der Praxis am häufigsten verwendete Bereich, da er ein ausgewogenes Verhältnis zwischen Exploration und Exploitation bietet. Es laufen mehrere Programme gleichzeitig, sodass einige Generationen nicht die neuesten Ergebnisse sehen, was zu einer natürlichen Vielfalt führt. Die Evolutionsdatenbank bietet genügend Durchsatz für eine gesunde Populationsdynamik.n = 13-30(Hohe Exploration): Viele Programme werden parallel ausgeführt. Die meisten Generationen sehen die Ergebnisse der anderen nicht. 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 Exploitation.n = 23-30(Gedrosselt; vermeiden): Wenn Sie mehr als 30 parallele Generatoren verwenden, wird das LLM-Backend gedrosselt. Anfragen werden in die Warteschlange gestellt, was die Latenz pro Generation erhöht. Sofern Sie kein dediziertes Kontingent haben, sollten Sie unter 30 bleiben.
Empfehlungen
Die folgenden Empfehlungen dienen als Ausgangspunkt für die Konfiguration von Parallelität und Parallelverarbeitung für AlphaEvolve.
| Problemtyp | Gleichzeitigkeit | Begründung |
|---|---|---|
| Gut verstandener, bekannter Ansatz für die Optimierung | 3–5 | Gezielte Ausbeutung |
| Allgemeine Optimierung, unbekanntes Querformat | 8–12 | Ausgewogene explorative und exploitative Strategien |
| Sehr nicht konvex, viele lokale Optima | 15–25 | Breite Exploration |
| Bewusstes Heranzoomen eines lokalen Optimums | 1 | Sequenzielle Kette |
Beginnen Sie mit concurrency=10 und passen Sie den Wert anhand der folgenden Indikatoren an:
Punktzahl-Plateau: 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 Ablauf von Bewertungen (mehr als 5 Minuten): Durch eine höhere Parallelität wird die Pipeline für die Bewertung ausgelastet.
Schnelle Auswertungen (weniger als 10 Sekunden): Bei geringerer Parallelität können aufeinanderfolgende Generationen direkt auf den Ergebnissen der jeweils anderen aufbauen.