En esta página, se explica por qué y cómo usar la función MLTransform a fin de preparar los datos para entrenar modelos de aprendizaje automático (AA). Mediante la combinación de varias transformaciones de procesamiento de datos en una clase, MLTransform optimiza el proceso de aplicación de operaciones de procesamiento de datos de AA de Apache Beam en tu flujo de trabajo.
Para obtener información sobre el uso de MLTransform para tareas de generación de embeddings, consulta Genera embeddings con MLTransform.

MLTransform en el paso de procesamiento previo del flujo de trabajo.
Ventajas
La clase MLTransform proporciona los siguientes beneficios:
- Transforma tus datos sin tener que escribir código complejo ni administrar bibliotecas subyacentes.
- Encadenar de manera eficiente varios tipos de operaciones de procesamiento con una interfaz.
Generar incorporaciones que puedas usar para enviar datos a bases de datos vectoriales o ejecutar inferencias.
Para obtener más información sobre la generación de incorporaciones, consulta Genera incorporaciones con MLTransform.
Asistencia y limitaciones
La clase MLTransform tiene las siguientes limitaciones:
- Disponible para las canalizaciones que usan la versión 2.53.0 y posterior del SDK de Apache Beam para Python.
- Las canalizaciones deben usar ventanas predeterminadas.
Transformaciones de procesamiento de datos que usan TFT:
- Admite Python 3.9, 3.10 y 3.11.
- Admite canalizaciones por lotes.
Casos de uso
Los notebooks de ejemplo demuestran cómo usar MLTransform para casos de uso específicos de las incorporaciones.
- Quiero calcular un vocabulario de un conjunto de datos
- Calcula un vocabulario único a partir de un conjunto de datos y, luego, asigna cada palabra o token a un índice de número entero distinto. Usa esta transformación para cambiar los datos textuales a representaciones numéricas en las tareas de aprendizaje automático.
- Quiero escalar mis datos para entrenar mi modelo de AA
- Escala tus datos para que puedas usarlos a fin de entrenar tu modelo de AA. La clase
MLTransformde Apache Beam incluye varias transformaciones de escalamiento de datos.
Para obtener una lista completa de las transformaciones disponibles, consulta Transformaciones en la documentación de Apache Beam.
Usa MLTransform
Para usar la clase MLTransform a fin de procesar previamente los datos, incluye el siguiente código en tu canalización:
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))
Reemplaza los siguientes valores:
TRANSFORM_NAME: el nombre de la transformación que se usaráBCUKET_NAME: el nombre de tu bucket de Cloud StorageDATA: Los datos de entrada que se transformaránTRANSFORM_FUNCTION_NAME: es el nombre que asignas a tu función de transformación en el código.
¿Qué sigue?
- Para obtener más detalles sobre
MLTransform, consulta Preprocesa datos en la documentación de Apache Beam. - Con el fin de obtener más ejemplos, consulta
MLTransformpara el procesamiento de datos en el catálogo de transformaciones de Apache Beam. - Ejecuta un notebook interactivo en Colab.