Questa pagina spiega perché e come utilizzare la funzionalità
MLTransform
per preparare i dati per l'addestramento di modelli di machine learning (ML). Combinando più trasformazioni di elaborazione dei dati in una sola classe, MLTransform
semplifica il processo di applicazione delle operazioni di elaborazione dei dati ML di Apache Beam
al tuo flusso di lavoro.
Per informazioni sull'utilizzo di MLTransform
per le attività di generazione di incorporamenti, vedi
Generare incorporamenti con MLTransform.
MLTransform
nel passaggio di pre-elaborazione del flusso di lavoro.
Vantaggi
La classe MLTransform
offre i seguenti vantaggi:
- Trasforma i dati senza scrivere codice complesso o gestire le librerie sottostanti.
- Concatenare in modo efficiente più tipi di operazioni di elaborazione con una sola interfaccia.
Genera embedding che puoi utilizzare per inserire dati in database vettoriali o per eseguire l'inferenza.
Per ulteriori informazioni sulla generazione di incorporamenti, consulta Generare incorporamenti con MLTransform.
Supporto e limitazioni
La classe MLTransform
presenta le seguenti limitazioni:
- Disponibile per le pipeline che utilizzano le versioni 2.53.0 e successive dell'SDK Apache Beam Python.
- Le pipeline devono utilizzare finestre predefinite.
Trasformazioni di elaborazione dei dati che utilizzano TFT:
- Supporta Python 3.9, 3.10, 3.11.
- Supporta le pipeline batch.
Casi d'uso
I notebook di esempio mostrano come utilizzare MLTransform
per
casi d'uso specifici per gli incorporamenti.
- Voglio calcolare un vocabolario da un set di dati
- Calcola un vocabolario univoco da un set di dati e poi mappa ogni parola o token a un indice intero distinto. Utilizza questa trasformazione per convertire i dati di testo in rappresentazioni numeriche per le attività di machine learning.
- Voglio scalare i miei dati per addestrare il mio modello ML
- Scala i dati in modo da poterli utilizzare per addestrare il modello ML. La classe
Apache Beam
MLTransform
include più trasformazioni di scalabilità dei dati.
Per un elenco completo delle trasformazioni disponibili, consulta la sezione Trasformazioni nella documentazione di Apache Beam.
Utilizzare MLTransform
Per utilizzare la classe MLTransform
per preelaborare i dati, includi il seguente codice nella 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))
Sostituisci i seguenti valori:
TRANSFORM_NAME
: il nome della trasformazione da utilizzareBCUKET_NAME
: il nome del tuo bucket Cloud StorageDATA
: i dati di input da trasformareTRANSFORM_FUNCTION_NAME
: il nome che assegni alla funzione di trasformazione nel codice
Passaggi successivi
- Per maggiori dettagli su
MLTransform
, consulta la sezione Pre-elaborazione dei dati nella documentazione di Apache Beam. - Per altri esempi, consulta
MLTransform
per l'elaborazione dei dati nel catalogo delle trasformazioni di Apache Beam. - Esegui un notebook interattivo in Colab.