Optimierungsziel quantifizieren

Das Optimierungsziel ist die einzelne Zahl, die AlphaEvolve in jeder Generation maximiert. Bevor Sie Evaluator-Code schreiben, beantworten Sie diese drei Fragen:

  1. Was stellt diese Zahl dar?

  2. Wie wird sie vom System berechnet?

  3. Wo wird die Berechnung ausgeführt?

AlphaEvolve erfordert unbedingt eine automatische, programmatische Zielberechnung für jede Kandidatenlösung ohne menschliches Eingreifen. Durch diese Automatisierung ist das Problem für AlphaEvolve geeignet. Wenn eine Person die Qualität einer Lösung manuell beurteilen muss, kann AlphaEvolve nicht danach suchen.

Berücksichtigen Sie Folgendes, um die Leistung einer generierten Kandidatenlösung in Bezug auf die verschiedenen Optimierungsziele und Validierungsbeschränkungen zu schätzen:

  • Können die Optimierungsziele direkt mit 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 deterministischer Ersatzfunktionen und etablierter, zuverlässiger Simulationsmethoden geschätzt werden?
  • Können die Optimierungsziele geschätzt werden, indem eine benutzerdefinierte Ersatzfunktion (z. B. ein Vorhersagemodell oder ein anderer nicht deterministischer Schätzer) entwickelt wird, die auf empirischen Beobachtungen abgestimmt und mit Daten außerhalb der Stichprobe validiert werden muss?

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 Ihren Messwert zu erstellen, festzulegen, wie er gemessen wird, und zu bestimmen, wo die Ausführung erfolgt.

1. Drücken Sie das Ziel als einzelne Punktzahl aus, die mit der Verbesserung der Lösungen steigt.

Konfigurieren Sie Ihren wichtigsten Optimierungsmesswert so, dass er linear oder monoton mit echten Leistungssteigerungen skaliert wird, damit der Suchpfad einen klaren Richtungsgradienten hat.

  • Skalare Maximierung: AlphaEvolve maximiert immer einen Skalarwert. Wandeln Sie alles, was Ihnen wichtig ist, in eine einzelne Zahl um, wobei höhere Werte besser sind. Um Latenz, Kosten oder Fehler zu minimieren, negieren Sie sie: score = -latency_ms

  • Monotonie: Die Punktzahl muss monoton sein. Sie muss steigen, wenn sich die Lösung wirklich verbessert. Eine Punktzahl, die sich inkonsistent bewegt, gibt der Suche keine Richtung.

  • Deterministische Ausführung: Die Punktzahl wird in Ihrem Evaluator berechnet, niemals vom LLM und niemals von einer Person. Berechnen Sie sie deterministisch, damit derselbe Kandidat immer dieselbe Punktzahl erhält.

  • Conjoint-Analyse für subjektive Ziele: Wenn Sie keine Formel für die Bewertung schreiben können, aber zwei Lösungen mit dem Auge vergleichen können, erstellen Sie eine mit der Conjoint-Analyse. Generieren Sie Paare von Kandidatenausgaben, lassen Sie einen Domainexperten die bessere in jedem Paar auswählen, passen Sie eine logistische Regression an diese Auswahl an und verwenden Sie das angepasste Modell als Messwert. Dadurch wird die subjektive Beurteilung in eine deterministische, differenzierbare Punktzahl umgewandelt. Verwenden Sie keine unaufbereitete LLM-Bewertung als Live-Punktzahl, da sie langsam und verrauscht ist und schnell für Reward-Hacking missbraucht werden kann. Wandeln Sie sie zuerst in eine feste Funktion um.

2. Wählen Sie aus, wie die Punktzahl berechnet wird.

Wie Sie die Zahl erstellen, hängt davon ab, was Sie messen. Wählen Sie in der Tabelle die Methode aus, die Ihrem Ziel entspricht. Fast jede echte Bereitstellung verwendet eine dieser vier Methoden. Viele kombinieren zwei: eine kostengünstige Methode, um die Suche voranzutreiben, und eine teure, um die Gewinner zu bestätigen.

Messmethode Verwenden Sie sie, wenn das Ziel… So wird die Punktzahl erstellt Was für die Ausführung erforderlich ist
Direkte Berechnung Eine Menge, die Sie mit Geschäfts- oder Produktlogik in geschlossener Form aus der Ausgabe des Kandidaten 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. Priorisieren Sie die Korrektheit. Die Zielhardware (GPU, TPU oder CPU); Aufwärmen und Best-of-N, um Timing-Rauschen zu reduzieren
Deterministische Ersatzfunktion / Simulation Teuer oder verrauscht, um direkt zu messen, aber es gibt einen zuverlässigen Proxy oder eine Wiederholung der realen Bedingungen Berechnen Sie einen deterministischen Proxy oder spielen Sie feste, mit einem Seed versehene Betriebsszenarien ab. Jede Umgebung; vollständig reproduzierbar mit festen Seeds
Validierung außerhalb der Stichprobe Die Qualität eines Modells oder einer Datenpipeline, die vom Kandidaten erstellt wird Trainieren/passen Sie den Kandidaten an und bewerten Sie ihn dann mit zurückgehaltenen oder neu generierten Daten. Ihr Trainings-/Evaluierungsstack; eine strikte Aufteilung zwischen Training und Validierung; erneute Validierung der Gewinner mit dem zurückgehaltenen Set

