Untuk mengatur alur kerja machine learning yang kompleks, Anda dapat membuat framework yang mencakup langkah-langkah pra- dan pasca-pemrosesan data. Anda mungkin perlu memproses data terlebih dahulu sebelum dapat menggunakannya untuk melatih model atau memproses data setelahnya untuk mengubah output model.
Alur kerja ML sering kali berisi banyak langkah yang bersama-sama membentuk pipeline. Untuk membuat pipeline machine learning, Anda dapat menggunakan salah satu metode berikut.
- Gunakan framework orkestrasi yang memiliki integrasi bawaan dengan Apache Beam dan runner Dataflow, seperti TensorFlow Extended (TFX) atau Kubeflow Pipelines (KFP). Opsi ini paling tidak rumit.
- Buat komponen kustom di template Dataflow, lalu panggil template dari pipeline ML Anda. Panggilan ini berisi kode Apache Beam Anda.
- Bangun komponen kustom untuk digunakan dalam pipeline ML Anda dan masukkan kode Python langsung ke dalam komponen. Anda menentukan pipeline Apache Beam kustom dan menggunakan runner Dataflow dalam komponen kustom. Opsi ini adalah opsi yang paling kompleks dan mengharuskan Anda mengelola dependensi pipeline.
Setelah membuat pipeline machine learning, Anda dapat menggunakan pengorkestrasi untuk merangkai komponen guna membuat alur kerja machine learning end-to-end. Untuk mengatur komponen, Anda dapat menggunakan layanan terkelola, seperti Vertex AI Pipelines.
Menggunakan akselerator ML
Untuk alur kerja machine learning yang melibatkan pemrosesan data yang intensif secara komputasi, seperti inferensi dengan model besar, Anda dapat menggunakan akselerator dengan worker Dataflow. Dataflow mendukung penggunaan GPU dan TPU.
GPU
Anda dapat menggunakan GPU NVIDIA dengan tugas Dataflow untuk mempercepat pemrosesan. Dataflow mendukung berbagai jenis GPU NVIDIA, termasuk T4, L4, A100, H100, dan V100. Untuk menggunakan GPU, Anda perlu mengonfigurasi pipeline dengan image container kustom yang telah menginstal driver dan library GPU yang diperlukan.
Untuk mengetahui informasi mendetail tentang penggunaan GPU dengan Dataflow, lihat Dukungan Dataflow untuk GPU.
TPU
Dataflow juga mendukung Cloud TPU, yang merupakan akselerator AI yang dirancang khusus oleh Google dan dioptimalkan untuk model AI berskala besar. TPU dapat menjadi pilihan yang baik untuk mempercepat workload inferensi pada framework seperti PyTorch, JAX, dan TensorFlow. Dataflow mendukung konfigurasi TPU host tunggal, dengan setiap pekerja mengelola satu atau beberapa perangkat TPU.
Untuk mengetahui informasi selengkapnya, lihat Dukungan Dataflow untuk TPU.
Orkestrasi alur kerja
Kasus penggunaan orkestrasi alur kerja dijelaskan di bagian berikut.
- Saya ingin menggunakan Dataflow dengan Vertex AI Pipelines
- Saya ingin menggunakan Dataflow dengan KFP
- Saya ingin menggunakan Dataflow dengan TFX
Baik TFX maupun Kubeflow Pipelines (KFP) menggunakan komponen Apache Beam.
Saya ingin menggunakan Dataflow dengan Vertex AI Pipelines
Vertex AI Pipelines membantu Anda mengotomatiskan, memantau, dan mengelola sistem ML dengan mengorkestrasi alur kerja ML Anda secara serverless. Anda dapat menggunakan Vertex AI Pipelines untuk mengorkestrasi grafik asiklik terarah (DAG) alur kerja yang ditentukan oleh TFX atau KFP dan untuk melacak artefak ML Anda secara otomatis menggunakan Vertex ML Metadata. Untuk mempelajari cara menggabungkan Dataflow dengan TFX dan KFP, gunakan informasi di bagian berikut.
Saya ingin menggunakan Dataflow dengan Kubeflow Pipelines
Kubeflow adalah toolkit ML yang didedikasikan untuk mempermudah penggunaan, portabilitas, dan skalabilitas deployment alur kerja ML di Kubernetes. Kubeflow Pipelines adalah alur kerja ML menyeluruh yang dapat digunakan kembali dan dibangun menggunakan Kubeflow Pipelines SDK.
Layanan Kubeflow Pipelines bertujuan untuk menyediakan orkestrasi menyeluruh dan memfasilitasi eksperimen dan penggunaan ulang. Dengan KFP, Anda dapat bereksperimen dengan teknik orkestrasi dan mengelola pengujian, serta menggunakan kembali komponen dan pipeline untuk membuat beberapa solusi end-to-end tanpa harus memulai dari awal setiap kali.
Saat menggunakan Dataflow dengan KFP, Anda dapat menggunakan operator
DataflowPythonJobOP
atau operator
DataflowFlexTemplateJobOp
. Anda juga dapat membuat komponen yang sepenuhnya kustom. Sebaiknya gunakan operator
DataflowPythonJobOP
.
Jika Anda ingin membuat komponen kustom sepenuhnya, lihat halaman komponen Dataflow di dokumentasi Vertex AI.
Saya ingin menggunakan Dataflow dengan TFX
Komponen pipeline TFX dibangun di library TFX, dan library pemrosesan data menggunakan Apache Beam secara langsung. Misalnya, TensorFlow Transform menerjemahkan panggilan pengguna ke Apache Beam. Oleh karena itu, Anda dapat menggunakan Apache Beam dan Dataflow dengan pipeline TFX tanpa perlu melakukan pekerjaan konfigurasi tambahan. Untuk menggunakan TFX dengan Dataflow, saat Anda membangun pipeline TFX, gunakan runner Dataflow. Untuk informasi selengkapnya, lihat referensi berikut:
- Apache Beam dan TFX
- TensorFlow Extended (TFX): Menggunakan Apache Beam untuk pemrosesan data skala besar