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, maupun membangun pengendali model kustom, Anda dapat menemukan contoh Dataflow ML lengkap.
Pemrosesan data
Gunakan class
MLTransform
untuk melakukan prapemrosesan data untuk alur kerja machine learning (ML). Dengan menggabungkan beberapa transformasi pemrosesan data di satu class, MLTransform
menyederhanakan proses penerapan transformasi pemrosesan data Apache Beam ML ke alur kerja Anda.
with pipeline as p: predictions = ( p | beam.ReadFromSource('a_source') | RunInference(MODEL_HANDLER))
Transformasi RunInference
Menggunakan
RunInference
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
Guna menyiapkan data 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 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
Gunakan 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 dalam pipeline saya
Gunakan transformasi
RunInference
dengan pengendali model yang dikunci 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 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 dengan menggunakan Hugging Face
Gunakan class
MLTransform
Apache Beam dengan model Hugging Face Hub untuk membuat embedding teks. Framework SentenceTransformers
Hugging Face menggunakan Python untuk menghasilkan embedding kalimat, teks, dan gambar.
Saya ingin menghitung kosakata dari suatu {i>dataset
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
Skalakan data Anda sehingga Anda dapat menggunakannya untuk melatih model ML Anda. Class
MLTransform
Apache Beam mencakup beberapa transformasi penskalaan data.
Prediksi dan inferensi dengan model hub
Saya ingin menjalankan LLM dengan model terbuka Gemma
Anda dapat menggunakan model Gemma di pipeline inferensi untuk melakukan analisis sentimen.
saya memiliki model terlatih dari Wajah Memeluk
Gunakan transformasi
RunInference
dengan model terlatih dari Wajah Memeluk.
Saya memiliki model terlatih dari TensorFlow Hub
Gunakan transformasi
RunInference
untuk TensorFlow dengan model terlatih dari TensorFlow Hub.
Saya ingin menggunakan AI generatif
Menggunakan 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 mengorkestrasi DAG alur kerja yang ditentukan oleh TFX atau KFP dan untuk secara otomatis melacak artefak ML Anda 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 menjadikan deployment alur kerja ML di Kubernetes mudah, portabel, dan skalabel. Kubeflow Pipelines adalah alur kerja ML lengkap yang dapat digunakan kembali dan dibangun menggunakan Kubeflow Pipelines SDK.
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
Menggunakan 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.
Resource
Menggunakan GPU
Menggunakan GPU dalam tugas Dataflow dapat mempercepat tugas pemrosesan gambar dan pemrosesan machine learning.
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 contohnya di GitHub
Contoh dan kode sumber yang sesuai tersedia di GitHub. Di GitHub, Anda juga dapat menemukan petunjuk untuk menjalankan contoh di Colab.