Halaman ini menjelaskan alasan dan cara menggunakan fitur MLTransform
untuk menyiapkan data Anda untuk melatih model machine learning (ML). Dengan
menggabungkan beberapa transformasi pemrosesan data di satu class, MLTransform
menyederhanakan proses penerapan operasi pemrosesan data Apache Beam ML ke
alur kerja Anda.
MLTransform
pada langkah pra-pemrosesan alur kerja.
Manfaat
Class MLTransform
memberikan manfaat berikut:
- Transformasi data Anda tanpa perlu menulis kode yang kompleks atau mengelola library yang mendasarinya.
- Hasilkan embedding yang dapat Anda gunakan untuk mengirim data ke database vektor atau untuk menjalankan inferensi.
- Rantai beberapa jenis operasi pemrosesan secara efisien dengan satu antarmuka.
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, dan 3.11.
- Mendukung pipeline batch dan streaming.
- Dukung Vertex AI text-embeddings API dan modul Transformer Kalimat Wajah Besar.
Transformasi pemrosesan data yang menggunakan TFT:
- Mendukung Python 3.8, 3.9, dan 3.10.
- Mendukung pipeline batch.
Kasus penggunaan
Contoh notebook menunjukkan cara menggunakan MLTransform
untuk kasus penggunaan tertentu.
- Saya ingin menghasilkan embedding teks untuk LLM saya menggunakan Vertex AI
- Gunakan class
MLTransform
Apache Beam dengan API text-embeddings Vertex AI untuk menghasilkan embeddings teks. Embedding teks adalah cara untuk menampilkan teks sebagai vektor numerik, yang diperlukan untuk banyak tugas natural language processing (NLP). - Saya ingin membuat embedding teks untuk LLM dengan menggunakan Wajah Memeluk
- Gunakan class
MLTransform
Apache Beam dengan model Hugging Face Hub untuk menghasilkan embedding teks. Framework Hugging FaceSentenceTransformers
menggunakan Python untuk menghasilkan embeddings kalimat, teks, dan gambar. - Saya ingin menghitung kosakata dari set data
- Hitung kosakata unik dari set data, lalu petakan 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 saya untuk melatih model ML saya
- Menskalakan data Anda agar dapat digunakan untuk melatih model ML. Class
MLTransform
Apache Beam menyertakan beberapa transformasi penskalaan data.
Untuk daftar lengkap transformasi yang tersedia, lihat Transformasi dalam dokumentasi Apache Beam.
Menggunakan MLTransform
Untuk menggunakan class MLTransform
guna melakukan prapemrosesan data, sertakan kode berikut di
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 diubahTRANSFORM_FUNCTION_NAME
: nama yang Anda tetapkan ke fungsi transformasi dalam kode Anda
Langkah selanjutnya
- Untuk detail selengkapnya tentang
MLTransform
, lihat Data prapemrosesan dalam dokumentasi Apache Beam. - Untuk contoh lainnya, lihat
MLTransform
untuk pemrosesan data dalam katalog transformasi Apache Beam. - Jalankan notebook interaktif di Colab.