Dataflow ML dans les workflows de ML

Pour orchestrer des workflows de machine learning complexes, vous pouvez créer des frameworks qui incluent des étapes de pré- et post-traitement des données. Vous devrez peut-être prétraiter les données avant de pouvoir les utiliser pour entraîner votre modèle ou post-traiter les données pour transformer la sortie de votre modèle.

Les workflows de ML contiennent souvent de nombreuses étapes qui forment ensemble un pipeline. Pour créer votre pipeline de machine learning, vous pouvez utiliser l'une des méthodes suivantes.

  • Utilisez un framework d'orchestration doté d'une intégration avec Apache Beam et l'exécuteur Dataflow, comme TensorFlow Extended (TFX) ou Kubeflow Pipelines (KFP). Cette option est la moins complexe.
  • Créez un composant personnalisé dans un modèle Dataflow, puis appelez le modèle à partir de votre pipeline ML. L'appel contient votre code Apache Beam.
  • Créez un composant personnalisé à utiliser dans votre pipeline de ML et placez le code Python directement dans le composant. Vous définissez un pipeline Apache Beam personnalisé et utilisez l'exécuteur Dataflow dans le composant personnalisé. Cette option est la plus complexe et vous oblige à gérer les dépendances du pipeline.

Une fois que vous avez créé votre pipeline de machine learning, vous pouvez utiliser un orchestrateur pour enchaîner les composants afin de créer un workflow de machine learning de bout en bout. Pour orchestrer les composants, vous pouvez utiliser un service géré, tel que Vertex AI Pipelines.

Les cas d'utilisation de l'orchestration de workflow sont décrits dans les sections suivantes.

TFX et Kubeflow Pipelines (KFP) utilisent tous deux des composants Apache Beam.

Je souhaite utiliser Dataflow avec Vertex AI Pipelines

Vertex AI Pipelines vous aide à automatiser, à surveiller et à gérer vos systèmes de ML en orchestrant votre workflow de ML sans serveur. Vous pouvez utiliser Vertex AI Pipelines pour orchestrer les graphiques acycliques dirigés (DAG) de workflow définis par TFX ou KFP, et pour suivre automatiquement vos artefacts de ML à l'aide de Vertex ML Metadata. Pour découvrir comment intégrer Dataflow à TFX et KFP, consultez les informations des sections suivantes.

Je souhaite utiliser Dataflow avec Kubeflow Pipelines

Kubeflow est un ensemble d'outils de ML conçu pour rendre les déploiements de workflows de ML sur Kubernetes simples, portables et évolutifs. Kubeflow Pipelines consiste en des workflows de ML de bout en bout réutilisables, créés à l'aide du SDK Kubeflow Pipelines.

Le service Kubeflow Pipelines vise à fournir une orchestration de bout en bout et à faciliter l'expérimentation et la réutilisation. Avec KFP, vous pouvez tester des techniques d'orchestration et gérer vos tests. Vous pouvez aussi réutiliser des composants et des pipelines pour créer plusieurs solutions de bout en bout sans recommencer à chaque fois.

Lorsque vous utilisez Dataflow avec KFP, vous pouvez utiliser l'opérateur DataflowPythonJobOP ou l'opérateur DataflowFlexTemplateJobOp. Vous pouvez également créer un composant entièrement personnalisé. Nous vous recommandons d'utiliser l'opérateur DataflowPythonJobOP.

Si vous souhaitez créer un composant entièrement personnalisé, consultez la page Composants Dataflow dans la documentation Vertex AI.

Je souhaite utiliser Dataflow avec TFX

Les composants de pipeline TFX sont créés à partir des bibliothèques TFX, et les bibliothèques de traitement des données utilisent directement Apache Beam. Par exemple, TensorFlow Transform traduit les appels de l'utilisateur vers Apache Beam. Par conséquent, vous pouvez utiliser Apache Beam et Dataflow avec des pipelines TFX sans avoir à effectuer de configuration supplémentaire. Pour utiliser TFX avec Dataflow, lorsque vous créez votre pipeline TFX, utilisez l'exécuteur Dataflow. Pour en savoir plus, consultez les ressources suivantes :