Best Practices für die Implementierung von maschinellem Lernen in Google Cloud

Last reviewed 2024-09-09 UTC

In diesem Dokument werden Best Practices für die Implementierung von maschinellem Lernen (ML) in Google Cloudvorgestellt. Der Schwerpunkt liegt auf benutzerdefiniert trainierten Modellen, die auf Ihren Daten und Ihrem Code basieren. Es enthält Empfehlungen zum Entwickeln eines benutzerdefiniert trainierten Modells im gesamten ML-Workflow, einschließlich wichtiger Maßnahmen und Links für weiterführende Informationen.

In diesem Dokument werden die folgenden Phasen des ML-Workflows beschrieben:

  1. ML-Entwicklung: Entwerfen, testen und entwickeln Sie einen Modellprototyp, um ein Geschäftsproblem zu lösen.
  2. Datenvorbereitung: Bereinigen Sie Rohdaten von Rauschen und entwickeln Sie Features, damit das Modell hochwertige Eingaben mit hohem Signal erhält.
  3. ML-Training: Führen Sie Trainingsskripts für ein Dataset aus, um Modellparameter zu optimieren und Hyperparameter anzupassen, bis eine Leistungs-Messwert Ihre Anforderungen erfüllt.
  4. Modellbereitstellung und ‑bereitstellung: Stellen Sie das Modell in einer Produktionsumgebung bereit, um Nutzern über eine API oder einen Container Zugriff zu gewähren.
  5. Orchestrierung von ML-Workflows: Automatisieren Sie die End-to-End-Pipeline, die den ML-Workflow von der Datenaufnahme bis zur Bereitstellung plant.
  6. Artefaktorganisation: Alle Datasets, Modelldateien und Konfigurationen werden in einem zentralen Register protokolliert und versioniert.
  7. Modellmonitoring: Mit Dashboards können Sie die Live-Leistung und die Leistungsabweichung des Modells verfolgen.

Das Dokument ist keine vollständige Liste von Empfehlungen. Es soll Data Scientists und ML-Architekten helfen, den Umfang der Aktivitäten zu verstehen, die mit der Verwendung von ML auf Google Cloud verbunden sind, und entsprechend zu planen. Und obwohl ML-Entwicklungsalternativen wie AutoML unter Empfohlene Tools und Produkte verwenden erwähnt werden, konzentriert sich dieses Dokument hauptsächlich auf benutzerdefiniert trainierte Modelle.

Bevor Sie die Best Practices in diesem Dokument befolgen, sollten Sie Einführung in Gemini Enterprise Agent Platform lesen.

In diesem Dokument wird Folgendes vorausgesetzt:

  • Sie verwenden hauptsächlich Google Cloud -Dienste. Hybride und lokale Ansätze werden in diesem Dokument nicht behandelt.
  • Sie planen, Trainingsdaten zu erfassen und in Google Cloudzu speichern.
  • Sie haben mittlere Kenntnisse in den Bereichen ML, Big-Data-Tools und Datenvorverarbeitung sowie Grundkenntnisse zu Cloud Storage, BigQuery und Google Cloud.

Wenn Sie neu im Bereich ML sind, empfehlen wir Ihnen den ML Crash Course von Google.

In der folgenden Tabelle sind für jede Phase des ML-Workflows empfohlene Tools und Produkte aufgeführt, wie in diesem Dokument beschrieben:

ML-Workflowschritt Empfohlene Tools und Produkte
Einrichtung der ML-Umgebung
ML-Entwicklung
Datenvorbereitung
ML-Training
Modellbereitstellung und -einsatz
ML-Workflow-Orchestrierung
Organisation von Artefakten
Modellmonitoring
Verwaltete Open-Source-Plattformen

Google bietet AutoML, Vorhersagen mit der Agent Platform und BigQuery ML als vordefinierte Alternativen für Trainingsroutinen mit benutzerdefinierten Modellen der Agent Platform. Die folgende Tabelle enthält Empfehlungen zur Verwendung dieser Optionen für die Agent Platform.

ML-Umgebung Beschreibung Wählen Sie diese Umgebung aus, wenn…
BigQuery ML BigQuery ML fasst Daten, Infrastruktur und vordefinierte Modelltypen in einem zentralen System zusammen.
AutoML (im Kontext der Agent Platform) AutoML bietet Trainingsroutinen für häufige Probleme wie Bildklassifizierung und tabellarische Regression. Fast alle Aspekte des Trainings und der Bereitstellung eines Modells, z. B. die Auswahl einer Architektur, die Hyperparameter-Abstimmung und die Bereitstellung von Maschinen, werden für Sie erledigt.
  • Ihre Daten und Ihr Problem entsprechen einem der Formate mit Datentypen und Modellzielen, die von AutoML unterstützt werden. Das Modell kann über Google Cloud bereitgestellt oder auf einem externen Gerät bereitgestellt werden. Weitere Informationen finden Sie unter Eigene Modelle trainieren und verwenden und AutoML Edge-Modell mit der Google Cloud Console trainieren.
  • Bei Text-, Video- oder tabellarischen Modellen kann Ihr Modell Inferenzlatenzen über 100 ms tolerieren. Sie können tabellarische AutoML-Modelle auch aus der BigQuery ML-Umgebung trainieren.
