En esta página se explica por qué y cómo usar la función MLTransform
para preparar los datos para entrenar modelos de aprendizaje automático. Al combinar varias transformaciones de procesamiento de datos en una clase, MLTransform
simplifica el proceso de aplicar operaciones de procesamiento de datos de aprendizaje automático de Apache Beam a tu flujo de trabajo.
Para obtener información sobre cómo usar MLTransform
en tareas de generación de incrustaciones, consulta el artículo Generar incrustaciones con MLTransform.
MLTransform
en el paso de preprocesamiento del flujo de trabajo.
Ventajas
La clase MLTransform
ofrece las siguientes ventajas:
- Transforma tus datos sin tener que escribir código complejo ni gestionar bibliotecas subyacentes.
- Encadena de forma eficiente varios tipos de operaciones de procesamiento con una sola interfaz.
Genera incrustaciones que puedes usar para insertar datos en bases de datos vectoriales o para ejecutar inferencias.
Para obtener más información sobre la generación de inserciones, consulta Generar inserciones con MLTransform.
Compatibilidad y limitaciones
La clase MLTransform
tiene las siguientes limitaciones:
- Disponible para las canalizaciones que usan las versiones 2.53.0 y posteriores del SDK de Apache Beam para Python.
- Las canalizaciones deben usar ventanas predeterminadas.
Transformaciones de procesamiento de datos que usan TFT:
- Compatibilidad con Python 3.9, 3.10 y 3.11.
- Admite flujos de procesamiento por lotes.
Casos prácticos
Los cuadernos de ejemplo muestran cómo usar MLTransform
en casos prácticos específicos de las inserciones.
- Quiero calcular un vocabulario a partir de un conjunto de datos
- Calcula un vocabulario único a partir de un conjunto de datos y, a continuación, asigna cada palabra o token a un índice entero distinto. Usa esta transformación para convertir datos de texto en representaciones numéricas para tareas de aprendizaje automático.
- Quiero escalar mis datos para entrenar mi modelo de aprendizaje automático
- Escala tus datos para poder usarlos en el entrenamiento de tu modelo de aprendizaje automático. La clase
MLTransform
de Apache Beam incluye varias transformaciones de escalado de datos.
Para ver una lista completa de las transformaciones disponibles, consulta Transformaciones en la documentación de Apache Beam.
Usar MLTransform
Para usar la clase MLTransform
y preprocesar 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))
Sustituye los siguientes valores:
TRANSFORM_NAME
: el nombre de la transformación que se va a usar.BCUKET_NAME
: el nombre de tu segmento de Cloud StorageDATA
: los datos de entrada que se van a transformarTRANSFORM_FUNCTION_NAME
: el nombre que asignes a la función de transformación en tu código
Siguientes pasos
- Para obtener más información sobre
MLTransform
, consulta Preprocesar datos en la documentación de Apache Beam. - Para ver más ejemplos, consulta
MLTransform
para el procesamiento de datos en el catálogo de transformaciones de Apache Beam. - Ejecuta un cuaderno interactivo en Colab.