Mit Agent Platform-Pipelines können Sie ML-Pipelines für maschinelles Lernen ausführen, die mit dem Kubeflow Pipelines SDK oder TensorFlow Extended serverlos erstellt wurden. In diesem Dokument wird beschrieben, wie Sie eine ML-Pipeline ausführen.
Sie können Pipelineausführungen auch mit vordefinierten Vorlagen in der Vorlagengalerie erstellen. Weitere Informationen zur Vorlagengalerie finden Sie unter Vordefinierte Vorlage aus der Vorlagengalerie verwenden.
Mit Gemini Enterprise Agent Platform-Tests können Sie Ihre Pipelineausführungen verfolgen, analysieren und vergleichen, indem Sie die Pipelineausführungen mit einem Test oder einer Testausführung verknüpfen. Durch den Vergleich der Parameter, Ausgaben und Leistungsmesswerte der Pipelineausführungen können Sie die Pipelinekonfiguration ermitteln, die für Ihren Anwendungsfall am besten geeignet ist. Weitere Informationen finden Sie unter Einführung in Experimente mit der Gemini Enterprise Agent Platform.
Hinweis
Bevor Sie eine Pipeline mit Agent Platform Pipelines ausführen, folgen Sie der Anleitung unten, um IhrGoogle Cloud -Projekt und Ihre Entwicklungsumgebung einzurichten:
Installieren Sie das Vertex SDK, um eine Pipeline mit dem Agent Platform SDK für Python auszuführen.
- Installieren Sie das Agent Platform SDK.
Pipeline-Ausführung erstellen
Gehen Sie nach der folgenden Anleitung vor, um eine ML-Pipeline mit der Google Cloud Console oder Python auszuführen.
Console
Gehen Sie nach der folgenden Anleitung vor, um eine ML-Pipeline mit der Google Cloud Console auszuführen.
Rufen Sie in der Google Cloud Console im Abschnitt Agent Platform die Seite Pipelines auf.
Wählen Sie in der Drop-down-Liste Region die Region aus, in der Sie die Pipeline erstellen möchten.
Klicken Sie auf Ausführung erstellen, um den Bereich Pipeline-Ausführung erstellen zu öffnen.
Geben Sie im Abschnitt Ausführungsdetails Folgendes an:
Klicken Sie auf eine Ausführungsquelle. Folgende Optionen sind verfügbar:
Aus vorhandenen Pipelines auswählen: Klicken Sie zum Erstellen einer Pipeline-Ausführung basierend auf einer vorhandenen Pipeline-Vorlage auf Aus vorhandenen Pipelines auswählen und geben Sie die folgenden Details ein:
Wählen Sie das Repository mit der Pipeline- oder Komponentendefinitionsdatei aus.
Wählen Sie die Pipeline oder Komponente und die Version aus.
Geben Sie einen Ausführungsnamen an, um die Pipelineausführung zu identifizieren.
Vorlagengalerie-Pipeline auswählen: Um eine Pipeline zu erstellen, die auf einer von Google erstellten Pipeline-Vorlage aus der Vorlagen-Galerie basiert, klicken Sie auf Vorlagen-Galerie-Pipeline auswählen und geben folgende Details ein:
Wählen Sie in der Liste Vorlagengalerie-Pipeline die Pipelinevorlage aus.
Optional: Ändern Sie den Standard-Ausführungsnamen, der die Pipeline-Ausführung identifiziert.
Datei hochladen: Klicken Sie zum Hochladen einer kompilierten Pipelinedefinition auf Datei hochladen und geben Sie die folgenden Details ein:
Klicken Sie auf Durchsuchen, um die Dateiauswahl zu öffnen. Wechseln Sie zur YAML-Datei der kompilierten Pipeline, die Sie ausführen möchten, wählen Sie die Pipeline aus und klicken Sie auf Öffnen.
Der Name der Pipeline oder Komponente zeigt standardmäßig den in der Pipelinedefinition angegebenen Namen an. Geben Sie optional einen anderen Pipelinenamen an.
Geben Sie einen Ausführungsnamen an, um die Pipelineausführung zu identifizieren.
Aus Cloud Storage importieren: Klicken Sie zum Importieren einer Pipelinedefinitionsdatei aus Cloud Storage auf Aus Cloud Storage importieren und geben Sie die folgenden Details ein:
Klicken Sie auf Durchsuchen, um den Cloud Storage-Bucket aufzurufen, der das Pipelinedefinitionsobjekt enthält. Wählen Sie die Datei aus und klicken Sie auf Auswählen.
Alternativ können Sie den Cloud Storage-URI oder die HTTP/HTTPS-URL der Pipelinedefinitionsdatei eingeben.
Geben Sie den Namen der Pipeline oder Komponente an.
Geben Sie einen Ausführungsnamen an, um die Pipelineausführung zu identifizieren.
1. Optional: To schedule recurring pipeline runs, specify the **Run schedule**, as follows:
1. Select **Recurring**.
1. Under **Start time**, specify when the schedule becomes active.
* To schedule the first run to occur immediately after schedule creation, select **Immediately**.
* To schedule the first run to occur at a specific time and date, select **On**.
1. In the **Frequency** field, specify the frequency to schedule and execute the
pipeline runs, using a cron schedule expression based on
[unix-cron](https://man7.org/linux/man-pages/man5/crontab.5.html).
1. Under **Ends**, specify when the schedule ends.
* To indicate that the schedule creates pipeline runs indefinitely, select **Never**.
* To indicate that the schedule ends on a specific date and time, select **On**, and specify the end date and time for the schedule.
1. Optional: To specify that the pipeline run uses a custom service account,
Customer-managed encryption keys (CMEK), or a peered VPC network, click
**Advanced options**, and then follow these instructions:
* To specify a service account, select a service account from the
**Service account** drop-down list.
If you don't specify a service account,
Agent Platform Pipelines runs your pipeline using the default
Compute Engine service account.
Learn more about [configuring a service account for use with
Agent Platform Pipelines](/gemini-enterprise-agent-platform/machine-learning/pipelines/configure-project#service-account).
* To use a CMEK, select **Use a customer-managed encryption key**. The **Select a customer-managed key** drop-down list appears. In the **Select a customer-managed key** drop-down list, select the key that you want to use.
* To use a peered VPC network in this pipeline run, enter the VPC
network name in the **Peered VPC network** box.
1. Click **Continue**.
Konfigurieren Sie im Abschnitt Laufzeitkonfiguration die Pipelineausführung so:
Klicken Sie unter Cloud Storage-Speicherort auf Durchsuchen, um den Cloud Storage-Bucket zum Speichern der Pipeline-Ausgabeartefakte auszuwählen. Klicken Sie dann auf Auswählen.
Optional: Um die Fehlerrichtlinie und den Cache für die Pipelineausführung zu konfigurieren klicken Sie auf Erweiterte Optionen und berücksichtigen folgende Anleitungen:
Geben Sie unter Fehlerrichtlinie die Fehlerrichtlinie für die gesamte Pipeline an. Weitere Informationen zu Richtlinien für Pipelinefehler
Wählen Sie Alle Schritte bis zum Abschluss ausführen, um die Pipeline so zu konfigurieren, dass verbleibende Aufgaben nach dem Fehlschlagen einer Aufgabe weiter ausgeführt werden. Diese Option ist standardmäßig aktiviert.
Wählen Sie Ausführung als fehlgeschlagen ansehen, sobald ein Schritt fehlschlägt, um die Pipeline so zu konfigurieren, dass sie fehlschlägt, sobald eine Aufgabe fehlgeschlagen ist.
Geben Sie unter Caching-Konfiguration die Cache-Konfiguration für die gesamte Pipeline an.
Wenn Sie die Cache-Konfiguration auf Aufgabenebene für Aufgaben in der Pipeline verwenden möchten, wählen Sie Cache-Konfiguration auf Aufgabenebene nicht überschreiben.
Wählen Sie Lesen aus dem Cache für alle Schritte aktivieren (am schnellsten), um das Caching für alle Aufgaben in der Pipeline zu aktivieren und alle Cache-Konfigurationen auf Aufgabenebene zu überschreiben.
Wählen Sie Lesen aus dem Cache für alle Schritte deaktivieren (am schnellsten), um das Caching für alle Aufgaben in der Pipeline zu deaktivieren und alle Cache-Konfigurationen auf Aufgabenebene zu überschreiben.
Optional: Wenn Ihre Pipeline Parameter hat, geben Sie unter Pipelineparameter die Parameter für die Pipelineausführung an.
Klicken Sie auf Senden, um die Pipelineausführung zu erstellen.
Python
Verwenden Sie die folgende Anleitung, um eine ML-Pipeline mit dem Agent Platform SDK für Python auszuführen. Bevor Sie das folgende Codebeispiel ausführen, müssen Sie die Authentifizierung einrichten.
Authentifizierung einrichten
Für die Einrichtung der Authentifizierung müssen Sie einen Dienstkontoschlüssel erstellen und eine Umgebungsvariable für den Pfad zum Dienstkontoschlüssel festlegen.
-
Erstellen Sie ein Dienstkonto:
-
Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.
- Geben Sie im Feld Dienstkontoname einen Namen ein.
- Optional: Geben Sie im Feld Dienstkontobeschreibung eine Beschreibung ein.
- Klicken Sie auf Erstellen.
- Klicken Sie auf das Feld Rolle auswählen. Wählen Sie unter Alle Rollen die Option Gemini Enterprise Agent Platform > Agent Platform User aus.
-
Klicken Sie auf Fertig, um das Dienstkonto zu erstellen.
Schließen Sie das Browserfenster nicht. Sie verwenden es in der nächsten Aufgabe.
-
-
Erstellen Sie einen Dienstkontoschlüssel für die Authentifizierung:
- Klicken Sie in der Google Cloud Console auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
- Klicken Sie auf Schlüssel.
- Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
- Klicken Sie auf Erstellen. Daraufhin wird eine JSON-Schlüsseldatei auf Ihren Computer heruntergeladen.
- Klicken Sie auf Schließen.
- Gewähren Sie dem neuen Dienstkonto Zugriff auf das Dienstkonto, das Sie zum Ausführen von Pipelines verwenden.
- Klicken Sie auf , um zur Liste der Dienstkonten zurückzukehren.
Klicken Sie auf den Namen des Dienstkontos, mit dem Sie Pipelines ausführen. Die Seite Dienstkontodetails wird angezeigt.
Wenn Sie der Anleitung zum Konfigurieren Ihres Projekts für Gemini Enterprise Agent Platform Pipelines gefolgt sind, ist dies dasselbe Dienstkonto, das Sie im Schritt Dienstkonto mit detaillierten Berechtigungen konfigurieren erstellt haben. Andernfalls verwendet die Gemini Enterprise Agent Platform das Compute Engine-Standarddienstkonto zum Ausführen von Pipelines. Das Compute Engine-Standarddienstkonto hat folgenden Namen:
PROJECT_NUMBER-compute@developer.gserviceaccount.com- Klicken Sie auf den Tab Berechtigungen.
- Klicken Sie auf Zugriff erlauben. Das Feld Hauptkonten hinzufügen wird angezeigt.
- Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse für das Dienstkonto ein, das Sie in einem vorherigen Schritt erstellt haben.
- Wählen Sie in der Drop-down-Liste Rolle die Option Dienstkonten > Dienstkontonutzer aus.
- Klicken Sie auf Speichern.
-
Legen Sie für die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS den Pfad der JSON-Datei fest, die Ihren Dienstkontoschlüssel enthält. Diese Variable gilt nur für Ihre aktuelle Shell-Sitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable noch einmal festlegen.
Beispiel: Linux oder macOS
Geben Sie für [PATH] den Dateipfad der JSON-Datei an, die Ihren Dienstkontoschlüssel enthält.
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
Beispiel:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Beispiel: Windows
Geben Sie für [PATH] den Dateipfad der JSON-Datei an, die Ihren Dienstkontoschlüssel enthält, und für [FILE_NAME] den Dateinamen.
Mit PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
Beispiel:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"
Mit Eingabeaufforderung:
set GOOGLE_APPLICATION_CREDENTIALS=[PATH]
Pipeline ausführen
Für das Ausführen eines PipelineJob der Gemini Enterprise Agent Platform müssen Sie eine PipelineJob-Ressource erstellen und dann die Methode submit aufrufen.
Spezielle von KFP unterstützte Eingabetypen
Beim Erstellen einer Pipeline-Ausführung können Sie auch die folgenden Platzhalter übergeben, die vom KFP SDK SDK als Eingaben unterstützt werden:
{{$.pipeline_job_name_placeholder}}{{$.pipeline_job_resource_name_placeholder}}{{$.pipeline_job_id_placeholder}}{{$.pipeline_task_name_placeholder}}{{$.pipeline_task_id_placeholder}}{{$.pipeline_job_create_time_utc_placeholder}}{{$.pipeline_root_placeholder}}
Weitere Informationen finden Sie in der Kubeflow Pipelines Version 2-Dokumentation unter Spezielle Eingabetypen.
from google.cloud import aiplatform job = aiplatform.PipelineJob(display_name = DISPLAY_NAME, template_path = COMPILED_PIPELINE_PATH, job_id = JOB_ID, pipeline_root = PIPELINE_ROOT_PATH, parameter_values = PIPELINE_PARAMETERS, enable_caching = ENABLE_CACHING, encryption_spec_key_name = CMEK, labels = LABELS, credentials = CREDENTIALS, project = PROJECT_ID, location = LOCATION, failure_policy = FAILURE_POLICY) job.submit(service_account=SERVICE_ACCOUNT, network=NETWORK, reserved_ip_ranges=RESERVED_IP_RANGES)
Ersetzen Sie Folgendes:
- DISPLAY_NAME: Der Name der Pipeline, der in der Google Cloud Console angezeigt wird.
COMPILED_PIPELINE_PATH: Der Pfad zur kompilierten Pipeline-YAML-Datei. Dies kann ein Cloud Storage-URI, eine HTTP/HTTPS-URL oder ein lokaler Pfad sein.
Optional: Wenn Sie eine bestimmte Version einer kompilierten Pipeline angeben möchten, fügen Sie das Versions-Tag in einem der folgenden Formate ein:
COMPILED_PIPELINE_PATH:TAG, wobei TAG das Versions-Tag ist.COMPILED_PIPELINE_PATH@SHA256_TAG, wobei SHA256_TAG dersha256-Hashwert der Pipelineversion ist.
JOB_ID: (optional) Eine eindeutige Kennung für diese Pipeline-Ausführung. Wenn die Job-ID nicht angegeben ist, erstellt Agent Platform-Pipelines eine Job-ID für Sie anhand des Pipeline-Namens und des Zeitstempels für den Start der Pipeline-Ausführung.
PIPELINE_ROOT_PATH: (optional) Damit der in der Pipelinedefinition angegebene Root-Pfad der Pipeline überschrieben werden kann, geben Sie einen Pfad an, auf den Ihr Pipelinejob zugreifen kann, z. B. einen Cloud Storage-Bucket-URI.
PIPELINE_PARAMETERS: (optional) Die Pipelineparameter, die an diese Ausführung übergeben werden sollen. Erstellen Sie beispielsweise ein
dict(), das die Parameternamen als Wörterbuchschlüssel und die Parameterwerte als Wörterbuchwerte enthält.ENABLE_CACHING: (optional) Gibt an, ob diese Pipeline-Ausführung Ausführungs-Caching verwendet. Ausführungs-Caching reduziert die Kosten, da Pipelineaufgaben übersprungen werden, deren Ausgabe für den aktuellen Satz von Eingaben bekannt ist. Wenn das Argument zum Aktivieren des Cachings nicht angegeben ist, wird in dieser Pipeline-Ausführung das Ausführungs-Caching verwendet. Weitere Informationen zum Ausführungs-Caching
CMEK: (optional) Der Name des vom Kunden verwalteten Verschlüsselungsschlüssels, den Sie für diese Pipeline verwenden möchten.
LABELS: (optional) Die benutzerdefinierten Labels, um
PipelineJobzu organisieren. Weitere Informationen zu Ressourcenlabels finden Sie in der Resource Manager-Dokumentation unter Labels erstellen und verwalten.Agent Platform-Pipelines fügt Ihrem Pipeline-Ausführung automatisch das folgende Label hinzu:
vertex-ai-pipelines-run-billing-id: pipeline_run_idDabei ist
pipeline_run_iddie eindeutige ID der Pipelineausführung.Dieses Label verknüpft die Nutzung von Google Cloud -Ressourcen, die durch die Pipelineausführung generiert wurden, in Abrechnungsberichten.
CREDENTIALS: (optional) Benutzerdefinierte Anmeldedaten zum Erstellen dieses
PipelineJob. Überschreibt die inaiplatform.initfestgelegten Anmeldedaten.PROJECT_ID: (optional) Das Google Cloud -Projekt, in dem Sie die Pipeline ausführen möchten. Wenn Sie diesen Parameter nicht festlegen, wird das in
aiplatform.initfestgelegte Projekt verwendet.LOCATION: (optional) Die Region, in der Sie die Pipeline ausführen möchten. Weitere Informationen zu den Regionen, in denen Agent Platform Pipelines verfügbar ist, finden Sie im Leitfaden zu Gemini Enterprise Agent Platform-Standorten. Wenn Sie diesen Parameter nicht festlegen, wird der in
aiplatform.initfestgelegte Standardstandort verwendet.FAILURE_POLICY: (optional) Geben Sie die Fehlerrichtlinie für die gesamte Pipeline an. Folgende Konfigurationen sind verfügbar:
Geben Sie
fastein, um die Pipeline so zu konfigurieren, dass sie fehlschlägt, nachdem eine Aufgabe fehlgeschlagen ist.Geben Sie
slowein, um die Pipeline so zu konfigurieren, dass verbleibende Aufgaben nach dem Fehlschlagen einer Aufgabe weiter ausgeführt werden.
Wenn Sie diesen Parameter nicht festlegen, wird die Konfiguration der Fehlerrichtlinie standardmäßig auf
slowgesetzt. Weitere Informationen zu Richtlinien für PipelinefehlerSERVICE_ACCOUNT: (optional) Der Name des Dienstkontos, das für diese Pipeline verwendet werden soll. Wenn Sie kein Dienstkonto angeben, führt Agent Platform Pipelines Ihre Pipeline mit dem Compute Engine-Standarddienstkonto aus.
NETWORK: (optional) Der Name des VPC-Peering-Netzwerks, das für diese Pipelineausführung verwendet werden soll.
RESERVED_IP_RANGES: Optional. Eine Liste der Namen für die reservierten IP-Bereiche im VPC-Netzwerk, das für die Arbeitslast der Pipelineausführung verwendet wird, z. B.
['vertex-ai-ip-range'].