Benutzerdefiniert trainierte Modelle der Agent Platform Mit Vertex können Sie eigene benutzerdefinierte Trainingsroutinen ausführen und Modelle beliebiger Art in einer serverlosen Architektur bereitstellen. Die Agent Platform bietet zusätzliche Dienste wie Hyperparameter-Abstimmung und Monitoring, um die Entwicklung eines Modells zu erleichtern. Weitere Informationen finden Sie unter Benutzerdefinierte Trainingsmethode auswählen.
  • Ihr Problem entspricht nicht den in dieser Tabelle für BigQuery ML oder AutoML aufgeführten Kriterien.
  • Sie führen das Training bereits lokal oder auf einer anderen Cloud-Plattform aus und benötigen Konsistenz auf den verschiedenen Plattformen.

Einrichtung der ML-Umgebung

Wir empfehlen, die folgenden Best Practices beim Einrichten Ihrer ML-Umgebung zu beachten:

Agent Platform Workbench-Instanzen für Experimente und Entwicklung verwenden

Unabhängig von den Tools, die Sie bereits verwenden, empfehlen wir, Agent Platform Workbench-Instanzen für Tests und die Entwicklung zu verwenden. Dazu gehören das Schreiben von Code, das Starten von Jobs, das Ausführen von Abfragen und die Statusprüfung. Mit Agent Platform Workbench-Instanzen können Sie auf einfache und reproduzierbare Weise auf alle Daten und KI-Dienste von Google Cloudzugreifen.

Agent Platform Workbench-Instanzen bieten Ihnen außerdem sofort einen sicheren Satz von Software- und Zugriffsmustern. Es ist üblich, mit einer Agent Platform Workbench-Instanz verknüpfteGoogle Cloud -Attribute wie Netzwerk und Identity and Access Management sowie Software (über einen Container) anzupassen. Weitere Informationen finden Sie unter Einführung in die Agent Platform und Einführung in Agent Platform Workbench-Instanzen.

Alternativ können Sie Colab Enterprise verwenden. Das ist eine kollaborative, verwaltete Notebook-Umgebung, die die Sicherheits- und Compliance-Funktionen von Google Cloudnutzt.

Agent Platform Workbench-Instanz für jedes Teammitglied erstellen

Agent Platform Workbench-Instanz für jedes Mitglied Ihres Data-Science-Teams erstellen Wenn ein Teammitglied an mehreren Projekten beteiligt ist, insbesondere Projekten mit unterschiedlichen Abhängigkeiten, empfehlen wir die Verwendung mehrerer Instanzen, wobei jede Instanz als virtueller Arbeitsbereich behandelt wird. Beachten Sie, dass Sie Agent Platform Workbench-Instanzen beenden können, wenn sie nicht verwendet werden.

ML-Ressourcen und -Artefakte basierend auf Ihrer Unternehmensrichtlinie speichern

Die einfachste Zugriffssteuerung besteht darin, sowohl Ihre Rohdaten als auch Ihre Agent Platform-Ressourcen und ‑Artefakte wie Datasets und Modelle im selben Google Cloud -Projekt zu speichern. In der Regel hat Ihr Unternehmen Richtlinien, die den Zugriff steuern. In Fällen, in denen Ihre Ressourcen und Artefakte projektübergreifend gespeichert werden, können Sie Ihre unternehmensinterne projektübergreifende Zugriffssteuerung mit Identity and Access Management (IAM) konfigurieren.

Vertex AI SDK für Python verwenden

Verwenden Sie das Agent Platform SDK for Python, eine Python-Methode, mit der Sie die Agent Platform für End-to-End-Workflows beim Erstellen von Modellen verwenden können. Diese funktionieren reibungslos mit Ihren bevorzugten ML-Frameworks wie PyTorch, TensorFlow, XGBoost und scikit-learn.

Alternativ können Sie die Google Cloud -Konsole verwenden, die die Funktionalität der Agent Platform als Benutzeroberfläche über den Browser unterstützt.

ML-Entwicklung

Wir empfehlen die folgenden Best Practices für die ML-Entwicklung:

ML-Entwicklung umfasst die Vorbereitung der Daten, das Experimentieren und die Bewertung des Modells. Bei der Lösung eines ML-Problems ist es in der Regel erforderlich, viele verschiedene Modelle zu erstellen und zu vergleichen, um herauszufinden, was am besten funktioniert.

In der Regel trainieren Data Scientists Modelle mithilfe verschiedener Architekturen, Eingabedatensätze, Hyperparameter und Hardware. Data Scientists bewerten die resultierenden Modelle anhand von aggregierten Leistungsmesswerten wie Accuracy, Precision und Recall in Test-Datasets. Schließlich bewerten Data Scientists die Leistung der Modelle anhand bestimmter Teilmengen ihrer Daten, unterschiedlicher Modellversionen und verschiedener Modellarchitekturen.

Trainingsdaten vorbereiten

Die Daten, die zum Trainieren eines Modells verwendet werden, können aus einer beliebigen Anzahl von Systemen stammen, beispielsweise aus einem Onlinedienstsystem, aus Bildern von einem lokalen Gerät oder aus Dokumenten, die aus dem Web stammen.

Extrahieren Sie unabhängig vom Ursprung der Daten aus den Quellsystemen und konvertieren Sie sie in ein Format und einen Speicher (unabhängig von der Betriebsquelle), die für das ML-Training optimiert sind. Weitere Informationen zum Vorbereiten von Trainingsdaten für die Verwendung mit Agent Platform finden Sie unter Eigene Modelle trainieren und verwenden.

Strukturierte und semistrukturierte Daten in BigQuery speichern

