Dataflow ML
Dengan Dataflow ML, Anda dapat menggunakan Dataflow untuk men-deploy dan mengelola pipeline machine learning (ML) yang lengkap. Gunakan model ML untuk melakukan inferensi lokal dan jarak jauh dengan pipeline streaming dan batch. Gunakan alat pemrosesan data guna menyiapkan data Anda untuk pelatihan model dan memproses hasil model.
Prediksi dan inferensi
Jika Anda ingin mengklasifikasikan gambar secara real-time, menjalankan panggilan inferensi jarak jauh, atau membuat handler model kustom, Anda dapat menemukan contoh ML Dataflow yang lengkap.
Pemrosesan data
Gunakan class
MLTransform untuk melakukan pra-pemrosesan pada data 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 itu semudah 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 untuk 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 pra-pemrosesan.
Prediksi dan inferensi dengan model terlatih
Saya memiliki model Pytorch
Menggunakan model terlatih dengan Pytorch.
Saya memiliki model scikit-learn
Gunakan model terlatih dengan scikit-learn.
Saya memiliki model TensorFlow
Gunakan model terlatih dengan TensorFlow.
Saya memiliki handler 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 dalam pipeline saya
Gunakan transformasi
RunInference dengan handler model yang dilengkapi kunci untuk menggunakan beberapa model dalam transformasi RunInference yang sama.
Pemrosesan data dengan MLTransform
Saya ingin membuat embedding teks untuk LLM saya dengan menggunakan Vertex AI
Gunakan class
MLTransform Apache Beam dengan Vertex AI text-embeddings API 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 saya 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 embedding kalimat, teks, dan gambar.
Saya ingin menghitung kosakata dari suatu 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 saya
Menskalakan data agar Anda dapat menggunakannya untuk melatih model ML. Class
MLTransform Apache Beam mencakup 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 Model Hub Hugging Face.
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 mengorkestrasi 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
Dengan Kubeflow, deployment alur kerja ML di Kubernetes menjadi simpel, portabel, dan skalabel. Kubeflow Pipelines adalah alur kerja ML lengkap yang dapat digunakan kembali dan dibangun menggunakan Kubeflow Pipelines SDK.
Deteksi Anomali
Deteksi Anomali dengan metode statistik
Notebook ini menunjukkan cara melakukan deteksi anomali pada data batch dan streaming menggunakan PTransform
AnomalyDetection. Fitur ini menggunakan algoritma Z-Score untuk mengidentifikasi anomali dalam set data.
Fitur tambahan
Menggunakan akselerator (GPU/TPU)
Penggunaan akselerator seperti GPU dan TPU dalam tugas Dataflow dapat secara signifikan mempercepat tugas pemrosesan data yang sering digunakan dalam kasus penggunaan machine learning dan pemrosesan gambar.
TPU, khususnya, adalah akselerator AI yang dirancang khusus dan dioptimalkan untuk melatih dan menggunakan model AI berskala besar, sehingga memberikan cara serbaguna untuk menskalakan berbagai workload AI.
Memadukan CPU dan GPU dengan penyesuaian yang tepat
Padukan GPU dan CPU untuk performa tinggi dan biaya lebih rendah. Kemampuan untuk menargetkan resource ke langkah-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 pembaruan model otomatis tanpa menghentikan pipeline Apache Beam. Gunakan input samping untuk memperbarui model Anda secara real time, bahkan saat pipeline sedang berjalan.
Mengevaluasi model Anda
Gunakan TensorFlow Model Analysis (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 pra-pemrosesan, pasca-pemrosesan, dan inferensi.
Izin Dataflow
Untuk menjalankan contoh Dataflow ML, 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.
Baca tentang contoh kasus penggunaan
Postingan blog ini menjelaskan cara membangun aplikasi RAG dengan penelusuran semantik dan representasi numerik (embedding) secara real-time. Solusi ini menggunakan Dataflow ML untuk menyiapkan data dengan mengonversinya menjadi embedding dan menyimpannya dalam database vektor seperti AlloyDB.