Melakukan prapemrosesan data dengan MLTransform

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.

Diagram alur kerja Dataflow ML dengan langkah pemrosesan data ditandai.

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

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

Langkah selanjutnya