Wenn Sie mit strukturierten oder halbstrukturierten Daten arbeiten, empfehlen wir, alle Daten in BigQuery zu speichern, wie in der BigQuery-Empfehlung für die Projektstruktur beschrieben. In den meisten Fällen können Sie Zwischendaten, die verarbeitet wurden, auch in BigQuery speichern. Für maximale Geschwindigkeit ist es besser, materialisierte Daten anstelle von Ansichten oder Unterabfragen für Trainingsdaten zu speichern.

Daten mit der BigQuery Storage API aus BigQuery lesen. Für das Artefakt-Tracking können Sie ein verwaltetes tabellarisches Dataset nutzen. In der folgenden Tabelle sind Google Cloud -Tools aufgeführt, die die Verwendung der API vereinfachen:

Wenn Sie Folgendes verwenden: Google Cloud Tool verwenden
TensorFlow für Keras tf.data.dataset-Reader für BigQuery
TFX BigQuery-Client
Dataflow Google BigQuery-E/A-Connector
Ein anderes Framework (z. B. PyTorch, XGBoost oder scikit-learn) Modelle in BigQuery importieren

Bild-, Video-, Audio- und unstrukturierte Daten in Cloud Storage speichern

Speichern Sie diese Daten in großen Containerformaten in Cloud Storage. Das gilt für aufgeteilte TFRecord-Dateien, wenn Sie TensorFlow verwenden, oder für Avro-Dateien, wenn Sie ein anderes Framework verwenden.

Fassen Sie viele einzelne Bilder, Videos oder Audio-Clips in großen Dateien zusammen, um den Lese- und Schreibdurchsatz für Cloud Storage zu verbessern. Die Datei sollte mindestens 100 MB groß sein und zwischen 100 und 10.000 Fragmentierungen enthalten.

Verwenden Sie Cloud Storage-Buckets und -Verzeichnisse, um die Shards zu gruppieren, um die Datenverwaltung zu aktivieren. Weitere Informationen finden Sie in der Produktübersicht zu Cloud Storage.

Data Labeling Services mit der Google Cloud Console verwenden

Sie können Trainingsdaten über die Seite „Agent Platform“ in der Google Cloud Console erstellen und importieren. Mit den Prompt- und Optimierungsfunktionen von Gemini können Sie Textdaten mit benutzerdefinierter Klassifizierung, Entitätsextraktion und Sentimentanalyse verwalten. Im Google Cloud console Marketplace sind auch Daten-Labeling-Lösungen wie Labelbox und Snorkel Flow verfügbar.

Agent Platform Feature Store mit strukturierten Daten verwenden

Mit Feature Store können Sie ML-Features an einem zentralen Ort erstellen, verwalten, freigeben und bereitstellen. Sie ist für Arbeitslasten mit geringer Latenz optimiert und ermöglicht es Ihnen, Featuredaten in einer BigQuery-Tabelle oder -Ansicht zu speichern. Wenn Sie Agent Platform Feature Store verwenden möchten, müssen Sie eine Onlinespeicher-Instanz erstellen und Ihre Featureansichten definieren. In BigQuery werden alle Featuredaten gespeichert, einschließlich historischer Featuredaten, damit Sie offline arbeiten können.

Vertex AI TensorBoard und Experiments auf der Gemini Enterprise Agent Platform für die Analyse von Experimenten verwenden

Verwenden Sie beim Entwickeln von Modellen Vertex AI TensorBoard, um bestimmte Tests zu visualisieren und zu vergleichen, z. B. anhand von Hyperparametern. Vertex AI TensorBoard ist ein sofort einsatzbereiter verwalteter Dienst mit einer kostengünstigen, sicheren Lösung, mit der Data Scientists und ML-Forscher einfach zusammenarbeiten können, da Tests nahtlos verfolgt, verglichen und freigegeben werden können. Mit Vertex AI TensorBoard können Sie Testmesswerte wie Verlust und Genauigkeit im Zeitverlauf verfolgen, das Modelldiagramm visualisieren, Einbettungen in einen Raum mit weniger Dimensionen projizieren und vieles mehr.

Verwenden Sie Experimente auf der Agent Platform, um Vertex ML Metadata einzubinden und um Parameter, Messwerte sowie Dataset- und Modellartefakte zu protokollieren und zu verbinden.

Modell in einer Agent Platform Workbench-Instanz für kleine Datasets trainieren

Das Trainieren eines Modells in der Agent Platform Workbench-Instanz kann für kleine Datasets oder Teilmengen eines größeren Datasets ausreichen. Es kann nützlich sein, den Trainingsdienst für größere Datasets oder für verteiltes Training zu verwenden. Die Verwendung des Managed Training-Dienstes der Gemini Enterprise Agent Platform wird auch für die Produktionsphase selbst mit kleinen Datasets empfohlen, wenn das Training nach einem Zeitplan oder als Reaktion auf den Eingang zusätzlicher Daten ausgeführt wird.

Vorhersagegenauigkeit Ihres Modells mit Hyperparameter-Abstimmung maximieren

Um die Vorhersagegenauigkeit Ihres Modells zu maximieren, können Sie die Hyperparameter-Abstimmung verwenden. Diese automatische Modelloptimierung wird vom Gemini Enterprise Agent Platform Managed Training-Dienst bereitgestellt. Dabei wird die Verarbeitungsinfrastruktur von Google Cloud und Vertex AI Vizier genutzt, um verschiedene Hyperparameter-Konfigurationen beim Trainieren Ihres Modells zu testen. Bei der Hyperparameter-Abstimmung ist es nicht mehr notwendig, Hyperparameter im Verlauf zahlreicher Trainingsläufe manuell anzupassen, um die optimalen Werte zu ermitteln.

