Mit Vertex AI Pipelines können Sie Ihre ML-Systeme serverlos automatisieren, überwachen und steuern. Dazu werden ML-Pipelines verwendet, um Ihre ML-Workflows zu orchestrieren. Sie können ML-Pipelines, die mit dem Kubeflow Pipelines- oder dem TensorFlow Extended-Framework (TFX) definiert wurden, im Batch ausführen. Informationen zum Auswählen eines Frameworks zum Definieren Ihrer ML-Pipeline finden Sie unter Schnittstellen zum Definieren einer Pipeline.
Auf dieser Seite finden Sie eine Übersicht über Folgendes:
Was ist eine ML-Pipeline?
Eine ML-Pipeline ist eine portable und erweiterbare Beschreibung eines MLOps-Workflows als Reihe von Schritten, die als Pipelineaufgaben bezeichnet werden. Jede Aufgabe führt einen bestimmten Schritt im Workflow zum Trainieren und Bereitstellen eines ML-Modells aus.
Mit ML-Pipelines können Sie MLOps-Strategien anwenden, um wiederholbare Prozesse in Ihrer ML-Praxis zu automatisieren und zu überwachen. Sie können beispielsweise eine Pipelinedefinition wiederverwenden, um ein Modell kontinuierlich mit den neuesten Produktionsdaten neu zu trainieren. Weitere Informationen zu MLOps in Vertex AI finden Sie unter MLOps in Vertex AI.
Struktur einer ML-Pipeline
Eine ML-Pipeline ist ein gerichteter azyklischer Graph (DAG) von containerisierten Pipelineaufgaben, die über Ein-/Ausgabeabhängigkeiten miteinander verbunden sind. Sie können jede Aufgabe entweder in Python oder als vorgefertigtes Container-Image erstellen.
Sie können die Pipeline als DAG mit dem Kubeflow Pipelines SDK oder dem TFX SDK definieren, sie in die YAML-Datei für die Zwischendarstellung kompilieren und dann die Pipeline ausführen. Pipelineaufgaben werden standardmäßig parallel ausgeführt. Sie können die Aufgaben verknüpfen, um sie nacheinander auszuführen. Weitere Informationen zu Pipelineaufgaben finden Sie unter Pipelineaufgabe. Weitere Informationen zum Workflow zum Definieren, Kompilieren und Ausführen der Pipeline finden Sie unter Lebenszyklus einer ML-Pipeline.
Pipeline-Aufgaben und -Komponenten
Eine Pipeline-Aufgabe ist eine Instanziierung einer Pipeline-Komponente mit bestimmten Eingaben. Beim Definieren Ihrer ML-Pipeline können Sie mehrere Aufgaben miteinander verknüpfen, um einen DAG zu bilden. Dazu leiten Sie die Ausgaben einer Pipeline-Aufgabe an die Eingaben für die nächste Pipeline-Aufgabe im ML-Workflow weiter. Sie können die Eingaben für die ML-Pipeline auch als Eingaben für eine Pipeline-Aufgabe verwenden.
Pipeline-Komponente
Eine Pipelinekomponente ist ein eigenständiger Codesatz, der einen bestimmten Schritt eines ML-Workflows ausführt, z. B. Datenvorverarbeitung, Modelltraining oder Modellbereitstellung. Eine Komponente besteht in der Regel aus Folgendem:
Eingaben: Eine Komponente kann einen oder mehrere Eingabeparameter und ‑Artefakte haben.
Ausgaben: Jede Komponente hat einen oder mehrere Ausgabeparameter oder ‑artefakte.
Logik: Dies ist der ausführbare Code der Komponente. Bei containerisierten Komponenten enthält die Logik auch die Definition der Umgebung oder des Container-Images, in dem die Komponente ausgeführt wird.
Komponenten sind die Grundlage für die Definition von Aufgaben in einer ML-Pipeline. Zum Definieren von Pipeline-Aufgaben können Sie entweder vordefinierte Google Cloud Pipeline-Komponenten verwenden oder eigene benutzerdefinierte Komponenten erstellen.
Vordefinierte Komponenten
Verwenden Sie vordefinierte Google Cloud Pipeline-Komponenten, wenn Sie Funktionen von Vertex AI wie AutoML in Ihrer Pipeline verwenden möchten. Informationen zum Definieren einer Pipeline mit Google Cloud Pipeline-Komponenten finden Sie unter Pipeline erstellen.
Benutzerdefinierte Komponenten
Sie können eigene benutzerdefinierte Komponenten erstellen, die Sie in Ihrer ML-Pipeline verwenden können. Weitere Informationen zum Erstellen benutzerdefinierter Komponenten finden Sie unter Eigene Pipelinekomponenten erstellen.
Informationen zum Erstellen benutzerdefinierter Kubeflow Pipelines-Komponenten finden Sie im Tutorial-Notebook auf GitHub "Pipelines mit einfachen Komponenten basierend auf Python-Funktionen". Informationen zum Erstellen benutzerdefinierter TFX-Komponenten finden Sie in der Anleitung zu TFX-Python-Funktionskomponenten in den Anleitungen zu TensorFlow Extended in der Produktion.
Pipelineaufgabe
Eine Pipelineaufgabe ist die Instanziierung einer Pipelinekomponente und führt einen bestimmten Schritt in Ihrem ML-Workflow aus. Sie können ML-Pipeline-Aufgaben entweder mit Python oder als vorgefertigte Container-Images erstellen.
Innerhalb einer Aufgabe können Sie die On-Demand-Rechenfunktionen von Vertex AI mit Kubernetes erweitern, um die Ausführung Ihres Codes skalierbar zu gestalten oder die Arbeitslast an eine andere Ausführungs-Engine wie BigQuery, Dataflow oder Dataproc serverlos zu delegieren.
Lebenszyklus einer ML-Pipeline
Der Lebenszyklus einer ML-Pipeline umfasst von der Definition über die Ausführung bis hin zum Monitoring die folgenden übergeordneten Phasen:
Definieren: Das Definieren einer ML-Pipeline und ihrer Aufgaben wird auch als Erstellen einer Pipeline bezeichnet. Führen Sie in diesem Abschnitt die folgenden Schritte aus:
ML-Framework auswählen: Vertex AI Pipelines unterstützt ML-Pipelines, die mit dem TFX- oder Kubeflow Pipelines-Framework definiert wurden. Informationen zum Auswählen eines Frameworks für die Erstellung Ihrer Pipeline finden Sie unter Schnittstellen zum Definieren einer Pipeline.
Pipeline-Aufgaben definieren und Pipeline konfigurieren: Weitere Informationen finden Sie unter Pipeline erstellen.
Kompilieren: In dieser Phase führen Sie die folgenden Schritte aus:
Generieren Sie die Definition Ihrer ML-Pipeline in einer kompilierten YAML-Datei für die Zwischenrepräsentation, die Sie zum Ausführen Ihrer ML-Pipeline verwenden können.
Optional: Sie können die kompilierte YAML-Datei als Pipelinevorlage in ein Repository hochladen und wiederverwenden, um ML-Pipeline-Ausführungen zu erstellen.
Ausführen: Erstellen Sie eine Ausführungsinstanz Ihrer ML-Pipeline mit der kompilierten YAML-Datei oder einer Pipelinevorlage. Die Ausführungsinstanz einer Pipeline-Definition wird als Pipeline-Ausführung bezeichnet.
Sie können eine einmalige Ausführung einer Pipeline erstellen oder die Scheduler API verwenden, um wiederkehrende Pipelineausführungen aus derselben ML-Pipeline-Definition zu erstellen. Sie können auch einer vorhandene Pipelineausführung klonen. Wie Sie eine Schnittstelle zum Ausführen einer ML-Pipeline auswählen, erfahren Sie unter Schnittstellen zum Ausführen einer Pipeline. Weitere Informationen zum Erstellen einer Pipelineausführung finden Sie unter Pipeline ausführen.
Ausführungen überwachen, visualisieren und analysieren: Nachdem Sie eine Pipelineausführung erstellt haben, können Sie die Leistung, den Status und die Kosten von Pipelineausführungen so überwachen:
E-Mail-Benachrichtigungen für Pipelinefehler konfigurieren Weitere Informationen finden Sie unter E‑Mail-Benachrichtigungen konfigurieren.
Mit Cloud Logging können Sie Logeinträge für Monitoring-Ereignisse erstellen. Weitere Informationen finden Sie unter Pipelinelog-Dateien ansehen.
Pipelineausführungen visualisieren, analysieren und vergleichen Weitere Informationen finden Sie unter Pipelineergebnisse visualisieren und analysieren.
Mit dem Cloud Billing-Export nach BigQuery können Sie die Kosten für Pipelineausführungen analysieren. Weitere Informationen finden Sie unter Kosten für Pipelineausführungen nachvollziehen.
Optional: Pipeline-Ausführungen beenden oder löschen: Es gibt keine Einschränkung, wie lange Sie eine Pipeline-Ausführung aktiv lassen können. Optional können Sie Folgendes tun:
Pipelineausführung beenden
Sie können einen Pipeline-Ausführungsplan pausieren oder fortsetzen.
Löschen Sie eine vorhandene Pipelinevorlage, Pipelineausführung oder einen Zeitplan für die Pipelineausführung.
Was ist eine Pipelineausführung?
Eine Pipeline-Ausführung ist eine Ausführungsinstanz Ihrer ML-Pipeline-Definition. Jede Pipelineausführung wird durch einen eindeutigen Ausführungsnamen identifiziert. Mit Vertex AI Pipelines können Sie eine ML-Pipelineausführung auf folgende Arten erstellen:
Kompilierte YAML-Definition einer Pipeline verwenden
Pipelinevorlage aus der Vorlagengalerie verwenden
Weitere Informationen zum Erstellen einer Pipelineausführung finden Sie unter Pipeline ausführen. Weitere Informationen zum Erstellen einer Pipelineausführung aus einer Pipelinevorlage, finden Sie unter Pipelinevorlage erstellen, hochladen und verwenden.
Informationen zum Erfassen und Speichern von Metadaten für Pipelineausführungen mit Vertex ML Metadata finden Sie unter Vertex ML Metadata zum Nachverfolgen der Herkunft von ML-Artefakten verwenden.
Informationen zum Verwenden von Pipelineausführungen zum Testen Ihres ML-Workflows mit Vertex AI Experiments finden Sie unter Pipelineausführungen Tests hinzufügen.
Herkunft von ML-Artefakten verfolgen
Eine Pipeline-Ausführung enthält mehrere Artefakte und Parameter, einschließlich Pipeline-Metadaten. Um Änderungen der Leistung oder Accuracy Ihres ML-Systems zu verstehen, müssen Sie die Metadaten und die Herkunft von ML-Artefakten aus Ihren ML-Pipelineausführungen analysieren. Die Abstammung eines ML-Artefakts umfasst alle Faktoren, die zu seiner Erstellung beigetragen haben, sowie Metadaten und Verweise auf aus ihm abgeleitete Artefakte.
Mithilfe von Herkunftsgrafiken können Sie die vorgelagerte Ursache und die nachgelagerte Auswirkung analysieren. Jede Pipelineausführung erzeugt ein Herkunftsdiagramm der Parameter und Artefakte, die in die Ausführung eingegeben werden, während der Ausführung materialisiert und von der Ausführung ausgegeben werden. Die Metadaten, aus denen dieses Herkunftsdiagramm besteht, werden in Vertex ML Metadata gespeichert. Diese Metadaten können auch mit Dataplex Universal Catalog synchronisiert werden.
Vertex ML Metadata verwenden, um die Herkunft von Pipeline-Artefakten zu verfolgen
Wenn Sie eine Pipeline mit Vertex AI Pipelines ausführen, werden alle Parameter und Artefaktmetadaten, die von der Pipeline verwendet und generiert werden, in Vertex ML Metadata gespeichert. Vertex ML Metadata ist eine verwaltete Implementierung der ML Metadata-Bibliothek in TensorFlow und unterstützt das Registrieren und Schreiben benutzerdefinierter Metadatenschemas. Wenn Sie eine Pipelineausführung in Vertex AI Pipelines erstellen, werden Metadaten aus der Pipelineausführung im Standardmetadatenspeicher für das Projekt und die Region gespeichert, in der Sie die Pipeline ausführen.
Dataplex Universal Catalog verwenden, um die Herkunft von Pipeline-Artefakten zu verfolgen
Dataplex Universal Catalog ist ein globaler und projektübergreifender Daten-Fabric, der in mehrere Systeme innerhalb von Google Cloudeingebunden ist, z. B. Vertex AI, BigQuery und Cloud Composer. In Dataplex Universal Catalog können Sie nach einem Pipeline-Artefakt suchen und das zugehörige Herkunftsdiagramm aufrufen. Um Konflikte mit Artefakten zu vermeiden, wird jede im Dataplex Universal Catalog katalogisierte Ressource mit einem voll qualifizierten Namen (Fully Qualified Name, FQN) identifiziert.
Informationen zu den Nutzungskosten von Dataplex Universal Catalog
Weitere Informationen zum Verfolgen der Herkunft von ML-Artefakten mit Vertex ML Metadata und Dataplex Universal Catalog finden Sie unter Herkunft von Pipeline-Artefakten verfolgen.
Weitere Informationen zum Visualisieren, Analysieren und Vergleichen von Pipelineausführungen finden Sie unter Pipelineergebnisse visualisieren und analysieren. Eine Liste der proprietären Artefakttypen, die in Google Cloud Pipeline Components definiert sind, finden Sie unter ML-Metadaten-Artefakttypen.
Pipelineausführungen zu Tests hinzufügen
Mit Vertex AI Experiments können Sie verschiedene Modellarchitekturen, Hyperparameter und Trainingsumgebungen verfolgen und analysieren, um das beste Modell für Ihren ML-Anwendungsfall zu finden. Nachdem Sie eine ML-Pipeline-Ausführung erstellt haben, können Sie sie einem Test oder einer Testausführung zuordnen. So können Sie mit verschiedenen Variablengruppen experimentieren, z. B. mit Hyperparametern, der Anzahl der Trainingsschritte oder Iterationen.
Weitere Informationen zum Testen von ML-Workflows mit Vertex AI Experiments finden Sie unter Einführung in Vertex AI Experiments.
Nächste Schritte
Schnittstellen, mit denen Sie Pipelines mit Vertex AI Pipelines definieren und ausführen können
Hier erfahren Sie, wie Sie eine Pipeline mit dem Kubeflow Pipelines SDK definieren.
Best Practices für die Implementierung benutzerdefinierter ML-Modelle in Vertex AI