Dataflow ML
Dataflow ML vous permet de déployer et gérer des pipelines de machine learning (ML) complets à l'aide de Dataflow. Utilisez des modèles de ML pour effectuer des inférences en local et à distance avec des pipelines de traitement par lot et par flux. Utilisez les outils de traitement des données pour préparer vos données à entraîner des modèles et traiter leurs résultats.
Prédiction et inférence
Que vous souhaitiez classer des images en temps réel, exécuter des appels d'inférence à distance ou créer un gestionnaire de modèles personnalisés, vous pouvez trouver des exemples de ML Dataflow complets.
Traitement des données
Utilisez la classe
MLTransform
pour prétraiter les données des workflows de machine learning (ML). En combinant plusieurs transformations de traitement de données dans une même classe, MLTransform
simplifie le processus d'application des transformations de traitement de données Apache Beam à votre workflow.
with pipeline as p: predictions = ( p | beam.ReadFromSource('a_source') | RunInference(MODEL_HANDLER))
Transformation RunInference
L'utilisation de
RunInference
est aussi simple que d'ajouter le code de transformation à votre pipeline. Dans cet exemple, MODEL_HANDLER est l'objet de configuration du modèle.
with beam.Pipeline() as p: transformed_data = ( p | beam.Create(data) | MLTransform(...) | beam.Map(print))
Code MLTransform
Pour préparer vos données afin d'entraîner des modèles de ML, utilisez
MLTransform
dans votre pipeline. MLTransform
encapsule plusieurs transformations de traitement des données au sein d'une même classe, ce qui vous permet d'utiliser une classe pour diverses tâches de prétraitement.
Prédiction et inférence avec des modèles pré-entraînés
J'ai un modèle PyTorch
Utilisez un modèle pré-entraîné avec Pytorch.
J'ai un modèle scikit-learn
Utilisez un modèle pré-entraîné avec scikit-learn.
J'ai un modèle TensorFlow
Utilisez un modèle pré-entraîné avec TensorFlow.
J'ai un gestionnaire de modèles Vertex AI
Apache Beam est compatible avec l'envoi de requêtes à un point de terminaison Vertex AI déployé à distance. Ce notebook explique comment utiliser la transformation Apache Beam
RunInference
pour la classification d'images avec Vertex AI.
Je souhaite utiliser plusieurs modèles entraînés différemment dans mon pipeline
Utilisez la transformation
RunInference
avec un gestionnaire de modèles à clé pour utiliser plusieurs modèles dans la même transformation RunInference
.
Traitement des données avec MLTransform
Je souhaite générer des représentations vectorielles continues de texte pour mon LLM à l'aide de Vertex AI
Utilisez la classe
MLTransform
d'Apache Beam avec l'API de représentations vectorielles continues de textes Vertex AI pour générer des représentations vectorielles continues de texte. Les représentations vectorielles continues de texte permettent de représenter du texte sous forme de vecteurs numériques, ce qui est nécessaire pour de nombreuses tâches de traitement du langage naturel (TLN).
Je souhaite générer des représentations vectorielles continues de texte pour mon LLM à l'aide de Huging Face
Utilisez la classe
MLTransform
d'Apache Beam avec les modèles du Hub Hugging Face pour générer des représentations vectorielles continues de texte. L'environnement logiciel SentenceTransformers
de Huging Face permet de générer des représentations vectorielles continues de phrases, de texte et d'images à l'aide de Python.
Je souhaite calculer un vocabulaire à partir d'un ensemble de données
Calculez un vocabulaire unique à partir d'un ensemble de données, puis mappez chaque mot ou jeton à un index d'entiers distinct. Utilisez cette transformation pour convertir des données textuelles en représentations numériques pour les tâches de machine learning.
Je souhaite adapter mes données pour entraîner mon modèle de ML
Effectuez le scaling de vos données afin de pouvoir les utiliser pour entraîner votre modèle de ML. La classe
MLTransform
d'Apache Beam inclut plusieurs transformations de scaling de données.
Prédiction et inférence avec des modèles hub
Je souhaite exécuter un LLM avec un modèle ouvert Gemma
Vous pouvez utiliser des modèles Gemma dans vos pipelines d'inférence pour effectuer une analyse des sentiments.
J'ai un modèle entraîné de Hugging Face
Utilisez la transformation
RunInference
avec un modèle entraîné de Hugging Face.
J'ai un modèle entraîné de TensorFlow Hub
Utilisez la transformation
RunInference
pour TensorFlow avec un modèle issu de TensorFlow Hub.
Je souhaite faire de l'IA générative
Utilisez la transformation
RunInference
pour les tâches d'IA générative. Ce notebook utilise un modèle de langage issu du Hub de modèles de Hugging Face.
Orchestration des workflows de ML
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. Utilisez Vertex AI Pipelines pour orchestrer les DAG de workflow définis par TFX ou KFP, et pour suivre automatiquement vos artefacts de ML à l'aide de Vertex ML Metadata.
Je souhaite utiliser Dataflow avec TFX
TensorFlow Extended (TFX) vous permet de déployer des pipelines de ML complets à l'aide d'un framework d'orchestration doté d'une intégration avec Apache Beam et l'exécuteur Dataflow.
Je souhaite utiliser Dataflow avec KFP
Kubeflow rend les déploiements de workflows de ML sur Kubernetes simples, portables et évolutifs. Kubeflow Pipelines consiste en des workflows de ML complets réutilisables créés à l'aide du SDK Kubeflow Pipelines.
Maintenance et évaluation du modèle
Actualisation automatique du modèle
RunInference
vous permet d'effectuer des mises à jour automatiques de modèles sans arrêter votre pipeline Apache Beam. Utilisez des entrées secondaires pour mettre à jour votre modèle en temps réel, même pendant que le pipeline est en cours d'exécution.
Évaluer vos modèles
Utilisez TensorFlow Model Analysis (TFMA) pour examiner et visualiser les performances d'un modèle en créant et en comparant deux modèles. Apache Beam vous permet d'évaluer et de comparer plusieurs modèles en une seule étape.
Ressources
Utiliser les GPU
L'utilisation de GPU dans les jobs Dataflow peut accélérer les tâches de traitement d'image et de machine learning.
Autorisations Dataflow
Pour exécuter les exemples Dataflow ML, vous devrez peut-être configurer vos autorisations Google Cloud. Lisez un guide détaillé sur les autorisations requises pour les pipelines Dataflow.
Afficher les exemples sur GitHub
Les exemples et le code source correspondant sont disponibles sur GitHub. Dans GitHub, vous trouverez également des instructions pour exécuter les exemples dans Colab.