Einführung in Vertex AI Pipelines

Mit Vertex AI Pipelines können Sie Ihre ML-Systeme serverlos automatisieren, überwachen und steuern. Dazu werden Ihre ML-Workflows mithilfe von ML-Pipelines orchestriert. Sie können ML-Pipelines, die mit dem Kubeflow Pipelines- oder dem TensorFlow Extended (TFX)-Framework definiert wurden, im Batch ausführen. Informationen zum Auswählen eines Frameworks zum Definieren Ihrer ML-Pipeline finden Sie unter Interfaces 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/oder 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) aus containerisierten Pipelineaufgaben, die über Eingabe-/Ausgabeabhängigkeiten miteinander verbunden sind. Sie können jede Aufgabe entweder in Python oder als vorkonfiguriertes Container-Image erstellen.

Sie können die Pipeline entweder mit dem Kubeflow Pipelines SDK oder dem TFX SDK als DAG definieren, sie in YAML für die Zwischendarstellung kompilieren und dann ausführen. Standardmäßig werden Pipelineaufgaben 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 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 der nächsten 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 Code-Block, der einen bestimmten Schritt eines ML-Workflows ausführt, z. B. Datenvorverarbeitung, Modelltraining oder Modellbereitstellung. Eine Komponente besteht in der Regel aus folgenden Elementen:

  • 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 bzw. dem die Komponente ausgeführt wird.

Komponenten sind die Grundlage für die Definition von Aufgaben in einer ML-Pipeline. Sie können zum Definieren von Pipelineaufgaben entweder vordefinierte Google Cloud-Pipelinekomponenten 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 für Ihre ML-Pipeline erstellen. Weitere Informationen zum Erstellen benutzerdefinierter Komponenten finden Sie unter Eigene Pipeline-Komponenten 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 für TFX-Python-Funktionskomponenten in den Anleitungen zu TensorFlow Extended in der Produktion.

Pipelineaufgabe

Eine Pipeline-Aufgabe 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 Dataproc serverlos zu delegieren.

Lebenszyklus einer ML-Pipeline

Der Lebenszyklus einer ML-Pipeline umfasst von der Definition bis zur Ausführung und Überwachung die folgenden übergeordneten Phasen:

  1. 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:

    1. 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 Interfaces zum Definieren einer Pipeline.

    2. Pipelineaufgaben definieren und Pipeline konfigurieren: Weitere Informationen finden Sie unter Pipeline erstellen.

  2. Kompilieren: Führen Sie in dieser Phase die folgenden Schritte aus:

    1. Generieren Sie die Definition Ihrer ML-Pipeline in einer kompilierten YAML-Datei für die Zwischendarstellung, die Sie zum Ausführen Ihrer ML-Pipeline verwenden können.

    2. Optional: Sie können die kompilierte YAML-Datei als Pipeline-Vorlage in ein Repository hochladen und wiederverwenden, um ML-Pipeline-Ausführungen zu erstellen.

  3. Ausführen: Erstellen Sie eine Ausführungsinstanz Ihrer ML-Pipeline mit der kompilierten YAML-Datei oder einer Pipeline-Vorlage. Die Ausführungsinstanz einer Pipeline-Definition wird als Pipeline-Lauf bezeichnet.

    Sie können eine einmalige Pipelineausführung erstellen oder mit der Scheduler API wiederkehrende Pipelineausführungen aus derselben ML-Pipelinedefinition erstellen. Sie können auch einen vorhandenen Pipelinelauf klonen. Informationen zum Auswählen einer Benutzeroberfläche zum Ausführen einer ML-Pipeline finden Sie unter Benutzeroberflächen zum Ausführen einer Pipeline. Weitere Informationen zum Erstellen einer Pipelineausführung finden Sie unter Pipeline ausführen.

  4. Ausführungen überwachen, visualisieren und analysieren: Nachdem Sie eine Pipelineausführung erstellt haben, können Sie die Leistung, den Status und die Kosten der Pipelineausführungen so überwachen:

  5. Optional: Pipelineausführungen beenden oder löschen: Es gibt keine Einschränkung, wie lange eine Pipelineausführung aktiv bleiben kann. Sie haben folgende Möglichkeiten:

    • Beenden Sie die Pipelineausführung.

    • Sie können einen Pipeline-Ausführungsplan pausieren oder fortsetzen.

    • Löschen Sie eine vorhandene Pipelinevorlage, Pipelineausführung oder einen Zeitplan für Pipelineausführungen.

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 auf folgende Arten ausführen:

  • 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 Herkunft von ML-Artefakten mit Vertex ML-Metadaten verfolgen.

Informationen zur Verwendung von Pipelineausführungen für Tests 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.

Mithilfe von Lineage-Grafiken 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 synchronisiert werden.

  • Herkunft von Pipeline-Artefakten mit Vertex ML Metadata 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 Library in TensorFlow und unterstützt das Registrieren und Schreiben benutzerdefinierter Metadatenschemata. 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.

  • Herkunft von Pipeline-Artefakten mit Dataplex verfolgen

    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 sich das zugehörige Herkunftsdiagramm ansehen. Um Artefaktkonflikte zu vermeiden, werden alle in Dataplex katalogisierten Ressourcen mit einem voll qualifizierten Namen (Fully Qualified Name, FQN) identifiziert.

    Weitere Informationen zu den Kosten für die Nutzung von Dataplex

Weitere Informationen zum Erfassen 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 Artefakttypen von Drittanbietern finden Sie unter ML-Metadaten-Artefakttypen.

Tests Pipelineausführungen hinzufügen

Mit Vertex AI Experiments können Sie verschiedene Modellarchitekturen, Hyperparameter und Trainingsumgebungen verfolgen und analysieren, um das beste Modell für Ihren Anwendungsfall zu finden. Nachdem Sie eine ML-Pipelineausführung erstellt haben, können Sie sie mit einem Test oder einer Testausführung verknüpfen. So können Sie mit verschiedenen Variablen experimentieren, z. B. mit Hyperparametern, der Anzahl der Trainingsschritte oder Iterationen.

Weitere Informationen zu Tests mit ML-Workflows mit Vertex AI Experiments finden Sie unter Einführung in Vertex AI Experiments.

Nächste Schritte