In Teil 1 haben wir beschrieben, warum langsame, kostspielige Optimierungsprozesse im ersten Anlauf selten zum Ziel führen.

Teil 2
In Teil 1 haben wir beschrieben, warum langsame, kostspielige Optimierungsprozesse im ersten Anlauf selten zum Ziel führen. Ob Machine-Learning-Training (ML), A/B-Tests von Websites oder die Wahl der richtigen Eingabewerte für eine Fabrik – jeder Durchlauf ist teuer, und Sie wollen so schnell wie möglich zu einem guten Ergebnis kommen. Vertex AI Vizier auf Google Cloud schafft genau das, indem es für jeden Trial passende Parameter vorschlägt.
Nur ein Berater
"Vizier" ist der Titel eines königlichen Beraters, abgeleitet vom arabischen وزير wazīr über das Persische und Türkische. Der Vizier berät den König, entscheidet aber nicht selbst über die Politik. Genauso funktioniert auch die Black-Box-Optimierung von Vizier: Sie führt die Optimierungs-Trials nicht für Sie aus. Die Hyperparameter-Tuner-Dienste von GCP und AWS hingegen erledigen alles für Sie. Sie geben einen Bereich für Hyperparameter vor – etwa eine Lernrate kontinuierlich von 0 bis 1 oder ein Minimum Child Weight als ganzzahligen Parameter von 1 bis 3. Sie erstellen den Hyperparameter-Tuner-Client und rufen dann nach dem Prinzip "fire and forget" eine Funktion wie fit() auf. Diese Funktion läuft eine Weile, vielleicht einige Stunden, führt intern mehrere Trainingsiterationen aus und wählt dabei jeweils unterschiedliche Hyperparameter. Am Ende liefert der Tuner das beste Modell zurück, das er finden konnte.
Der Black-Box-Optimierungsprozess entzieht sich Ihrer Kontrolle und ist für Sie nicht einsehbar. (Zumindest, was die API betrifft – Monitoring-Systeme sind in der Regel im Einsatz.)
Hinweis: "Black Box" bedeutet, dass Ihre Trials für Vizier unsichtbar sind. Vizier weiß nichts über das ML-Training oder den A/B-Test. Es kennt weder die Gradienten noch die Höhen und Tiefen der Funktion, die innerhalb jedes Trials optimiert wird.
Für Sie hingegen sind diese Trials vollständig "White-Box": Sie haben das Steuer in der Hand.
Vorteile
Ein Hyperparameter-Tuner-Dienst wirkt einfacher als Vizier, und tatsächlich hat Google sein Vertex AI AutoML sowie die Hyperparameter-Tuner in der AI Platform (dem älteren Markennamen) auf einer Vizier-basierten Engine aufgebaut. Doch der Black-Box-Ansatz, bei dem Sie selbst mit Vizier interagieren, hat klare Vorteile.
Kontrolle
Mit Black-Box-Optimierung haben Sie mehr Kontrolle.
Die Trials liegen in der Regel in Ihrem Fachgebiet. Ihre Webentwickler kennen ihre Website in- und auswendig, Ihre Data Scientists kennen die Details der ML-Algorithmik. Sie haben sich gründlich überlegt, wie Sie das Beste aus Ihren Systemen zu möglichst niedrigen Kosten herausholen. Mit Vizier behalten Sie die volle Kontrolle über das eigentliche ML-Training: welche Infrastruktur oder APIs Sie nutzen, wie viele und welche GPUs oder TPUs zum Einsatz kommen und so weiter.
Sie können die Vorschläge von Vizier sogar ignorieren und stattdessen eigene Parameter verwenden. Normalerweise werden Sie die Vorschläge natürlich übernehmen – schließlich setzen Sie Vizier genau dafür ein. Vielleicht haben Sie aber von einem neuen Algorithmus für Ihr ML gelesen, oder Ihre Produktmanager wollen eine neue Variante testen, die nicht im A/B-Test der Website enthalten war – auch das ist problemlos möglich. Selbst wenn Sie den Trial mit Ihren eigenen Parametern ausführen, können Sie die Parameter und Metriken weiterhin in Vizier einspeisen. Vizier lernt daraus genauso wie aus den eigenen Vorschlägen.
Skalierbarkeit
Vizier übernimmt nur den "einfachen" Teil der Optimierung über mehrere Trials hinweg. Es leistet nicht die Schwerstarbeit des ML, die viel spezialisierte Hardware erfordern kann. Genauso wenig übernimmt es die Schwerstarbeit eines Website-A/B-Tests oder den Betrieb einer Fabrik. Genau das macht Vizier skalierbar: Sie selbst kümmern sich um das eigentliche Training oder den jeweiligen Optimierungsprozess – also den ressourcenintensivsten Teil des gesamten Workflows – und können dabei die Best Practices anwenden, die am besten zu Ihrem Setup passen. (In Abbildung 1 unten sind Ihre Trainingsmaschinen die "Evaluation workers" unterhalb der Vizier-REST-API.)
Vizier startet seinerseits skalierbar Worker, die Vorschläge generieren oder einen sinnvollen Abbruchzeitpunkt empfehlen. Da der Zustand in einer Datenbank gespeichert wird und nicht im Kontext eines einzelnen Optimierungslaufs, kann sich Vizier nach Ausfällen wiederherstellen. Und weil die Vorschlags-Worker nur die Hyperoptimierung übernehmen und nicht Ihre "Schwerstarbeit", lassen sie sich effizient hochskalieren.

Abbildung 1. Architekturdiagramm (basierend auf der Darstellung im Forschungspaper.)
Multi-Objective
Die meisten Optimierungsprozesse und die meisten Hyperparameter-Tuner sind darauf ausgelegt, eine einzige Metrik zu maximieren. So wird auch Vertex AI Vizier am häufigsten eingesetzt. Manchmal möchten Sie jedoch mehrere Metriken gleichzeitig optimieren. In einem A/B-Test für eine Website wollen Sie vielleicht sowohl den Umsatz als auch die Verweildauer maximieren. Oder Sie betreiben einen zweiseitigen Markt und möchten, dass Käufer gute Angebote bekommen und gleichzeitig Verkäufer ihre Gewinne maximieren.
Als einfaches Beispiel zur Veranschaulichung können Sie sich dieses Beispiel-Notebook von Google ansehen, das zwei trigonometrische Funktionen mit denselben zwei Eingabeparametern maximiert.

Abbildung 2. Es gibt keinen einzelnen Punkt, der für beide Funktionen optimal ist.
Da kein einzelner Punkt existiert, an dem beide Metriken zugleich maximal werden, ermittelt Vertex AI Vizier die Pareto-Front: eine Linie, auf deren einer Seite Sie keine Metrik mehr verbessern können, ohne eine andere zu verschlechtern. Das Optimum ist also kein einzelner Punkt, sondern eine Grenze.
Als Nächstes: Flexibilität und die ersten Vizier-ML-Notebooks
Vizier ist ein unkompliziertes System, das Sie mit den Standardeinstellungen verwenden können (und in der Regel auch sollten). Sie können seine Funktionen aber auch weiter feinjustieren. Im nächsten Artikel zeigen wir, wie das geht, und liefern einige Code-Beispiele dazu.
Siehe Teil 3 "Über die Grundlagen hinaus: Konfigurierbarkeit von Vizier und Code-Beispiele"