Das Optimierungsziel ist die einzelne Zahl, die AlphaEvolve in jeder Generation maximiert. Bevor Sie Code für die Bewertung schreiben, beantworten Sie die folgenden drei Fragen:
Welchen Wert stellt diese Zahl dar?
Wie berechnet das System diesen Wert?
Wo wird die Berechnung ausgeführt?
AlphaEvolve erfordert für jede Kandidatenlösung eine automatisierte, programmatische Zielberechnung ohne menschliches Eingreifen. Diese Automatisierung macht das Problem zu einem geeigneten Anwendungsfall für AlphaEvolve. Wenn ein Mensch die Qualität einer Lösung manuell beurteilen muss, kann AlphaEvolve nicht danach suchen.
Berücksichtigen Sie die folgenden Punkte, um die Leistung einer generierten Kandidatenlösung für die verschiedenen Optimierungsziele und Validierungseinschränkungen zu schätzen:
- Können die Optimierungsziele direkt mithilfe der Geschäfts- oder Produktlogik berechnet werden, ohne dass eine empirische Messung erforderlich ist?
- Können die Optimierungsziele direkt gemessen werden, indem Leistungs- und Lasttests für den Code der generierten Lösung ausgeführt werden?
- Können die Optimierungsziele mithilfe von deterministischen Ersatzfunktionen und etablierten, zuverlässigen Simulationsmethoden geschätzt werden?
- Können die Optimierungsziele durch die Entwicklung einer benutzerdefinierten Ersatzfunktion (z. B. ein Vorhersagemodell oder ein anderer nicht deterministischer Schätzer) geschätzt werden, die eine Feinabstimmung anhand empirischer Beobachtungen und eine Validierung anhand von Out-of-Sample-Daten erfordert?
Wichtige Schritte zur Quantifizierung Ihres Ziels
Folgen Sie einem strukturierten Ansatz, um sicherzustellen, dass AlphaEvolve über eine zuverlässige, automatisierte Feedbackschleife verfügt, die die Suche steuert. Führen Sie die folgenden Schritte aus, um den Messwert zu erstellen, zu definieren, wie er gemessen wird, und zu bestimmen, wo die Ausführung erfolgt.
1. Drücken Sie das Ziel als einen einzelnen Wert aus, der sich mit der Verbesserung der Lösungen erhöht.
Konfigurieren Sie Ihren zentralen Optimierungsmesswert so, dass er linear oder monoton mit den tatsächlichen Leistungssteigerungen skaliert, damit der Suchpfad einen klaren Richtungstrend aufweist.
Skalare Maximierung: AlphaEvolve maximiert immer einen skalaren Wert. Konvertieren Sie alles, was Ihnen wichtig ist, in eine einzige Zahl, wobei ein höherer Wert besser ist. Um Latenz, Kosten oder Fehler zu minimieren, negieren Sie sie:
score = -latency_msMonotonie: Der Score muss monoton sein, d. h., er muss steigen, wenn die Lösung tatsächlich besser wird. Wenn sich ein Wert unregelmäßig ändert, kann die Suche nicht in eine bestimmte Richtung optimiert werden.
Deterministische Ausführung: Der Wert wird in Ihrem Evaluator berechnet, nie vom LLM und nie von einer Person. Berechnen Sie ihn deterministisch, damit derselbe Kandidat immer dieselbe Punktzahl erhält.
Conjoint-Analyse für subjektive Ziele: Wenn Sie keine Bewertungsformel schreiben können, aber zwei Lösungen visuell vergleichen können, erstellen Sie eine mit der Conjoint-Analyse. Generieren Sie Paare von Kandidatenausgaben, lassen Sie einen Domainexperten die bessere Ausgabe in jedem Paar auswählen, passen Sie eine logistische Regression an diese Auswahl an und verwenden Sie das angepasste Modell als Messwert. Dadurch wird eine subjektive Beurteilung in einen deterministischen, differenzierbaren Wert umgewandelt. Verwenden Sie keine Roh-LLM-Rubrik als Live-Score, da sie langsam, verrauscht und anfällig für Reward-Hacking ist. Destillieren Sie sie zuerst in eine feste Funktion.
2. Wählen Sie aus, wie die Punktzahl berechnet werden soll
Wie Sie die Zahl ermitteln, hängt davon ab, was Sie messen. Wählen Sie die Methode aus der Tabelle aus, die Ihrem Ziel entspricht. Fast jede echte Bereitstellung verwendet eine dieser vier Methoden und viele kombinieren zwei: eine günstige Methode für die Suche und eine teure Methode, um die Gewinner zu bestätigen.
| Messmethode | Verwenden Sie sie, wenn das Ziel… ist. | Wie der Wert berechnet wird | Was für die Ausführung erforderlich ist |
|---|---|---|---|
| Direkte Berechnung | Eine Größe, die Sie in geschlossener Form aus der Ausgabe des Kandidaten mithilfe von Geschäfts- oder Produktlogik berechnen können | Der Evaluator führt den Kandidaten aus und wendet eine Formel an (Summe, Verhältnis, Anzahl, Kosten). | Der eigene Prozess des Controllers – keine zusätzliche Infrastruktur |
| Leistungs- oder Lasttest | Die Laufzeit, der Durchsatz oder der Arbeitsspeicher des Kandidatencodes selbst | Führen Sie den Kandidaten auf repräsentativer Hardware aus und messen Sie ihn. Prüfen Sie zuerst die Korrektheit. | Die Zielhardware (GPU, TPU oder CPU); Warmup und Best-of-N, um Timing-Rauschen zu reduzieren |
| Deterministisches Surrogat / Simulation | Teuer oder schwierig direkt zu messen, aber es gibt einen zuverlässigen Proxy oder eine Nachbildung realer Bedingungen | Einen deterministischen Proxy berechnen oder feste, vordefinierte Betriebsszenarien wiedergeben | Beliebige Umgebung; vollständig reproduzierbar mit festen Seeds |
| Validierung außerhalb der Stichprobe | Die Qualität eines Modells oder einer Datenpipeline, die der Kandidat erstellt | Kandidaten trainieren/anpassen und dann anhand von zurückgehaltenen oder neu generierten Daten bewerten | Ihr Trainings-/Evaluierungs-Stack; eine strikte Aufteilung in Trainings- und Validierungsdaten; erneute Validierung der Gewinner im Holdout-Set |
Weitere Informationen finden Sie in der Ankündigung zu AlphaEvolve im Blog von Google Cloud .
Wenn keine dieser Methoden automatisch eine Zahl erzeugen kann, ist das Problem noch nicht für AlphaEvolve bereit. Die Hauptaufgabe besteht dann darin, ein Ersatzmodell oder eine Simulation zu erstellen, die das kann.
3. Mehrere Ziele und Einschränkungen verarbeiten
Echte Ziele umfassen in der Regel mehrere Anliegen. Verwenden Sie eine der folgenden beiden Methoden, um sie zu verarbeiten:
Skalare Zusammenführung (am einfachsten – empfohlen für den Einstieg): Skalieren Sie jeden Messwert auf einen vergleichbaren Bereich, negieren Sie alle zu minimierenden Messwerte und addieren Sie sie dann: score = w1*A - w2*L - w3*M.
Bevorzugen Sie additive Summen gegenüber Verhältnissen wie A/(L⋅M), die numerisch instabil sind.
Geben Sie ein Dictionary mit benannten Scores zurück: Lassen Sie AlphaEvolve diese gemeinsam optimieren. Der Evaluator kann mehrere benannte Messwerte anstelle einer einzelnen Zahl zurückgeben:
```JSON
{
"scores": [
{"metric": "accuracy", "score": 0.95},
{"metric": "latency_ms", "score": -120.0}
]
}
```
Höhere Werte sind jeweils besser. Negieren Sie also alles, was Sie minimieren. Dadurch wird eine echte Suche mit mehreren Zielen ausgelöst, nicht nur eine Berichterstellung: Die Populationsdatenbank behält das beste Programm pro Messwert (MAP-Elites), verwaltet eine Pareto-Grenze über die Messwerte hinweg und wählt Elternprogramme diversifiziert über die verschiedenen Messwerte hinweg aus. Wenn diese Stichprobenerhebung aktiviert ist, können übergeordnete Elemente auch direkt aus der Pareto-Grenze gezogen werden. Ein einzelner Headline-Score bestimmt weiterhin den gemeldeten Hill-Climb, aber jeder zurückgegebene Messwert beeinflusst die Suche.
Beschränken Sie sich auf 3–5 Messwerte: Bei zu vielen Messwerten degeneriert die Pareto-Dominanz, fast jedes Programm ist in irgendeiner Hinsicht nicht dominiert und die Suche verläuft im Sande. Messwerte, die diesen Schwellenwert überschreiten, werden zusammengefasst oder verworfen.
Korrektheit und Machbarkeit isolieren: Die Korrektheit sollte als harte Grenze beibehalten werden und nicht Teil der Belohnungsfunktion sein. Ein Kandidat, der falsch oder nicht umsetzbar ist, erhält eine Fehlerbewertung, unabhängig davon, wie schnell oder günstig er ist. Dies ist die wichtigste Maßnahme, um zu verhindern, dass der KI-Agent Ihre Messwerte manipuliert.
Einschränkungsoptimierung: Ein Ziel wird als Einschränkung festgelegt und das andere wird optimiert. Bei einer Verletzung der Einschränkung wird eine Strafe angewendet. Wenn Sie diesen Workflow auf mehreren Einschränkungsebenen ausführen, wird die Pareto-Front ermittelt.
4. Festlegen, wo der Evaluator ausgeführt wird
AlphaEvolve führt Ihren Evaluator nie direkt aus. Es schlägt Kandidatenprogramme vor und erhält Bewertungen. Sie hosten und führen den Code aus, der die Bewertung berechnet. Die Umgebung ist ganz Ihre Wahl und ein Kandidat, der nicht aufGoogle Cloud ausgeführt werden kann, ist kein Hindernis. Sie führen den Evaluator überall dort aus, wo das Ziel gemessen werden kann, und senden die Punktzahl zurück.
Für eine effiziente und sichere Bereitstellung müssen Sie Ihre Recheninfrastruktur auf Ihre spezifische Messstrategie abstimmen und gleichzeitig die allgemeinen Ausführungslimits einhalten. Wählen Sie anhand der folgenden Richtlinien Ihre Ausführungsumgebung aus und machen Sie sich mit den grundlegenden Betriebsgrenzen vertraut, die für alle Setups gelten.
Ausführungsumgebung der Messmethode zuordnen
Direkte Berechnung oder Ersatz: Der eigene Prozess des Controllers oder ein einzelner Cloud Run-Container.
Leistungs- oder Lasttest: Die Zielhardware, z. B. ein GPU- oder TPU-Knoten in GKE, Ihre eigene lokale oder benutzerdefinierte Hardware oder ein Tool eines Drittanbieters oder ISV (z. B. ein EDA- oder Verilog-Simulator).
Validierung außerhalb der Stichprobe oder schwere Jobs: Ihr Trainings-Stack wird über Cloud Run oder GKE verteilt oder mit dem Cluster Toolkit für große HPC- oder Beschleuniger-Arbeitslasten aufGoogle Cloud -Batch ausgelagert.
Zwei Limits gelten unabhängig von der Umgebung
Versuchen Sie, jede Bewertung auf etwa 10 Minuten oder weniger zu beschränken, damit die evolutionäre Schleife in Bewegung bleibt. Verwenden Sie für teure Ziele eine Bewertungskaskade, um jeden Kandidaten zu prüfen, und führen Sie die vollständige Bewertung nur für vielversprechende Kandidaten aus.
Sie sind für die Netzwerk-, Sicherheits- und Zugriffssteuerung des Evaluators verantwortlich. AlphaEvolve stellt den Evaluator weder in Google Cloudnoch an einem anderen Ort bereit und verwaltet ihn auch nicht.
Nachdem Sie sich für den Messwert, die Berechnungsmethode und den Ausführungsort entschieden haben, finden Sie unter Implementierungsmuster für Evaluatoren Informationen zur Strukturierung des Evaluators.