Weitere Informationen finden Sie in der AlphaEvolve-Ankündigung im Google Cloud Blog.

Wenn keine dieser Methoden automatisch eine Zahl erzeugen kann, ist das Problem noch nicht für AlphaEvolve geeignet. Die Hauptaufgabe besteht dann darin, eine Ersatzfunktion oder Simulation zu erstellen, die das kann.

3. Mehrere Ziele und Einschränkungen verarbeiten

Bei echten Zielen werden in der Regel mehrere Aspekte berücksichtigt. Verwenden Sie eine der folgenden beiden Methoden, um sie zu verarbeiten:

  1. Implementierungsmuster für Evaluatoren

  2. Optimierung mehrerer Ziele

Skalare Mischung (einfachste Methode – empfohlen für den Anfang): Skalieren Sie jeden Messwert auf einen vergleichbaren Bereich, negieren Sie alle, die Sie minimieren, 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 Wörterbuch mit benannten Punktzahlen zurück. Lassen Sie AlphaEvolve sie 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 für alle besser. Negieren Sie daher alles, was Sie minimieren. Dadurch wird eine echte Suche mit mehreren Zielen ausgelöst, nicht nur eine Berichterstellung. Die Datenbank mit den Kandidatenlösungen enthält das beste Programm für jeden Messwert (MAP-Elites), eine Pareto-Grenze für alle Messwerte und eine vielfältige Auswahl von Eltern für die verschiedenen Messwerte. Wenn die Stichprobenerstellung aktiviert ist, können Eltern auch direkt von der Pareto-Grenze ausgewählt werden. Eine einzelne Punktzahl für die Überschrift steuert weiterhin die gemeldete Hill-Climbing-Suche, aber jeder zurückgegebene Messwert beeinflusst die Suche.

  1. Beschränken Sie sich auf 3 bis 5 Messwerte. Bei zu vielen Messwerten degeneriert die Pareto-Dominanz. Fast jedes Programm ist in Bezug auf etwas nicht dominiert und die Suche verläuft im Sande. Aggregieren oder verwerfen Sie Messwerte über diesem Schwellenwert.

  2. Isolieren Sie Korrektheit und Machbarkeit. Behalten Sie die Korrektheit als harte Grenze bei und machen Sie sie nicht zu einem Teil der Reward-Funktion. Ein Kandidat, der falsch oder nicht machbar ist, erhält eine Fehlerpunktzahl, unabhängig davon, wie schnell oder kostengünstig er ist. Das ist die primäre Verteidigung gegen die Manipulation Ihrer Messwerte durch den Agenten.

  3. Optimierung mit Einschränkungen: Legen Sie ein Ziel als Einschränkung fest und optimieren Sie das andere. Wenden Sie eine Strafe an, wenn die Einschränkung verletzt wird. Wenn Sie diesen Workflow auf mehreren Einschränkungsebenen ausführen, wird die Pareto-Grenze nachgezeichnet.

4. Legen Sie fest, wo der Evaluator ausgeführt wird.

AlphaEvolve führt Ihren Evaluator niemals direkt aus. Es schlägt Kandidatenprogramme vor und erhält Punktzahlen. Sie hosten und führen den Code aus, der die Punktzahl berechnet. Die Umgebung ist ganz Ihre Entscheidung. Ein Kandidat, der nicht ausgeführt werden kann, ist kein Hindernis. Google Cloud 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 Compute-Infrastruktur an Ihre spezifische Messstrategie anpassen und gleichzeitig die universellen Ausführungslimits einhalten. Verwenden Sie die folgenden Richtlinien, um Ihre Ausführungsumgebung auszuwählen und die wichtigsten betrieblichen Grenzen zu verstehen, die für alle Setups gelten.

Ausführungsumgebung an die Messmethode anpassen

Direkte Berechnung oder Ersatzfunktion: 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 unabhängigen Softwareanbieters (z. B. ein EDA- oder Verilog-Simulator).

Validierung außerhalb der Stichprobe oder umfangreiche Jobs: Ihr Trainingsstack, verteilt auf Cloud Run oder GKE, oder ausgelagert an Google Cloud Batch mit dem Cluster Toolkit für große HPC oder Accelerator-Workloads.

Unabhängig von der Umgebung gelten zwei Limits.

Achten Sie darauf, dass jede Bewertung etwa 10 Minuten oder weniger dauert, damit die evolutionäre Schleife weiterläuft. Verwenden Sie für teure Ziele eine Bewertungskaskade. Führen Sie eine Überprüfung für jeden Kandidaten durch 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 nicht bereit und verwaltet ihn nicht, weder in Google Cloud noch anderswo.

Nachdem Sie sich für den Messwert, die Berechnung und den Ausführungsort entschieden haben, finden Sie unter Implementierungsmuster für Evaluatoren Informationen zur Strukturierung des Evaluators.