Zur Orchestrierung komplexer Workflows für maschinelles Lernen können Sie Frameworks erstellen, die Schritte zur Vor-/Nachverarbeitung von Daten enthalten. Möglicherweise müssen Sie Daten vorverarbeiten, bevor Sie sie zum Trainieren Ihres Modells verwenden können, oder Daten nachbearbeiten, um die Ausgabe Ihres Modells zu transformieren.
ML-Workflows enthalten häufig viele Schritte, die zusammen eine Pipeline bilden. Für die Erstellung Ihrer Pipeline für maschinelles Lernen können Sie eine der folgenden Methoden verwenden.
- Verwenden Sie ein Orchestrierungs-Framework mit integrierter Einbindung in Apache Beam und den Dataflow-Runner, z. B. TensorFlow Extended (TFX) oder Kubeflow Pipelines (KFP). Diese Option ist am einfachsten.
- Erstellen Sie eine benutzerdefinierte Komponente in einer Dataflow-Vorlage und rufen Sie die Vorlage dann aus Ihrer ML-Pipeline auf. Der Aufruf enthält Ihren Apache Beam-Code.
- Erstellen Sie eine benutzerdefinierte Komponente für Ihre ML-Pipeline und fügen Sie den Python-Code direkt in die Komponente ein. Sie definieren eine benutzerdefinierte Apache Beam-Pipeline und verwenden den Dataflow-Runner in der benutzerdefinierten Komponente. Diese Option ist die komplexeste und erfordert das Verwalten von Pipelineabhängigkeiten.
Nachdem Sie Ihre Pipeline für maschinelles Lernen erstellt haben, können Sie mit einem Orchestrator die Komponenten zu einem End-to-End-Workflow für maschinelles Lernen zusammenführen. Sie können einen verwalteten Dienst wie Vertex AI Pipelines verwenden, um die Komponenten zu orchestrieren.
Anwendungsfälle für die Workflow-Orchestrierung werden in den folgenden Abschnitten beschrieben.
- Ich möchte Dataflow mit Vertex AI Pipelines verwenden
- Ich möchte Dataflow mit KFP verwenden
- Ich möchte Dataflow mit TFX verwenden
Sowohl TFX als auch Kubeflow Pipelines (KFP) verwenden Apache Beam-Komponenten.
Ich möchte Dataflow mit Vertex AI Pipelines verwenden
Vertex AI Pipelines ermöglicht es Ihnen, Ihre ML-Systeme zu automatisieren, zu überwachen und zu steuern. Dazu werden Ihre ML-Workflows serverlos orchestriert. Mit Vertex AI Pipelines können Sie gerichtete azyklische Graphen-Workflows (Directed Acyclic Graphs, DAGs) orchestrieren, die entweder von TFX oder KFP definiert werden, und Ihre ML-Artefakte automatisch mit Vertex ML Metadata verfolgen. In den folgenden Abschnitten erfahren Sie, wie Sie Dataflow mit TFX und KFP einbinden.
Ich möchte Dataflow mit Kubeflow Pipelines verwenden
Kubeflow ist ein ML-Toolkit zum einfachen, portablen und skalierbaren Bereitstellen von ML-Workflows auf Kubernetes. Kubeflow Pipelines sind wiederverwendbare End-to-End-ML-Workflows, die mit dem Kubeflow Pipelines SDK erstellt wurden.
Der Kubeflow Pipelines-Dienst soll eine End-to-End-Orchestrierung bieten und Tests und die Wiederverwendung erleichtern. Mit KFP können Sie mit Orchestrierungstechniken experimentieren und Ihre Tests verwalten. Außerdem können Sie Komponenten und Pipelines wiederverwenden, um mehrere End-to-End-Lösungen zu erstellen, ohne jedes Mal von vorn beginnen zu müssen.
Wenn Sie Dataflow mit KFP verwenden, können Sie den Operator DataflowPythonJobOP
oder den Operator DataflowFlexTemplateJobOp
verwenden. Sie können auch eine vollständig benutzerdefinierte Komponente erstellen. Wir empfehlen, den Operator DataflowPythonJobOP
zu verwenden.
Wenn Sie eine vollständig benutzerdefinierte Komponente erstellen möchten, lesen Sie den Hilfeartikel Dataflow-Komponenten in der Vertex AI-Dokumentation.
Ich möchte Dataflow mit TFX verwenden
TFX-Pipeline-Komponenten basieren auf TFX-Bibliotheken und die Datenverarbeitungsbibliotheken verwenden Apache Beam direkt. Beispielsweise übersetzt TensorFlow Transform die Aufrufe des Nutzers nach Apache Beam. Daher können Sie Apache Beam und Dataflow mit TFX-Pipelines verwenden, ohne zusätzliche Konfigurationsarbeiten ausführen zu müssen. Wenn Sie TFX mit Dataflow verwenden möchten, verwenden Sie beim Erstellen Ihrer TFX-Pipeline den Dataflow-Ausführer. Weitere Informationen finden Sie in den folgenden Ressourcen:
- Apache Beam und TFX
- TensorFlow Extended (TFX): Apache Beam für die groß angelegte Datenverarbeitung verwenden