Anda dapat menggunakan kemampuan pemrosesan data skala Dataflow ML untuk pipeline prediksi dan inferensi dan untuk persiapan data untuk pelatihan.
Persyaratan dan batasan
- Dataflow ML mendukung pipeline batch dan streaming.
RunInference
API didukung di Apache Beam 2.40.0 dan versi yang lebih baru.MLTransform
API didukung di Apache Beam 2.53.0 dan versi yang lebih baru.- Pengendali model tersedia untuk PyTorch, scikit-learn, TensorFlow, ONNX, dan TensorRT. Untuk framework yang tidak didukung, Anda dapat menggunakan pengendali model kustom.
Persiapan data untuk pelatihan
Gunakan fitur
MLTransform
guna menyiapkan data untuk melatih model ML. Untuk mengetahui informasi selengkapnya, lihat Melakukan prapemrosesan data denganMLTransform
.Gunakan Dataflow dengan framework ML-OPS, seperti Kubeflow Pipelines (KFP) atau TensorFlow Extended (TFX). Untuk mempelajari lebih lanjut, lihat Dataflow ML dalam alur kerja ML.
Pipeline prediksi dan inferensi
Dataflow ML menggabungkan kecanggihan Dataflow dengan RunInference
API Apache Beam.
Dengan RunInference
API, Anda menentukan karakteristik dan properti model serta meneruskan konfigurasi tersebut ke transformasi RunInference
. Fitur ini memungkinkan pengguna menjalankan model dalam pipeline Dataflow tanpa perlu mengetahui detail penerapan model. Anda dapat memilih framework yang paling sesuai dengan data, seperti TensorFlow dan PyTorch.
Menjalankan beberapa model dalam pipeline
Gunakan transformasi RunInference
untuk menambahkan beberapa model inferensi ke pipeline Dataflow Anda. Untuk mengetahui informasi selengkapnya, termasuk detail kode, lihat Pipeline multimodel dalam dokumentasi Apache Beam.
Menggunakan GPU dengan Dataflow
Untuk pipeline streaming atau batch yang perlu menggunakan akselerator, Anda dapat menjalankan pipeline Dataflow di perangkat GPU NVIDIA. Untuk mengetahui informasi selengkapnya, lihat Menjalankan pipeline Dataflow dengan GPU.
Memecahkan masalah Dataflow ML
Bagian ini memberikan link dan strategi pemecahan masalah yang mungkin berguna bagi Anda saat menggunakan Dataflow ML.
Stack mengharapkan setiap TensorFlow memiliki ukuran yang sama
Jika Anda memberikan gambar dengan ukuran yang berbeda atau embedding kata dengan panjang yang berbeda saat menggunakan RunInference
API, error berikut mungkin akan terjadi:
File "/beam/sdks/python/apache_beam/ml/inference/pytorch_inference.py", line 232, in run_inference batched_tensors = torch.stack(key_to_tensor_list[key]) RuntimeError: stack expects each tensor to be equal size, but got [12] at entry 0 and [10] at entry 1 [while running 'PyTorchRunInference/ParDo(_RunInferenceDoFn)']
Error ini terjadi karena RunInference
API tidak dapat mengelompokkan elemen TensorFlow
dengan ukuran yang berbeda. Untuk solusinya, lihat
Tidak dapat mengelompokkan elemen TensorFlow
dalam dokumentasi Apache Beam.
Langkah selanjutnya
- Pelajari notebook kasus penggunaan.
- Dapatkan informasi mendalam tentang penggunaan ML dengan Apache Beam dalam dokumentasi pipeline AI/ML Apache Beam.
- Pelajari
RunInference
API lebih lanjut. - Pelajari metrics yang dapat Anda gunakan untuk memantau transformasi
RunInference
.