Weitere Informationen zur Hyperparameter-Abstimmung finden Sie unter Überblick über die Hyperparameter-Abstimmung und Hyperparameter-Abstimmungsjob erstellen.

Agent Platform Workbench-Instanz zum Verständnis Ihrer Modelle verwenden

Verwenden Sie eine Agent Platform Workbench-Instanz, um Modelle zu bewerten und zu verstehen. Zusätzlich zu integrierten gängigen Bibliotheken wie scikit-learn enthalten Agent Platform Workbench-Instanzen das What-If-Tool (WIT) und das Language Interpretability Tool (LIT). Mit WIT können Sie Ihre Modelle mithilfe von verschiedenen Techniken interaktiv auf Verzerrungen analysieren und mit LIT können Sie mithilfe von visuellen, interaktiven und erweiterbaren Tools das Verhalten der Natural Language Processing-Modelle verstehen.

Mit Feature-Attributionen Informationen zu Modellvorhersagen erhalten

Vertex Explainable AI ist ein integraler Bestandteil des ML-Implementierungsprozesses und bietet Attributierungen von Features, um Aufschluss darüber zu geben, warum Modelle Vorhersagen generieren. Vertex Explainable AI gibt Aufschluss über die Bedeutung der einzelnen Features, die ein Modell als Eingabe für eine Vorhersage verwendet. So können Sie das Verhalten Ihres Modells besser nachvollziehen und Vertrauen in Ihre Modelle aufbauen.

Vertex Explainable AI unterstützt Modelle, die anhand von Tabellen- und Bilddaten benutzerdefiniert trainiert wurden.

Weitere Informationen zu Vertex Explainable AI finden Sie unter:

Datenvorbereitung

Wir empfehlen die folgenden Best Practices für die Datenvorbereitung:

Der empfohlene Ansatz für die Verarbeitung Ihrer Daten hängt vom Framework und den verwendeten Datentypen ab. Dieser Abschnitt bietet eine allgemeine Empfehlung für häufige Szenarien.

Mit BigQuery strukturierte und semistrukturierte Daten verarbeiten

Mit BigQuery unverarbeitete strukturierte oder semistrukturierte Daten speichern. Wenn Sie Ihr Modell mit BigQuery ML erstellen, verwenden Sie die in BigQuery integrierten Transformationen zur Vorverarbeitung der Daten. Wenn Sie AutoML verwenden, nutzen Sie die in AutoML integrierten Transformationen zur Vorverarbeitung der Daten. Wenn Sie ein benutzerdefiniertes Modell erstellen, sind die BigQuery-Transformationen möglicherweise die kostengünstigste Methode.

Bei großen Datasets sollten Sie die Partitionierung in BigQuery verwenden. Dies kann die Abfrageleistung und Kosteneffizienz verbessern.

Dataflow zum Verarbeiten von Daten nutzen

Bei großen Datenmengen sollten Sie Dataflow mit dem Programmiermodell Apache Beam verwenden. Sie können mit Dataflow die unstrukturierten Daten in binäre Datenformate wie TFRecord umwandeln. Dadurch lässt sich die Leistung der Datenaufnahme während des Trainingsvorgangs verbessern.

Managed Service for Apache Spark für serverlose Spark-Datenverarbeitung nutzen

Wenn Ihre Organisation Investitionen in eine Apache Spark-Codebasis und entsprechende Kompetenzen hat, können Sie alternativ Managed Service for Apache Spark verwenden. Verwenden Sie einmalige Python-Skripts für kleinere Datasets, die in den Arbeitsspeicher passen.

Wenn Sie Transformationen durchführen müssen, die in Cloud SQL nicht ausdrucksfähig sind oder zum Streamen dienen, können Sie eine Kombination aus Dataflow und der pandas-Bibliothek verwenden.

Verwaltete Datasets mit ML-Metadaten nutzen

Nachdem die Daten für ML vorverarbeitet wurden, sollten Sie die Verwendung eines verwalteten Datasets in der Agent Platform in Betracht ziehen. Mit verwalteten Datasets können Sie eine klare Verbindung zwischen Ihren Daten und benutzerdefinierten Modellen herstellen. Außerdem erhalten Sie deskriptive Statistiken und die Möglichkeit, Daten automatisch oder manuell in Trainings-, Test- und Validierungs-Datasets aufzuteilen.

Verwaltete Datasets sind nicht erforderlich und auf ihre Verwendung kann verzichtet werden, wenn Sie mehr Kontrolle über die Aufteilung Ihrer Daten in Ihrem Trainingscode benötigen oder eine Lineage zwischen Ihren Daten und dem Modell für Ihre Anwendung nicht kritisch ist.

Weitere Informationen finden Sie unter Datasets und Verwaltetes Dataset in benutzerdefinierter Trainingsanwendung verwenden.

ML-Training

Wir empfehlen die folgenden Best Practices für das ML-Training:

Beim ML-Training bezieht sich operatives Training auf den Prozess, das Modelltraining durch die Nachverfolgung von Wiederholungen und die Verwaltung der Leistung wiederholbar zu machen. Agent Platform Workbench-Instanzen sind zwar praktisch für die iterative Entwicklung in kleinen Datasets geeignet, wir empfehlen jedoch, den Code zu operationalisieren, damit er reproduzierbar ist und auf große Datasets skaliert werden kann. In diesem Abschnitt werden Tools und Best Practices für die Operationalisierung Ihrer Trainingsroutinen erläutert.

