Pour orchestrer des workflows de machine learning complexes, vous pouvez créer des frameworks incluant des étapes de prétraitement et de post-traitement des données. Vous devrez peut-être prétraiter les données avant de les utiliser pour entraîner votre modèle, ou pour post-traiter les données afin de transformer la sortie de votre modèle.
Les workflows de ML contiennent souvent de nombreuses étapes qui constituent un pipeline ensemble. Pour créer votre pipeline de machine learning, vous pouvez utiliser l'une des méthodes suivantes.
- Utiliser un framework d'orchestration doté d'une intégration avec Apache Beam et de l'exécuteur Dataflow, tel que 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 de ML. L'appel contient le 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 vous utilisez l'exécuteur Dataflow dans le composant personnalisé. Cette option est la plus complexe et nécessite de gérer les dépendances de pipeline.
Après avoir créé votre pipeline de machine learning, vous pouvez utiliser un outil d'orchestration pour relier 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 workflows sont décrits dans les sections suivantes.
- Je souhaite utiliser Dataflow avec Vertex AI Pipelines
- Je souhaite utiliser Dataflow avec KFP
- Je souhaite utiliser Dataflow avec TFX
TFX et Kubeflow Pipelines (KFP) utilisent 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 des graphes orientés acycliques (DAG) définis par TFX ou KFP, et pour suivre automatiquement vos artefacts de ML à l'aide de Vertex ML Metadata. Pour apprendre à 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 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 de Dataflow dans la documentation de Vertex AI.
Je souhaite utiliser Dataflow avec TFX
Les composants des pipelines TFX sont basés sur les 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 :
- Apache Beam et TFX
- TensorFlow Extended (TFX): utiliser Apache Beam pour le traitement de données à grande échelle