Halaman ini menjelaskan alasan dan cara menggunakan fitur MLTransform
untuk menyiapkan data Anda guna melatih model machine learning (ML). Dengan menggabungkan beberapa transformasi pemrosesan data dalam satu class, MLTransform
menyederhanakan proses penerapan operasi pemrosesan data Apache Beam ML ke alur kerja Anda.
MLTransform
di langkah prapemrosesan alur kerja.
Manfaat
Class MLTransform
memberikan manfaat berikut:
- Transformasikan data Anda tanpa menulis kode yang kompleks atau mengelola library yang mendasarinya.
- Buat embedding yang dapat Anda gunakan untuk memasukkan data ke dalam database vektor atau untuk menjalankan inferensi.
- Menghubungkan beberapa jenis operasi pemrosesan dengan satu antarmuka secara efisien.
Dukungan dan batasan
Class MLTransform
memiliki batasan berikut:
- Tersedia untuk pipeline yang menggunakan Apache Beam Python SDK versi 2.53.0 dan yang lebih baru.
- Pipeline harus menggunakan jendela default.
Transformasi penyematan teks:
- Mendukung Python 3.8, 3.9, 3.10, 3.11, dan 3.12.
- Mendukung pipeline batch dan streaming.
- Mendukung Vertex AI text-embeddings API dan modul Hugging Face Sentence Transformers.
Transformasi pemrosesan data yang menggunakan TFT:
- Mendukung Python 3.9, 3.10, 3.11.
- Mendukung pipeline batch.
Kasus penggunaan
Contoh notebook menunjukkan cara menggunakan MLTransform
untuk kasus penggunaan tertentu.
- Saya ingin membuat embedding teks untuk LLM menggunakan Vertex AI
- Gunakan class
MLTransform
Apache Beam dengan Vertex AI text-embeddings API untuk membuat embedding teks. Penyematan teks adalah cara untuk merepresentasikan teks sebagai vektor numerik, yang diperlukan untuk banyak tugas natural language processing (NLP). - Saya ingin membuat penyematan teks untuk LLM menggunakan Hugging Face
- Gunakan class
MLTransform
Apache Beam dengan model Hugging Face Hub untuk membuat embedding teks. Framework Hugging FaceSentenceTransformers
menggunakan Python untuk membuat penyematan kalimat, teks, dan gambar. - Saya ingin menghitung kosakata dari set data
- Menghitung kosakata unik dari set data, lalu memetakan setiap kata atau token ke indeks bilangan bulat yang berbeda. Gunakan transformasi ini untuk mengubah data tekstual menjadi representasi numerik untuk tugas machine learning.
- Saya ingin menskalakan data untuk melatih model ML
- Menskalakan data agar dapat digunakan untuk melatih model ML. Class
MLTransform
Apache Beam menyertakan beberapa transformasi penskalaan data.
Untuk mengetahui daftar lengkap transformasi yang tersedia, lihat Transformasi dalam dokumentasi Apache Beam.
Menggunakan MLTransform
Untuk menggunakan class MLTransform
guna memproses data sebelumnya, sertakan kode berikut dalam
pipeline Anda:
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))
Ganti nilai berikut:
TRANSFORM_NAME
: nama transformasi yang akan digunakanBCUKET_NAME
: nama bucket Cloud Storage AndaDATA
: data input yang akan ditransformasiTRANSFORM_FUNCTION_NAME
: nama yang Anda tetapkan ke fungsi transformasi dalam kode
Langkah selanjutnya
- Untuk detail selengkapnya tentang
MLTransform
, lihat Memproses data dalam dokumentasi Apache Beam. - Untuk contoh selengkapnya, lihat
MLTransform
untuk pemrosesan data di katalog transformasi Apache Beam. - Jalankan notebook interaktif di Colab.