Code in einem verwalteten Dienst ausführen

Wir empfehlen, Code entweder im Managed Training-Dienst der Gemini Enterprise Agent Platform auszuführen oder mit Agent Platform Pipelines zu orchestrieren. Optional können Sie Ihren Code direkt in Deep Learning VM Images, Deep Learning Containers oder Compute Engine ausführen. Wir raten jedoch davon ab, wenn Sie Funktionen der Agent Platform wie automatisches Skalieren und Burst-Funktionen verwenden.

Jobausführung mit Trainingspipelines operationalisieren

Um die Ausführung von Trainingsjobs auf der Agent Platform zu operationalisieren, können Sie Trainingspipelines erstellen. Eine Trainingspipeline unterscheidet sich von einer allgemeinen ML-Pipeline und kapselt Trainingsjobs. Weitere Informationen zu Trainingspipelines finden Sie unter Trainingspipelines erstellen und REST-Ressource: projects.locations.trainingPipelines.

Mit Trainingsprüfpunkten den aktuellen Status von Tests speichern

Der ML-Workflow in diesem Dokument setzt voraus, dass Sie nicht interaktiv trainieren. Wenn Ihr Modell fehlschlägt und nicht Prüfpunktausführungen enthält, wird der Trainingsjob oder die Pipeline beendet und die Daten gehen verloren, weil das Modell nicht im Speicher ist. Um dieses Szenario zu vermeiden, sollten Sie immer Trainingsprüfpunkte verwenden, damit der Status nicht verloren geht.

Es wird empfohlen, Trainingsprüfpunkte in Cloud Storage zu speichern. Erstellen Sie für jeden Testlauf oder Trainingslauf einen separaten Ordner.

Weitere Informationen zu Prüfpunkten finden Sie unter Trainingsprüfpunkte für TensorFlow Core, Allgemeine Prüfpunkte in PyTorch speichern und laden und Designmuster für maschinelles Lernen.

Modellartefakte zur Bereitstellung in Cloud Storage vorbereiten

Für benutzerdefinierte Modelle oder benutzerdefinierte Container speichern Sie Ihre Modellartefakte in einem Cloud Storage-Bucket, wobei die Region des Buckets dem von Ihnen für die Produktion verwendeten regionalen Endpunkt entspricht. Weitere Informationen finden Sie unter Bucket-Regionen.

Cloud Storage unterstützt die Objektversionierung. Um versehentlichem Datenverlust oder ‑beschädigung vorzubeugen, sollten Sie die Objektversionsverwaltung in Cloud Storage aktivieren.

Speichern Sie Ihren Cloud Storage-Bucket im selben Google Cloud Projekt. Wenn sich Ihr Cloud Storage-Bucket in einem anderen Google Cloud -Projekt befindet, müssen Sie Gemini Enterprise Agent Platform-Zugriff gewähren, um Ihre Modellartefakte zu lesen.

Wenn Sie einen vordefinierten Gemini Enterprise Agent Platform-Container verwenden, achten Sie darauf, dass die Modellartefakte Dateinamen haben, die exakt mit folgenden Beispielen übereinstimmen:

  • TensorFlow SavedModel: saved_model.pb
  • Scikit-learn: model.joblib
  • XGBoost: model.bst
  • PyTorch: model.pth

Informationen zum Speichern Ihres Modells in Form eines oder mehrerer Modellartefakte finden Sie unter Modellartefakte zur Vorhersage exportieren.

Neue Featurewerte regelmäßig berechnen

Häufig verwendet ein Modell eine Teilmenge von Features aus Agent Platform Feature Store. Die Features im Agent Platform Feature Store sind für die Onlinebereitstellung einsatzbereit. Für alle neuen Features, die von Data Scientists durch die Nutzung von Daten aus dem Data Lake erstellt werden, empfehlen wir, die entsprechenden Datenverarbeitungs- und Feature-Engineering-Jobs (oder idealerweise Dataflow) so zu planen, dass die neuen Feature-Werte regelmäßig in der erforderlichen Häufigkeit berechnet werden. Dies hängt von der erforderlichen Aktualität der Features ab. Anschließend sollten sie in den Agent Platform Feature Store für die Online- oder Batchbereitstellung aufgenommen werden.

Modellbereitstellung und -einsatz

Wir empfehlen die folgenden Best Practices für die Bereitstellung und Bereitstellung von Modellen:

Modellbereitstellung und -bereitstellung bezieht sich auf das Einfügen eines Modells in die Produktion. Die Ausgabe des Trainingsjobs ist eines oder mehrere der Modellartefakte, die in Cloud Storage gespeichert sind. Sie können sie in Model Registry hochladen, um die Datei für die Vorhersagebereitstellung zu verwenden. Es gibt zwei Arten der Vorhersagebereitstellung: Die Batchvorhersage wird zur regelmäßigen Punktzahlbewertung von Daten verwendet und die Onlinevorhersage wird für die Echtzeit-Bewertung von Daten für Liveanwendungen verwendet. Mit beiden Ansätzen können Sie Vorhersagen von trainierten Modellen erhalten. Dazu übergeben Sie Eingabedaten an ein in der Cloud gehostetes ML-Modell und erhalten Inferenzen für jede Dateninstanz. Weitere Informationen finden Sie unter Batchvorhersagen abrufen und Onlinevorhersagen aus benutzerdefinierten Modellen abrufen.

