Nesta página, explicamos por que e como usar o
recurso MLTransform
para preparar seus dados para o treinamento de modelos de machine learning (ML). Ao
combinar várias transformações de processamento de dados em uma classe, o MLTransform
simplifica o processo de aplicação de operações de processamento de dados de ML do Apache Beam
no fluxo de trabalho.
Para informações sobre como usar MLTransform em tarefas de geração de embeddings, consulte
Gerar embeddings com MLTransform.

MLTransform na etapa de pré-processamento do fluxo de trabalho.
Benefícios
A classe MLTransform oferece os seguintes benefícios:
- Transforme seus dados sem escrever códigos complexos ou gerenciar bibliotecas.
- Encadeie vários tipos de operações de processamento de maneira eficiente com uma só interface.
Gere embeddings que podem ser usados para enviar dados a bancos de dados de vetores ou executar inferência.
Para mais informações sobre a geração de embeddings, consulte Gerar embeddings com MLTransform.
Suporte e limitações
A classe MLTransform tem as seguintes limitações:
- Disponível para pipelines que usam as versões 2.53.0 e posteriores do SDK do Apache Beam para Python.
- Os pipelines precisam usar janelas padrão.
Transformações de processamento de dados que usam o TFT:
- Compatíveis com Python 3.9, 3.10, 3.11.
- Compatíveis com pipelines em lote.
Casos de uso
Os notebooks de exemplo demonstram como usar o MLTransform para casos de uso específicos de incorporações.
- Quero computar o vocabulário de um conjunto de dados
- Compute um vocabulário exclusivo de um conjunto de dados e depois mapeie cada palavra ou token com um índice distinto de números inteiros. Use essa transformação para transformar dados textuais em representações numéricas para tarefas de machine learning.
- Quero dimensionar meus dados para treinar um modelo de ML
- Dimensione os dados para usá-los no treinamento do seu modelo de ML. A classe
MLTransformdo Apache Beam inclui várias transformações de dimensionamento de dados.
Para ver uma lista completa de transformações disponíveis, consulte Transformações na documentação do Apache Beam.
Usar o MLTransform
Para usar a classe MLTransform para pré-processar dados, inclua o seguinte código no seu 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))
Substitua os seguintes valores:
TRANSFORM_NAME: o nome da transformação a ser usadaBCUKET_NAME: o nome do bucket do Cloud Storage.DATA: os dados de entrada a serem transformadosTRANSFORM_FUNCTION_NAME: o nome que você atribui à função de transformação no seu código
A seguir
- Para mais detalhes sobre o
MLTransform, consulte Pré-processar dados na documentação do Apache Beam. - Para mais exemplos, consulte
MLTransformpara processamento de dados no catálogo de transformações do Apache Beam. - Execute um notebook interativo no Colab.