Mit Vertex AI Pipelines können Sie Ihre ML-Systeme (Machine Learning) serverlos automatisieren, überwachen und steuern. Dazu werden Ihre ML-Workflows mithilfe von ML-Pipelines orchestriert. Sie können ML-Pipelines, die mit Kubeflow Pipelines oder TensorFlow Extended (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 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 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 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 Container-Pipelineaufgaben, die über Eingabe-/Ausgabeabhä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 in YAML für die Zwischenrepräsentation 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.
Pipelineaufgaben und -komponenten
Eine Pipelineaufgabe ist eine Instanziierung einer Pipelinekomponente mit spezifischen 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 auch die Eingaben für die ML-Pipeline als Eingaben für eine Pipelineaufgabe 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 Containerkomponenten 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 die Definition von Aufgaben in einer ML-Pipeline. Zum Definieren von Pipelineaufgaben können Sie entweder vordefinierte Google Cloud Pipelinekomponenten verwenden oder eigene benutzerdefinierte Komponenten erstellen.
Vordefinierte Komponenten
Verwenden Sie vordefinierte Google Cloud Pipelinekomponenten, wenn Sie Funktionen von Vertex AI wie AutoML in Ihrer Pipeline verwenden möchten. Informationen zum Definieren einer Pipeline mit Google Cloud Pipelinekomponenten 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 "Pipelines with lightweight components based on Python functions" Tutorial-Notebook auf GitHub. Informationen zum Erstellen benutzerdefinierter TFX Komponenten finden Sie im Tutorial zu TFX-Python-Funktionskomponenten in den Tutorials 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-Pipelineaufgaben entweder mit 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 Managed Service for Apache Spark zu delegieren.
Lebenszyklus einer ML-Pipeline
Von der Definition über die Ausführung bis hin zur Überwachung umfasst der Lebenszyklus einer ML-Pipeline die folgenden übergeordneten Phasen:
Definieren: Der Prozess des Definierens 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.
Pipelineaufgaben definieren und Pipeline konfigurieren: Weitere Informationen finden Sie unter Pipeline erstellen.
Kompilieren: In dieser Phase führen Sie die folgenden Schritte aus:
Generieren Sie Ihre ML-Pipelinedefinition in einer kompilierten YAML-Datei für die Zwischenrepräsentation, mit der Sie Ihre ML-Pipeline ausführen können.
Optional: Sie können die kompilierte YAML-Datei als Pipelinevorlage in ein Repository hochladen und sie wiederverwenden, um ML-Pipelineausfü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 Pipelineausführung erstellen oder die Scheduler API verwenden, um wiederkehrende Pipelineausführungen aus derselben ML-Pipelinedefinition 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 Folgendes tun, um die Leistung, den Status und die Kosten von Pipelineausführungen zu überwachen:
E‑Mail-Benachrichtigungen für Pipelinefehler konfigurieren. Weitere Informationen finden Sie unter E‑Mail-Benachrichtigungen konfigurieren.
Mit Cloud Logging Logeinträge für Überwachungsereignisse erstellen. Weitere Informationen finden Sie unter Pipelinejoblogs ansehen.
Pipelineausführungen visualisieren, analysieren und vergleichen. Weitere Informationen finden Sie unter Pipelineergebnisse visualisieren und analysieren.
Mit dem Cloud Billing-Export nach BigQuery die Kosten für Pipelineausführungen analysieren. Weitere Informationen finden Sie unter Kosten für Pipelineausführungen nachvollziehen.
Optional: Pipelineausführungen beenden oder löschen: Es gibt keine Beschränkung für die Dauer, für die Sie eine Pipelineausführung aktiv halten können. Optional können Sie Folgendes tun:
Eine Pipelineausführung beenden.
Einen Zeitplan für Pipelineausführungen pausieren oder fortsetzen.
Eine vorhandene Pipelinevorlage, Pipelineausführung oder einen Zeitplan für Pipelineausführungen löschen.
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-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 Mit Vertex ML Metadata die Herkunft von ML-Artefakten verfolgen.
Informationen zum Verwenden von Pipelineausführungen, um mit Ihrem ML-Workflow mithilfe von Vertex AI Experiments zu experimentieren, 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 Pipelinemetadaten. 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. Metadaten, aus denen dieses Herkunftsdiagramm besteht, werden in Vertex ML Metadata gespeichert. Diese Metadaten können auch mit Knowledge Catalog synchronisiert werden.
Mit Vertex ML Metadata die Herkunft von Pipelineartefakten 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.
Mit Knowledge Catalog die Herkunft von Pipelineartefakten verfolgen
Knowledge Catalog ist eine globale und projektübergreifende Datenstruktur, die in mehrere Systeme eingebunden ist Google Cloud, z. B. Vertex AI, BigQuery und Managed Service for Apache Airflow. In Knowledge Catalog können Sie nach einem Pipelineartefakt suchen und dessen Herkunftsdiagramm ansehen. Um Artefaktkonflikte zu vermeiden, wird jede in Knowledge Catalog katalogisierte Ressource mit einem voll qualifizierten Namen (Fully Qualified Name, FQN) identifiziert.
Weitere Informationen zum Verfolgen der Herkunft von ML-Artefakten mit Vertex ML Metadata und Knowledge Catalog finden Sie unter Herkunft von Pipeline artefakten verfolgen.
Weitere Informationen zum Visualisieren, Analysieren und Vergleichen von Pipelineausführungen, siehe Pipelineergebnisse visualisieren und analysieren. Eine Liste der proprietären Artefakttypen, die in Google Cloud Pipelinekomponenten definiert sind, finden Sie unter ML-Metadatenartefakttypen.
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 einem Test oder Testlauf zuordnen. So können Sie mit verschiedenen Variablensätzen experimentieren, z. B. mit Hyperparametern, der Anzahl der Trainingsschritte oder Iterationen.
Weitere Informationen zum Experimentieren mit ML-Workflows mit Vertex AI Experiments finden Sie unter Einführung in Vertex AI Experiments.
Nächste Schritte
Informationen zu den Schnittstellen, mit denen Sie Pipelines mit Vertex AI Pipelines definieren und ausführen können.
Erste Schritte zum Definieren einer Pipeline mit dem Kubeflow Pipelines SDK.
Best Practices für die Implementierung benutzerdefinierter ML-Modelle in Vertex AI