Verwenden Sie private Agent Platform-Endpunkte, um die Latenz für Peer-to-Peer-Anfragen zwischen Client und Modellserver zu verringern. Private Endpunkte sind besonders nützlich, wenn sich Ihre Anwendung, die die Vorhersageanfragen stellt, und die bereitstellende Binärdatei im selben lokalen Netzwerk befinden. Sie können den Overhead des Internetroutings vermeiden und eine Peer-to-Peer-Verbindung über Virtual Private Cloud herstellen.

Anzahl und Typen der erforderlichen Maschinen angeben

Wenn Sie das Modell für die Vorhersage bereitstellen möchten, wählen Sie die für Ihr Modell geeignete Hardware aus, z. B. verschiedene VM-Typen (Central Processing Unit, VM) oder GPU-Typen (Graphics Processing Unit). Weitere Informationen finden Sie unter Maschinentypen oder Skalierungsstufen angeben.

Eingaben an das Modell planen

Neben der Bereitstellung des Modells müssen Sie auch festlegen, wie Sie Eingaben an das Modell übergeben möchten. Wenn Sie die Batch-Vorhersage verwenden, können Sie Daten aus dem Data Lake oder aus der Feature Store Batchbereitstellung API abrufen. Wenn Sie die Onlinevorhersage verwenden, können Sie Eingabeinstanzen an den Dienst senden und diese erhalten die Vorhersagen in der Antwort. Weitere Informationen finden Sie unter Details zum Antworttext.

Wenn Sie Ihr Modell für Onlinevorhersagen bereitstellen, benötigen Sie eine Methode mit geringer Latenz und hoher Skalierbarkeit, um die Eingaben oder Features bereitzustellen, die an den Endpunkt des Modells übergeben werden müssen. Dazu können Sie entweder einen der vielen Datenbankdienste auf Google Cloud verwenden oder die Onlinebereitstellungs-API von Feature Store. Die Clients, die den Endpunkt für die Onlinevorhersage aufrufen, können zuerst die Featurebereitstellungslösung aufrufen, um die Featureeingaben abzurufen, und dann den Vorhersageendpunkt mit diesen Eingaben aufrufen. Sie können mehrere Modelle für denselben Endpunkt bereitstellen, um das Modell beispielsweise schrittweise zu ersetzen. Alternativ können Sie Modelle auf mehreren Endpunkten bereitstellen, z. B. in Test- und Produktionsumgebungen, indem Sie Ressourcen für mehrere Bereitstellungen freigeben.

Mit der Streamingaufnahme können Sie Echtzeitwerte für Featurewerte aktualisieren. Diese Methode ist nützlich, wenn die neuesten verfügbaren Daten für die Onlinebereitstellung eine Priorität haben. Sie können beispielsweise Streaming-Ereignisdaten aufnehmen und innerhalb weniger Sekunden stellt Feature Store-Streamingaufnahme diese Daten für Onlinebereitstellungsszenarien zur Verfügung.

Mit benutzerdefinierten Vorhersageroutinen können Sie außerdem die Verarbeitung und das Format von Eingabe (Anfrage) und Ausgabe (Antwort) an und von Ihrem Modell-Server anpassen.

Automatische Skalierung aktivieren

Wenn Sie den Onlinevorhersagedienst verwenden, sollten Sie in den meisten Fällen die automatische Skalierung durch Festlegen von Mindest- und Höchstwerten aktivieren. Weitere Informationen finden Sie unter Vorhersagen für ein benutzerdefiniert trainiertes Modell abrufen. Zur Gewährleistung eines Service Level Agreements (SLA) für hohe Verfügbarkeit legen Sie die automatische Skalierung mit mindestens zwei Knoten fest.

Weitere Informationen zu Skalierungsoptionen finden Sie unter ML-Vorhersagen skalieren.

ML-Workflow-Orchestrierung

Wir empfehlen die folgenden Best Practices für die Orchestrierung von ML-Workflows, je nach Infrastruktur und Integrationsanforderungen:

Google Cloud bietet eine umfassende Suite für die Orchestrierung von ML-Workflows. Für komplexe End-to-End-Prozesse, die Data-Engineering-Aufgaben wie Extrahieren, Laden und Transformieren (ELT), ML-Training und externe Geschäftssysteme umfassen, empfehlen wir Managed Airflow als Orchestrator für Unternehmen. Für in sich geschlossene Workflows, die ausschließlich im Ökosystem der Agent Platform verbleiben, bietet Agent Platform Pipelines einen serverlosen, vollständig verwalteten Dienst, mit dem Sie Ihre Modelle so oft wie nötig neu trainieren können. Durch das erneute Training können sich Ihre Modelle an Änderungen anpassen und die Leistung im Laufe der Zeit beibehalten. Berücksichtigen Sie jedoch, wie stark sich Ihre Daten ändern werden, wenn Sie die optimale Häufigkeit für das erneute Training des Modells auswählen.

