Melakukan prapemrosesan data dengan MLTransform

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.

Diagram alur kerja Dataflow ML dengan langkah pemrosesan data ditandai.

Gambar 1. Alur kerja Dataflow ML yang lengkap. Gunakan 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:

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 Face SentenceTransformers 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 digunakan
  • BCUKET_NAME: nama bucket Cloud Storage Anda
  • DATA: data input yang akan ditransformasi
  • TRANSFORM_FUNCTION_NAME: nama yang Anda tetapkan ke fungsi transformasi dalam kode

Langkah selanjutnya