Einführung in Vertex AI Pipelines

Mit Vertex AI Pipelines können Sie Ihre ML-Systeme serverlos automatisieren, überwachen und steuern. Verwenden Sie dazu 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-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 folgende Phasen: von der Definition über die Ausführung bis hin zum Monitoring.

  1. Definieren: Der Prozess, mit dem eine ML-Pipeline und ihre Aufgabe definiert werden, 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 sind. Informationen zum Auswählen eines Frameworks zum Erstellen Ihrer Pipeline finden Sie unter Schnittstellen zum Definieren einer Pipeline.

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

  2. Kompilierung: In diesem Stadium müssen Sie folgende Schritte ausführen:

    1. Generieren Sie die ML-Pipelinedefinition in einer kompilierten YAML-Datei zur Zwischendarstellung, mit der Sie die ML-Pipeline ausführen können.

    2. Optional: Sie können die kompilierte YAML-Datei als Pipelinevorlage in ein Repository hochladen und sie zum Erstellen von ML-Pipelineausführungen wiederverwenden.

  3. 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.

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

  5. 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 Pipeline, die aus einer Pipelinevorlage ausgeführt wird, finden Sie unter Pipelinevorlage erstellen, hochladen und verwenden.

Informationen zum Tracking und Speichern von Pipeline-Ausführungsartefakten und Metadaten mit Vertex ML Metadata finden Sie unter Vertex ML Metadata verwenden, um die Herkunft von ML-Artefakten zu verfolgen.

Informationen zur Verwendung von Pipelineausführungen zum Testen Ihres ML-Workflows mit Vertex AI Experiments finden Sie unter Pipelineausführungen zu Tests hinzufügen.

Vertex ML Metadata verwenden, um die Herkunft von ML-Artefakten zu 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 Herkunft eines ML-Artefakts umfasst alle Faktoren, die zu seiner Erstellung beigetragen haben, sowie die Artefakte und Metadaten, die davon abgeleitet werden.

Die Verwaltung dieser Metadaten auf Ad-hoc-Basis kann schwierig und zeitaufwendig sein. Sie können Vertex ML Metadata verwenden, um diese Metadaten effizient zu verwalten. Wenn Sie eine ML-Pipeline mit Vertex AI Pipelines ausführen, werden die Artefakte und Metadaten aus der Pipeline-Ausführung mithilfe von Vertex ML Metadata gespeichert.

Weitere Informationen zum Verfolgen der Herkunft von ML-Artefakten mit Vertex ML Metadata 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