ML-Orchestrierungsworkflows eignen sich am besten für Kunden, die ihr Modell bereits entworfen und erstellt, in der Produktion eingesetzt und den ML-Lebenszyklus automatisiert haben. Der Code, den Sie für Tests verwenden, ist wahrscheinlich mit einigen Änderungen für den Rest des ML-Workflows nützlich. Wenn Sie mit containerbasierten ML-Workflows in Agent Platform Pipelines arbeiten möchten, müssen Sie mit Python vertraut sein, die grundlegende Infrastruktur wie Container verstehen und über Kenntnisse in ML verfügen. Für eine umfassendere Orchestrierung, ohne dass benutzerdefinierte Container für Nicht-ML-Aufgaben verwaltet werden müssen,bietet Managed Airflow über 1.000 vorgefertigte Operatoren und ein zugängliches, YAML-basiertes Konfigurationsframework für Data Scientists.

Managed Airflow für End-to-End-MLOps-Workflows für Unternehmen verwenden

Sie können zwar jeden Datenprozess, jedes Training, jede Bewertung und jede Bereitstellung manuell starten, wir empfehlen jedoch, Managed Airflow zu verwenden, um den gesamten Ablauf zu orchestrieren, wenn Ihre Architektur heterogene Systeme umfasst. Managed Airflow basiert auf Apache Airflow. Managed Airflow fungiert als einheitliche Steuerungsebene, mit der Sie Google Cloud Dienste (wie BigQuery und Dataflow) nahtlos in die Agent Platform und Enterprise-Tools von Drittanbietern einbinden können.

Als Alternative zum Schreiben komplexer Airflow-Python-DAGs können Sie Orchestration Pipelines verwenden, um Ihre Geschäftslogik und Abhängigkeiten in prägnantem YAML zu definieren. Dieser deklarative Ansatz senkt die Einstiegshürde drastisch, sodass Data Scientists mehrstufige Pipelines nahtlos erstellen und bereitstellen können, ohne dass fundierte Apache Airflow-Kenntnisse erforderlich sind. Weitere Informationen zu MLOps für Orchestration Pipelines finden Sie unter From weeks to minutes: The new agentic era of data pipelines.

Gemini Enterprise Agent Platform-Pipelines für serverlose Workflows verwenden, die in die Agent Platform integriert sind

Wenn Ihre Workflows vollständig containerbasiert sind und ausschließlich im Ökosystem der Agent Platform ausgeführt werden, empfehlen wir Ihnen, den Ablauf mit Agent Platform-Pipelines zu orchestrieren. Ausführliche Informationen finden Sie unter MLOps-Stufe 1: Automatisierung der ML-Pipeline. Agent Platform Pipelines bietet die serverlose Ausführung von DAGs, die von Kubeflow und TensorFlow Extended (TFX) generiert werden.

Kubeflow Pipelines für eine flexible Pipelineerstellung verwenden

Wir empfehlen das Kubeflow Pipelines SDK für die meisten Nutzer, die verwaltete Pipelines für Agent Platform Pipelines erstellen möchten. Kubeflow Pipelines ist flexibel und ermöglicht es Ihnen, containerisierte Pipelines mit Code zu erstellen. Außerdem bietet sie Google Cloud Pipeline-Komponenten, mit denen Sie Agent Platform-Funktionen wie AutoML in Ihre Pipeline einbinden können. Weitere Informationen zu Kubeflow Pipelines finden Sie unter Kubeflow Pipelines und Agent Platform Pipelines.

Ray in der Gemini Enterprise Agent Platform für verteilte ML-Workflows verwenden

Ray bietet ein allgemeines und einheitliches verteiltes Framework zum Skalieren von Machine-Learning-Workflows über ein skalierbares und verteiltes Open-Source-Computing-Framework für Python. Dieses Framework kann helfen, die Herausforderungen zu bewältigen, die sich aus der Vielzahl verteilter Frameworks in Ihrem ML-Ökosystem ergeben, z. B. die Notwendigkeit, mehrere Modi der Aufgabenparallelität, der Planung und der Ressourcenverwaltung zu berücksichtigen. Mit Ray on Gemini Enterprise Agent Platform können Sie Anwendungen auf der Agent Platform entwickeln.

Organisation von Artefakten

Wir empfehlen, die folgenden Best Practices zu beachten, um Ihre Artefakte zu organisieren:

Artefakte sind Ausgaben, die aus jedem Schritt im ML-Workflow entstehen. Es empfiehlt sich, sie auf standardisierte Weise zu organisieren.

ML-Modellartefakte organisieren

Speichern Sie Ihre Artefakte an den folgenden Speicherorten:

Storage-Speicherort Artefakte
Versionsverwaltungs-Repository
  • Gemini Enterprise Agent Platform-Workbench-Instanzen
  • Pipeline-Quellcode
  • Vorverarbeitungsfunktionen
  • Modellquellcode
  • Pakete für das Modelltraining
  • Funktionen zur Auslieferung
Tests und ML-Metadaten
  • Tests
  • Parameter
  • Hyperparameter
  • Metaparameter
  • Messwerte
  • Dataset-Artefakte
  • Modellartefakte
  • Pipeline-Metadaten
Model Registry
  • Trainierte Modelle
Artifact Registry
  • Pipeline-Container
  • Benutzerdefinierte Trainingsumgebungen
  • Benutzerdefinierte Vorhersageumgebungen
Inference in der Gemini Enterprise Agent Platform
  • Bereitgestellte Modelle

Quellverwaltungs-Repository für Pipelinedefinitionen und Trainingscode verwenden

Mit der Quellsteuerung können Sie Ihre ML-Pipelines und die benutzerdefinierten Komponenten, die Sie für diese Pipelines erstellen, einer Versionskontrolle unterziehen. Verwenden Sie Artifact Registry, um Ihre Docker-Container-Images zu speichern, zu verwalten und zu sichern, ohne sie öffentlich sichtbar zu machen.

