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.
Prediksi dan inferensi
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.
Pemrosesan data
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))
Transformasi RunInference
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))
Kode MLTransform
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
Saya memiliki model Pytorch
Menggunakan model terlatih dengan Pytorch.
Saya memiliki model scikit-learn
Menggunakan model terlatih dengan scikit-learn.
Saya memiliki model TensorFlow
Menggunakan model terlatih dengan TensorFlow.
Saya memiliki pengendali model Vertex AI
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.
Saya ingin menggunakan beberapa model yang dilatih secara berbeda di pipeline saya
Gunakan transformasi
RunInference
dengan pengendali model dengan kunci untuk menggunakan beberapa model dalam transformasi RunInference
yang sama.
Pemrosesan data dengan MLTransform
Saya ingin membuat embedding teks untuk LLM menggunakan Vertex AI
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).
Saya ingin membuat embedding teks untuk LLM menggunakan Hugging Face
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.
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 untuk melatih model ML
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
Saya ingin melakukan analisis sentimen dan ringkasan
Anda dapat menggunakan model Gemma di pipeline inferensi untuk mengukur sentimen percakapan, meringkas konten percakapan tersebut, dan membuat draf balasan untuk percakapan yang sulit.
Saya memiliki model terlatih dari Hugging Face
Gunakan transformasi
RunInference
dengan model terlatih dari Hugging Face.
Saya memiliki model terlatih dari TensorFlow Hub
Gunakan transformasi
RunInference
untuk TensorFlow dengan model terlatih dari TensorFlow Hub.
Saya ingin menggunakan AI generatif
Gunakan transformasi
RunInference
untuk tugas AI generatif. Notebook ini menggunakan model bahasa dari Hugging Face Model Hub.
Orkestrasi alur kerja ML
Saya ingin menggunakan Dataflow dengan Vertex AI Pipelines
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.
Saya ingin menggunakan Dataflow dengan TFX
TensorFlow Extended (TFX) memungkinkan Anda men-deploy pipeline ML lengkap menggunakan framework orkestrasi yang memiliki integrasi bawaan dengan Apache Beam dan runner Dataflow.
Saya ingin menggunakan Dataflow dengan KFP
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
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.
Memadukan CPU dan GPU dengan kecocokan yang tepat
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.
Memperkaya pipeline streaming dengan data feature store
Apache Beam menyederhanakan alur kerja pengayaan data dengan menyediakan transformasi pengayaan siap pakai yang dapat Anda tambahkan ke pipeline.
Pemeliharaan dan evaluasi model
Pembaruan model otomatis
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.
Mengevaluasi model
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
Menjalankan pipeline lintas bahasa
Untuk menggunakan RunInference dengan pipeline Java, buat transformasi Python lintas bahasa. Pipeline memanggil transformasi, yang melakukan prapemrosesan, pascapemrosesan, dan inferensi.
Izin Dataflow
Untuk menjalankan contoh ML Dataflow, Anda mungkin perlu mengonfigurasi izin Google Cloud. Baca panduan mendetail tentang izin yang diperlukan untuk pipeline Dataflow.
Lihat contoh di GitHub
Contoh dan kode sumber yang sesuai tersedia di GitHub. Di GitHub, Anda juga dapat menemukan petunjuk untuk menjalankan contoh di Colab.