Cette page explique pourquoi et comment utiliser la fonctionnalité MLTransform pour préparer vos données à l'entraînement de modèles 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 opérations de traitement de données Apache Beam à votre workflow.
Pour savoir comment utiliser MLTransform pour les tâches de génération d'embeddings, consultez Générer des embeddings avec MLTransform.

MLTransform dans l'étape de prétraitement du workflow.
Avantages
La classe MLTransform offre les avantages suivants :
- Transformez vos données sans écrire de code complexe ni gérer de bibliothèques sous-jacentes.
- Associez efficacement plusieurs types d'opérations de traitement à une seule interface.
Génère des embeddings que vous pouvez utiliser pour transférer des données vers des bases de données vectorielles ou pour exécuter des inférences.
Pour en savoir plus sur la génération d'embeddings, consultez Générer des embeddings avec MLTransform.
Compatibilité et limites
La classe MLTransform présente les limites suivantes :
- Disponible pour les pipelines qui utilisent le SDK Apache Beam pour Python version 2.53.0 et ultérieure.
- Les pipelines doivent utiliser des fenêtres par défaut.
Transformations de traitement de données utilisant TFT :
- Compatibilité avec Python 3.9, 3.10, 3.11.
- Ils sont compatibles avec les pipelines de traitement par lot.
Cas d'utilisation
Les exemples de notebooks montrent comment utiliser MLTransform pour des cas d'utilisation spécifiques aux embeddings.
- Je souhaite calculer un vocabulaire à partir d'un ensemble de données
- Calcule 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 des tâches de machine learning.
- Je souhaite faire évoluer 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
MLTransformApache Beam comprend plusieurs transformations de scaling des données.
Pour obtenir la liste complète des transformations disponibles, consultez la section Transformations de la documentation Apache Beam.
Utiliser MLTransform
Pour prétraiter les données à l'aide de la classe MLTransform, incluez le code suivant dans votre pipeline :
import apache_beam as beam
from apache_beam.ml.transforms.base import MLTransform
from apache_beam.ml.transforms.tft import TRANSFORM_NAME
import tempfile
data = [
{
DATA
},
]
artifact_location = gs://BUCKET_NAME
TRANSFORM_FUNCTION_NAME = TRANSFORM_NAME(columns=['x'])
with beam.Pipeline() as p:
transformed_data = (
p
| beam.Create(data)
| MLTransform(write_artifact_location=artifact_location).with_transform(
TRANSFORM_FUNCTION_NAME)
| beam.Map(print))
Remplacez les valeurs suivantes :
TRANSFORM_NAME: nom de la transformation à utiliserBCUKET_NAME: nom de votre bucket Cloud StorageDATA: données d'entrée à transformerTRANSFORM_FUNCTION_NAME: nom que vous attribuez à votre fonction de transformation dans le code
Étapes suivantes
- Pour en savoir plus sur
MLTransform, consultez la section Prétraiter des données de la documentation Apache Beam. - Pour plus d'exemples, consultez la section
MLTransformpour le traitement des données dans le catalogue de transformations Apache Beam. - Exécutez un notebook interactif dans Colab.