Modellmonitoring

Sobald Sie Ihr Modell in der Produktion bereitgestellt haben, müssen Sie die Leistung überwachen, um zu prüfen, ob das Modell wie erwartet funktioniert. Die Gemini Enterprise Agent Platform bietet zwei Möglichkeiten, Ihre ML-Modelle zu überwachen:

  • Verzerrungserkennung: Bei diesem Ansatz wird nach dem Grad der Verzerrung zwischen den Modelltrainings- und den Produktionsdaten gesucht.
  • Abweichungserkennung: Bei dieser Art des Monitorings suchen Sie nach einer Abweichung in Ihren Produktionsdaten. Eine Abweichung tritt auf, wenn sich die statistischen Attribute der Eingaben und des Ziels, die das Modell vorherzusagen versucht, im Laufe der Zeit unvorhergesehen ändern. Dies kann zu Problemen führen, da die Vorhersagen mit der Zeit an Genauigkeit verlieren.

Die Modellüberwachung funktioniert für strukturierte Daten wie numerische und kategoriale Merkmale, nicht jedoch für unstrukturierte Daten wie Bilder. Weitere Informationen finden Sie unter Modelle für Funktionsabweichungen oder Drift überwachen.

Erkennung von Abweichungen und Drifts verwenden

Verwenden Sie so oft wie möglich die Verzerrungserkennung, denn wenn sich die Produktionsdaten stark von den Trainingsdaten unterscheiden, bedeutet dies, dass Ihr Modell bei der Produktion nicht den Erwartungen entspricht. Richten Sie für die Verzerrungserkennung den Job zur Modellüberwachung ein. Verweisen Sie dazu auf die Trainingsdaten, mit denen Sie das Modell trainieren.

Wenn Sie keinen Zugriff auf die Trainingsdaten haben, aktivieren Sie die Abweichungserkennung, um zu wissen, wann sich die Eingaben im Laufe der Zeit ändern.

Verwenden Sie die Drifterkennung, um zu überwachen, ob Ihre Produktionsdaten im Laufe der Zeit abweichen. Aktivieren Sie für die Drifterkennung die Features, die Sie überwachen möchten, sowie die entsprechenden Schwellenwerte, die eine Benachrichtigung auslösen sollen.

Schwellenwerte für Benachrichtigungen anpassen

Passen Sie die Schwellenwerte an, die für Benachrichtigungen verwendet werden, damit Sie wissen, wenn es in Ihren Daten eine Verzerrung oder Drift gibt. Schwellenwerte für Benachrichtigungen werden durch den Anwendungsfall, das Domainwissen des Nutzers und die ersten Messwerte zur Modellüberwachung bestimmt. Informationen zum Erstellen von Dashboards oder zum Konfigurieren von Benachrichtigungen anhand der Messwerte mithilfe von Monitoring finden Sie unter Cloud Monitoring-Messwerte.

Feature-Attributionen zur Erkennung von Datenabweichungen verwenden

Sie können Feature-Attributionen in Vertex Explainable AI verwenden, um Datenabweichungen oder ‑verzerrungen als Frühindikator für eine mögliche Verschlechterung der Modellleistung zu erkennen. Wenn Ihr Modell beispielsweise ursprünglich auf fünf Features angewiesen war, um Vorhersagen in Ihren Trainings- und Testdaten zu treffen, aber das Modell in der Produktion auf völlig andere Features angewiesen war, können Sie mit Feature-Attributionen diesen Leistungsabfall des Modells erkennen.

Dies ist besonders für komplexe Featuretypen wie Einbettungen und Zeitachsen nützlich, die mit herkömmlichen Methoden für Verzerrung und Drift schwer zu vergleichen sind. Mit Vertex Explainable AI können Feature-Attributionen darauf hinweisen, wenn die Modellleistung nachlässt.

BigQuery zur Unterstützung der Modellüberwachung verwenden

BigQuery ML-Modellmonitoring ist eine Reihe von Tools und Funktionen, mit denen Sie die Leistung Ihrer ML-Modelle im Zeitverlauf verfolgen und bewerten können. Die Modellüberwachung ist unerlässlich, um die Genauigkeit und Zuverlässigkeit von Modellen in realen Anwendungen aufrechtzuerhalten. Wir empfehlen, auf die folgenden Probleme zu achten:

  • Datenverzerrung: Dieses Problem tritt auf, wenn sich die Verteilungen der Featurewerte zwischen Trainings- und Bereitstellungsdaten unterscheiden. Trainingsstatistiken, die während des Modelltrainings gespeichert werden, ermöglichen die Erkennung von Abweichungen, ohne dass die Originaldaten erforderlich sind.
  • Daten-Drift: Reale Daten ändern sich oft im Laufe der Zeit. Mit der Modellüberwachung können Sie erkennen, wann sich die Eingabedaten, die Ihr Modell in der Produktion (Bereitstellungsdaten) sieht, erheblich von den Daten unterscheiden, mit denen es trainiert wurde (Trainingsdaten). Diese Abweichung kann zu einer schlechteren Leistung führen.
  • Erweiterte Datenverzerrung oder ‑drift: Wenn Sie detaillierte Statistiken zu Datenverzerrung oder Drift benötigen, sollten Sie das erweiterte Monitoring von Datenverzerrungen oder ‑drifts verwenden.

Nächste Schritte