Questa pagina spiega perché e come utilizzare il
MLTransform
per preparare i dati per l'addestramento dei modelli di machine learning (ML). Di
combinando più trasformazioni dell'elaborazione dei dati in un'unica classe, MLTransform
semplifica il processo di applicazione delle operazioni di elaborazione dati ML di Apache Beam
il tuo flusso di lavoro.
MLTransform
nella fase di pre-elaborazione del flusso di lavoro.
Vantaggi
Il corso MLTransform
offre i seguenti vantaggi:
- Trasforma i tuoi dati senza scrivere codice complesso o gestire le risorse sottostanti librerie.
- Genera incorporamenti da utilizzare per inviare i dati ai database vettoriali o per eseguire l'inferenza.
- Concatena in modo efficiente più tipi di operazioni di elaborazione con un solo a riga di comando.
Supporto e limitazioni
La classe MLTransform
ha le seguenti limitazioni:
- Disponibile per le pipeline che utilizzano Apache Beam SDK Python 2.53.0 e versioni successive.
- Le pipeline devono utilizzare finestre predefinite.
Trasformazioni dell'incorporamento del testo:
- Supporto per Python 3.8, 3.9, 3.10, 3.11 e 3.12.
- Supporta pipeline in modalità flusso e batch.
- Sostieni il API per l'incorporamento di testi di Vertex AI e ai Modulo Hugging Face Sentence Transformers
Trasformazioni dell'elaborazione dei dati che utilizzano TFT:
- Supporto per Python 3.9, 3.10, 3.11.
- Supporta pipeline in modalità batch.
Casi d'uso
I blocchi note di esempio mostrano come utilizzare MLTransform
per casi d'uso specifici.
- Voglio generare incorporamenti di testo per il mio LLM utilizzando Vertex AI
- Utilizza la classe
MLTransform
Apache Beam con API per l'incorporamento di testi di Vertex AI per generare incorporamenti di testo. Gli incorporamenti di testo sono un modo rappresentare il testo come vettori numerici, operazione necessaria per molti di elaborazione del linguaggio (NLP). - Voglio generare incorporamenti di testo per il mio LLM utilizzando Hugging Face
- Utilizza la classe
MLTransform
Apache Beam con Hub Hugging Face per generare incorporamenti di testo. Hugging FaceSentenceTransformers
usa Python per generare incorporamenti di frasi, testo e immagini. - 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 su un indice intero distinto. Utilizza questa trasformazione per modificare 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 tuoi dati in modo da poterli utilizzare per addestrare il tuo modello ML. La
La classe
MLTransform
di Apache Beam include più trasformazioni di scalabilità dei dati.
Per un elenco completo delle trasformazioni disponibili, vedi Trasformazioni nella documentazione di Apache Beam.
Utilizzo di MLTransform
Per utilizzare la classe MLTransform
per pre-elaborare i dati, includi il seguente codice nella
della tua 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 del trasforma per utilizzareBCUKET_NAME
: il nome del tuo bucket Cloud StorageDATA
: i dati di input da trasformareTRANSFORM_FUNCTION_NAME
: il nome che assegni alla trasformazione nel codice
Passaggi successivi
- Per ulteriori dettagli su
MLTransform
, vedi Pre-elabora i dati nella documentazione di Apache Beam. - Per altri esempi, vedi
MLTransform
per il trattamento dati nel catalogo delle trasformazioni di Apache Beam. - Esegui un blocco note interattivo in Colab.