Dataflow ML in ML-Workflows

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 nachverarbeiten, um die Ausgabe Ihres Modells zu transformieren.

ML-Workflows enthalten häufig viele Schritte, die zusammen eine Pipeline bilden. Zum Erstellen Ihrer ML-Pipeline haben Sie folgende Möglichkeiten:

  • 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 die am wenigsten komplexe.
  • 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, dass Sie Pipelineabhängigkeiten verwalten.

Nachdem Sie Ihre ML-Pipeline erstellt haben, können Sie einen Orchestrator verwenden, um die Komponenten zu verketten und einen End-to-End-ML-Workflow zu erstellen. Zum Orchestrieren der Komponenten können Sie einen verwalteten Dienst wie Gemini Enterprise Agent Platform Pipelines verwenden.

ML-Beschleuniger verwenden

Für ML-Workflows mit rechenintensiver Datenverarbeitung, z. B. Inferenz mit großen Modellen, können Sie Beschleuniger mit Dataflow-Workern verwenden. Dataflow unterstützt sowohl GPUs als auch TPUs.

GPUs

Sie können NVIDIA-GPUs mit Dataflow-Jobs verwenden, um die Verarbeitung zu beschleunigen. Dataflow unterstützt verschiedene NVIDIA-GPU-Typen, darunter T4, L4, A100, H100 und V100. Wenn Sie GPUs verwenden möchten, müssen Sie Ihre Pipeline mit einem benutzerdefinierten Container-Image konfigurieren, auf dem die erforderlichen GPU-Treiber und -Bibliotheken installiert sind.

Ausführliche Informationen zur Verwendung von GPUs mit Dataflow finden Sie unter Dataflow-Unterstützung für GPUs.

TPUs

Dataflow unterstützt auch Cloud TPUs, die von Google entwickelten KI-Beschleuniger, die für große KI-Modelle optimiert sind. TPUs können eine gute Wahl sein, um Inferenzarbeitslasten in Frameworks wie PyTorch, JAX und TensorFlow zu beschleunigen. Dataflow unterstützt TPU-Konfigurationen mit einem einzelnen Host, bei denen jeder Worker ein oder mehrere TPU-Geräte verwaltet.

Weitere Informationen finden Sie unter Dataflow-Unterstützung für TPUs.

Workflow-Orchestrierung

Anwendungsfälle für die Workflow-Orchestrierung werden in den folgenden Abschnitten beschrieben.

Sowohl TFX als auch Kubeflow Pipelines (KFP) verwenden Apache Beam-Komponenten.

Ich möchte Dataflow mit Agent Platform Pipelines verwenden

Agent Platform Pipelines ermöglichen es Ihnen, Ihre ML-Systeme zu automatisieren, zu überwachen und zu steuern. Dazu werden Ihre ML-Workflows serverlos orchestriert. Mit Agent Platform 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, mit dem die Bereitstellung von ML-Workflows auf Kubernetes einfacher, portabler und skalierbarer wird. Kubeflow Pipelines sind wiederverwendbare End-to-End-ML-Workflows, die mit dem Kubeflow Pipelines SDK erstellt wurden.

Das Kubeflow Pipelines SDK bietet eine End-to-End-Orchestrierung und erleichtert Tests und die Wiederverwendung. 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 DataflowPythonJobOP Operator oder den DataflowFlexTemplateJobOp Operator verwenden. Sie können auch eine vollständig benutzerdefinierte Komponente erstellen. Wir empfehlen die Verwendung des Operators DataflowPythonJobOP.

Informationen zum Erstellen einer vollständig benutzerdefinierten Komponente finden Sie auf der Seite Dataflow Komponenten in der Dokumentation zu Gemini Enterprise Agent Platform.

Ich möchte Dataflow mit TFX verwenden

TFX-Pipelinekomponenten 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-Runner. Weitere Informationen finden Sie in den folgenden Ressourcen: