ML Dataflow

Dataflow ML memungkinkan Anda menggunakan Dataflow untuk men-deploy dan mengelola pipeline machine learning (ML) yang lengkap. Menggunakan model ML untuk melakukan inferensi lokal dan jarak jauh dengan pipeline streaming dan batch. Menggunakan alat pemrosesan data guna menyiapkan data Anda untuk pelatihan model dan memproses hasil model.
Baik Anda ingin mengklasifikasikan gambar secara real-time, menjalankan panggilan inferensi jarak jauh, atau mem-build pengendali model kustom, Anda dapat menemukan contoh ML Dataflow lengkap.
Gunakan class MLTransform untuk memproses data sebelumnya untuk alur kerja machine learning (ML). Dengan menggabungkan beberapa transformasi pemrosesan data dalam satu class, MLTransform menyederhanakan proses penerapan transformasi pemrosesan data ML Apache Beam ke alur kerja Anda.
with pipeline as p:
  predictions = (
      p
      | beam.ReadFromSource('a_source')
      | RunInference(MODEL_HANDLER))
Menggunakan RunInference sama mudahnya dengan menambahkan kode transformasi ke pipeline Anda. Dalam contoh ini, MODEL_HANDLER adalah objek konfigurasi model.
with beam.Pipeline() as p:
  transformed_data = (
    p
    | beam.Create(data)
    | MLTransform(...)
    | beam.Map(print))
Untuk menyiapkan data Anda guna melatih model ML, gunakan MLTransform di pipeline Anda. MLTransform menggabungkan beberapa transformasi pemrosesan data dalam satu class, sehingga Anda dapat menggunakan satu class untuk berbagai tugas prapemrosesan.

Prediksi dan inferensi dengan model terlatih

Menggunakan model terlatih dengan Pytorch.
Menggunakan model terlatih dengan scikit-learn.
Menggunakan model terlatih dengan TensorFlow.
Apache Beam memiliki dukungan bawaan untuk mengirim permintaan ke endpoint Vertex AI yang di-deploy dari jarak jauh. Notebook ini menunjukkan cara menggunakan transformasi RunInference Apache Beam untuk klasifikasi gambar dengan Vertex AI.
Gunakan transformasi RunInference dengan pengendali model dengan kunci untuk menggunakan beberapa model dalam transformasi RunInference yang sama.

Pemrosesan data dengan MLTransform

Gunakan class MLTransform Apache Beam dengan text-embeddings API Vertex AI untuk membuat embedding teks. Embedding teks adalah cara untuk merepresentasikan teks sebagai vektor numerik, yang diperlukan untuk banyak tugas natural language processing (NLP).
Gunakan class MLTransform Apache Beam dengan model Hugging Face Hub untuk membuat embedding teks. Framework SentenceTransformers Hugging Face menggunakan Python untuk membuat penyematan kalimat, teks, dan gambar.
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.
Skalakan data Anda agar dapat digunakan untuk melatih model ML. Class MLTransform Apache Beam menyertakan beberapa transformasi penskalaan data.

Prediksi dan inferensi dengan model hub

Anda dapat menggunakan model Gemma di pipeline inferensi untuk mengukur sentimen percakapan, meringkas konten percakapan tersebut, dan membuat draf balasan untuk percakapan yang sulit.
Gunakan transformasi RunInference dengan model terlatih dari Hugging Face.
Gunakan transformasi RunInference untuk TensorFlow dengan model terlatih dari TensorFlow Hub.
Gunakan transformasi RunInference untuk tugas AI generatif. Notebook ini menggunakan model bahasa dari Hugging Face Model Hub.

Orkestrasi alur kerja ML

Vertex AI Pipelines membantu Anda dalam melakukan otomatisasi, memantau, dan mengelola sistem ML dengan mengorkestrasi alur kerja ML Anda tanpa server. Gunakan Vertex AI Pipelines untuk mengatur DAG alur kerja yang ditentukan oleh TFX atau KFP dan untuk melacak artefak ML Anda secara otomatis menggunakan Vertex ML Metadata.
TensorFlow Extended (TFX) memungkinkan Anda men-deploy pipeline ML lengkap menggunakan framework orkestrasi yang memiliki integrasi bawaan dengan Apache Beam dan runner Dataflow.
Kubeflow membuat deployment alur kerja ML di Kubernetes menjadi sederhana, portabel, dan skalabel. Kubeflow Pipelines adalah alur kerja ML lengkap yang dapat digunakan kembali dan dibuat menggunakan Kubeflow Pipelines SDK.

Fitur tambahan

Menggunakan GPU dalam tugas Dataflow dapat mempercepat tugas pemrosesan gambar dan pemrosesan machine learning. Lihat jenis GPU yang didukung oleh Dataflow dan rekomendasi jenis GPU yang akan digunakan untuk berbagai beban kerja.
Gabungkan GPU dan CPU untuk performa tinggi dan biaya lebih rendah. Kemampuan untuk menargetkan resource ke langkah pipeline tertentu memberikan fleksibilitas dan kemampuan pipeline tambahan, serta potensi penghematan biaya.
Apache Beam menyederhanakan alur kerja pengayaan data dengan menyediakan transformasi pengayaan siap pakai yang dapat Anda tambahkan ke pipeline.

Pemeliharaan dan evaluasi model

RunInference memungkinkan Anda melakukan update model otomatis tanpa menghentikan pipeline Apache Beam. Gunakan input samping untuk memperbarui model secara real time, bahkan saat pipeline berjalan.
Gunakan Analisis Model TensorFlow (TFMA) untuk menyelidiki dan memvisualisasikan performa model dengan membuat dan membandingkan dua model. Dengan Apache Beam, Anda dapat mengevaluasi dan membandingkan beberapa model dalam satu langkah.

Referensi

Untuk menggunakan RunInference dengan pipeline Java, buat transformasi Python lintas bahasa. Pipeline memanggil transformasi, yang melakukan prapemrosesan, pascapemrosesan, dan inferensi.
Untuk menjalankan contoh ML Dataflow, Anda mungkin perlu mengonfigurasi izin Google Cloud. Baca panduan mendetail tentang izin yang diperlukan untuk pipeline Dataflow.
Contoh dan kode sumber yang sesuai tersedia di GitHub. Di GitHub, Anda juga dapat menemukan petunjuk untuk menjalankan contoh di Colab.