Vertex AI Pipelines ermöglicht es Ihnen, Ihre ML-Systeme serverlos zu automatisieren, zu überwachen und zu steuern. Dazu verwenden Sie ML-Pipelines zur Orchestrierung Ihrer ML-Workflows. Sie können ML-Pipelines, die mit den Kubeflow Pipelines (Kubeflow Pipelines) oder dem TensorFlow Extended-Framework (TFX) definiert sind, im Batch ausführen. Informationen zum Auswählen eines Frameworks zum Definieren Ihrer ML-Pipeline finden Sie unter Schnittstellen zum Definieren einer Pipeline.
Diese Seite bietet eine Übersicht über Folgendes:
Was ist eine ML-Pipeline?
Eine ML-Pipeline ist eine portable und erweiterbare Beschreibung eines MLOps-Workflows als eine Reihe von Schritten, die als Pipelineaufgaben bezeichnet werden. Jede Aufgabe führt einen bestimmten Schritt im Workflow aus, um ein ML-Modell zu trainieren und/oder bereitzustellen.
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 mit den neuesten Produktionsdaten kontinuierlich 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 Eingabe-Ausgabe-Abhängigkeiten miteinander verbunden sind. Sie können jede Aufgabe entweder in Python oder als vordefinierte Container-Images erstellen.
Sie können die Pipeline als DAG mit dem Kubeflow Pipelines SDK oder dem TFX SDK definieren, sie für ihre Zwischendarstellung in ihre YAML-Datei kompilieren und dann die Pipeline ausführen. Pipelineaufgaben werden standardmäßig parallel ausgeführt. Sie können die Aufgaben verknüpfen, um sie der Reihe nach 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.
Pipelineaufgaben und -komponenten
Eine Pipelineaufgabe ist eine Instanziierung einer Pipelinekomponente mit bestimmten Eingaben. Beim Definieren der ML-Pipeline können Sie mehrere Aufgaben miteinander verbinden, um einen DAG zu erstellen. Dazu leiten Sie die Ausgaben einer Pipelineaufgabe an die Eingaben für die nächste Pipelineaufgabe im ML-Workflow weiter. Sie können die Eingaben für die ML-Pipeline auch als Eingaben für eine Pipelineaufgabe verwenden.
Pipeline-Komponente
Eine Pipeline-Komponente ist ein eigenständiger Satz Code, der einen bestimmten Schritt eines ML-Workflows ausführt, z. B. Datenvorverarbeitung, Modelltraining oder Modellbereitstellung. Eine Komponente besteht in der Regel aus folgenden Komponenten:
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 der die Komponente ausgeführt wird.
Komponenten sind die Grundlage für das Definieren von Aufgaben in einer ML-Pipeline. Zum Definieren von Pipelineaufgaben 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 Features 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. Weitere Informationen zum Erstellen benutzerdefinierter Komponenten finden Sie unter Eigene Pipelinekomponenten erstellen.
Informationen zum Erstellen benutzerdefinierter Kubeflow Pipelines-Komponenten finden Sie im Jupyter-Notebook auf GitHub "Pipelines mit einfachen Komponenten basierend auf Python-Funktionen". Informationen zum Erstellen benutzerdefinierter TFX-Komponenten finden Sie in der Anleitung zur TFX-Python-Funktionskomponente in den TensorFlow Extended in Production-Anleitungen.
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 mithilfe von Python oder als vordefinierte 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
Von der Definition über die Ausführung und das Monitoring umfasst der Lebenszyklus einer ML-Pipeline die folgenden übergeordneten Phasen:
Definieren: Das Definieren einer ML-Pipeline und ihrer Aufgabe 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 sind. Informationen zum Auswählen eines Frameworks zum Erstellen Ihrer Pipeline finden Sie unter Schnittstellen zum Definieren einer Pipeline.
Pipelineaufgaben definieren und Pipeline konfigurieren: Weitere Informationen finden Sie unter Pipeline erstellen.
Kompilierung: In diesem Stadium müssen Sie folgende Schritte ausführen:
Generieren Sie die ML-Pipelinedefinition in einer kompilierten YAML-Datei zur Zwischendarstellung, mit der Sie die ML-Pipeline ausführen können.
Optional: Sie können die kompilierte YAML-Datei als Pipelinevorlage in ein Repository hochladen und sie zum Erstellen von ML-Pipelineausführungen wiederverwenden.
Ausführen: Erstellen Sie eine Ausführungsinstanz Ihrer ML-Pipeline mit der kompilierten YAML-Datei oder einer Pipelinevorlage. Die Ausführungsinstanz einer Pipelinedefinition wird als Pipelineausführung bezeichnet.
Sie können eine Pipelineausführung einmal ausführen oder den Vertex AI Scheduler verwenden, um wiederkehrende Pipelineausführungen aus derselben ML-Pipelinedefinition zu erstellen. Sie können auch eine vorhandene Pipelineausführung klonen. Informationen zum Auswählen einer Schnittstelle zum Ausführen einer ML-Pipeline finden Sie unter Schnittstellen zum Ausführen einer Pipeline. Weitere Informationen zum Erstellen einer Pipeline-Ausführung finden Sie unter Pipeline-Ausführung.
Ausführungen überwachen, visualisieren und analysieren: Nachdem Sie eine Pipelineausführung erstellt haben, können Sie so die Leistung, den Status und die Kosten von Pipelineausführungen überwachen:
E-Mail-Benachrichtigungen für Pipelinefehler konfigurieren Weitere Informationen finden Sie unter E-Mail-Benachrichtigungen konfigurieren.
Erstellen Sie mit Cloud Logging Logeinträge für Monitoring-Ereignisse. Weitere Informationen finden Sie unter Pipeline-Joblogs ansehen.
Pipelineausführungen visualisieren, analysieren und vergleichen Weitere Informationen finden Sie unter Pipelineergebnisse visualisieren und analysieren.
Verwenden Sie den Cloud Billing-Export nach BigQuery, um die Kosten für die Pipelineausführung zu analysieren. Weitere Informationen finden Sie unter Informationen zu den Kosten für die Pipeline-Ausführung.
Optional: Pipelineausführungen beenden oder löschen: Es gibt keine Beschränkung dafür, wie lange eine Pipeline ausgeführt werden kann. Optional ist Folgendes möglich:
Beenden Sie eine Pipelineausführung.
Zeitplan für die Pipelineausführung pausieren oder fortsetzen.
Löschen Sie eine vorhandene Pipelinevorlage, Pipelineausführung oder Pipeline-Ausführungspläne.
Was ist eine Pipelineausführung?
Eine Pipelineausführung ist eine Ausführungsinstanz Ihrer ML-Pipelinedefinition. Jede Pipelineausführung wird durch einen eindeutigen Ausführungsnamen identifiziert. Mit Vertex AI Pipelines können Sie eine ML-Pipeline so erstellen:
Kompilierte YAML-Definition einer Pipeline verwenden
Pipelinevorlage aus der Vorlagengalerie verwenden
Weitere Informationen zum Erstellen einer Pipeline-Ausfü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 Pipeline-Ausführungsmetadaten mit Vertex ML-Metadaten finden Sie unter Vertex ML-Metadaten verwenden, um die Herkunft von ML-Artefakten zu verfolgen.
Informationen zur Verwendung von Pipeline-Ausführungen zum Testen Ihres ML-Workflows mit Vertex AI Experiments finden Sie unter Pipelineausführungen zu Tests hinzufügen.
Herkunft von ML-Artefakten verfolgen
Eine Pipelineausführung enthält mehrere Artefakte und Parameter, einschließlich Pipeline-Metadaten. Um Änderungen der Leistung oder Genauigkeit 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.
Mit Herkunftsdiagrammen können Sie die vorgelagerten Ursachen und die nachgelagerten Auswirkungen 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. Metadaten, aus denen dieses Herkunftsdiagramm besteht, werden in Vertex ML Metadata gespeichert. Diese Metadaten können auch mit Dataplex synchronisiert werden.
Vertex ML Metadata verwenden, um die Herkunft des Pipeline-Artefakts zu verfolgen
Wenn Sie eine Pipeline mit Vertex AI Pipelines ausführen, werden alle von der Pipeline genutzten und generierten Parameter und Artefaktmetadaten in Vertex ML Metadata gespeichert. Vertex ML Metadata ist eine verwaltete Implementierung der ML-Metadatenbibliothek in TensorFlow und unterstützt die Registrierung und das 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 verwenden, um die Herkunft des Pipeline-Artefakts zu verfolgen (Vorschau)
Dataplex ist eine globale und projektübergreifende Datenstruktur, die in mehrere Systeme in Google Cloud eingebunden ist, z. B. Vertex AI, BigQuery und Cloud Composer. In Dataplex können Sie nach einem Pipeline-Artefakt suchen und dessen Herkunftsdiagramm ansehen. Beachten Sie, dass zur Vermeidung von Artefaktkonflikten alle in Dataplex katalogisierten Ressourcen mit einem voll qualifizierten Namen (FQN) identifiziert werden.
Weitere Informationen zum Verfolgen der Herkunft von ML-Artefakten mit Vertex ML Metadata und Dataplex 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 in Google Cloud-Pipeline-Komponenten definierten eigenen Artefakttypen finden Sie unter ML-Metadatenartefakte.
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-Pipelineausführung erstellt haben, können Sie sie mit einem Test oder Testlauf verknüpfen. Dadurch können Sie mit verschiedenen Variablen wie Hyperparametern, der Anzahl der Trainingsschritte oder Iterationen experimentieren.
Weitere Informationen zum Experimentieren mit ML-Workflows mit Vertex AI Experiments finden Sie unter Einführung in Vertex AI Experiments.
Nächste Schritte
Zuerst lernen Sie, wie Sie mit dem Kubeflow Pipelines SDK eine Pipeline definieren.
Best Practices für die Implementierung benutzerdefinierter ML-Modelle in Vertex AI