Panduan pemula ini adalah pengantar untuk mendapatkan prediksi dari model kustom di Vertex AI.
Tujuan Pembelajaran
Tingkat pengalaman Vertex AI: Pemula
Perkiraan waktu baca: 15 menit
Yang akan Anda pelajari:
- Manfaat menggunakan layanan prediksi terkelola.
- Cara kerja prediksi batch di Vertex AI.
- Cara kerja prediksi online di Vertex AI.
Mengapa menggunakan layanan prediksi terkelola?
Bayangkan Anda ditugaskan untuk membuat model yang mengambil gambar tanaman sebagai input, dan memprediksi spesies tersebut. Anda mungkin akan mulai dengan melatih model di notebook, dengan mencoba berbagai hyperparameter dan arsitektur. Jika sudah memiliki model terlatih, Anda dapat memanggil metode predict
dalam framework ML pilihan Anda dan menguji kualitas model.
Alur kerja ini bagus untuk eksperimen, tetapi saat Anda ingin menggunakan model untuk mendapatkan prediksi di banyak data, atau mendapatkan prediksi latensi rendah dengan cepat, Anda akan membutuhkan lebih dari sekadar notebook. Misalnya, Anda mencoba mengukur keanekaragaman hayati ekosistem tertentu dan alih-alih meminta manusia mengidentifikasi dan menghitung spesies tanaman secara manual di alam liar, Anda ingin menggunakan model ML ini untuk mengklasifikasikan kumpulan gambar dalam jumlah besar. Jika menggunakan notebook, Anda mungkin mengalami batasan memori. Selain itu, mendapatkan prediksi untuk semua data tersebut kemungkinan besar akan menjadi tugas yang berjalan lama dan dapat habis waktunya di notebook Anda.
Atau bagaimana jika Anda ingin menggunakan model ini di aplikasi di mana pengguna dapat mengupload gambar tanaman dan tanaman tersebut dapat langsung diidentifikasi? Anda memerlukan tempat untuk menghosting model yang ada di luar notebook yang dapat dipanggil oleh aplikasi Anda untuk prediksi. Selain itu, sangat kecil kemungkinannya Anda akan memiliki traffic yang konsisten ke model, jadi sebaiknya gunakan layanan yang dapat menskalakan otomatis saat diperlukan.
Dalam semua kasus ini, layanan prediksi terkelola akan mengurangi hambatan dalam menghosting dan menggunakan model ML Anda. Panduan ini memberikan pengantar untuk mendapatkan prediksi dari model ML di Vertex AI. Perhatikan bahwa ada penyesuaian, fitur, dan cara tambahan untuk berinteraksi dengan layanan yang tidak dibahas di sini. Panduan ini ditujukan untuk memberikan ringkasan. Untuk mengetahui detail selengkapnya, lihat dokumentasi Prediksi Vertex AI.
Ringkasan layanan prediksi terkelola
Vertex AI mendukung prediksi online dan batch.
Prediksi batch adalah konten asinkron. Jenis ini cocok untuk Anda jika tidak memerlukan respons langsung dan ingin memproses data yang terakumulasi dengan satu permintaan. Dalam contoh yang dibahas di bagian pendahuluan, ini adalah contoh kasus penggunaan mengkarakterisasi keanekaragaman hayati.
Jika ingin mendapatkan prediksi latensi rendah dari data yang diteruskan ke model Anda dengan cepat, Anda dapat menggunakan Prediksi online. Dalam contoh yang dibahas dalam pendahuluan, ini adalah kasus penggunaan ketika Anda ingin menyematkan model dalam aplikasi yang membantu pengguna mengidentifikasi spesies tanaman dengan segera.
Mengupload model ke Vertex AI Model Registry
Untuk menggunakan layanan prediksi, langkah pertama adalah mengupload model ML terlatih Anda ke Vertex AI Model Registry. Ini adalah registry tempat Anda dapat mengelola siklus proses model.
Membuat resource model
Saat melatih model dengan layanan pelatihan kustom Vertex AI, Anda dapat mengimpor model secara otomatis ke registry setelah tugas pelatihan selesai. Jika Anda melewati langkah tersebut atau melatih model di luar Vertex AI, Anda dapat menguploadnya secara manual melalui Konsol Google Cloud atau Vertex AI SDK untuk Python dengan mengarahkan ke lokasi Cloud Storage dengan artefak model yang disimpan. Format artefak model ini dapat berupa savedmodel.pb
, model.joblib
, model.pkl
, dll., bergantung pada framework ML yang Anda gunakan.
Mengupload artefak ke Vertex AI Model Registry akan membuat resource Model
, yang terlihat di konsol Google Cloud seperti yang ditunjukkan di bawah ini.
Pilih container
Saat mengimpor model ke Vertex AI Model Registry, Anda harus mengaitkannya dengan container agar Vertex AI dapat menampilkan permintaan prediksi.
Container bawaan
Vertex AI menyediakan container bawaan yang dapat Anda gunakan untuk prediksi. Container bawaan diatur oleh framework ML dan versi framework serta menyediakan server prediksi HTTP yang dapat Anda gunakan untuk menghasilkan prediksi dengan konfigurasi minimal. Fungsi ini hanya melakukan operasi prediksi framework machine learning sehingga jika Anda perlu melakukan prapemrosesan data, hal tersebut harus terjadi sebelum Anda membuat permintaan prediksi. Demikian pula, setiap pascapemrosesan harus terjadi setelah Anda melakukan permintaan prediksi. Untuk mengetahui contoh penggunaan container bawaan, lihat notebook Menayangkan model gambar PyTorch dengan container bawaan di Vertex AI
Container kustom
Jika kasus penggunaan Anda memerlukan library yang tidak disertakan dalam container bawaan, atau mungkin Anda memiliki transformasi data kustom yang ingin dilakukan sebagai bagian dari permintaan prediksi, Anda dapat menggunakan container kustom yang Anda buat dan kirim ke Artifact Registry. Meskipun container kustom memungkinkan penyesuaian yang lebih besar, container tersebut harus menjalankan server HTTP. Secara khusus, container harus memproses dan merespons pemeriksaan keaktifan, health check, dan permintaan prediksi. Pada umumnya, menggunakan container bawaan jika memungkinkan adalah opsi yang direkomendasikan dan lebih sederhana. Untuk contoh penggunaan container kustom, lihat notebook Satu GPU Klasifikasi Gambar PyTorch menggunakan Pelatihan Vertex dengan Container Kustom
Menyesuaikan Rutinitas Prediksi
Jika kasus penggunaan Anda memerlukan transformasi prapemrosesan dan pascapemrosesan kustom, dan Anda tidak ingin ada overhead pembuatan dan pengelolaan container kustom, Anda dapat menggunakan Rutinitas Prediksi Kustom. Dengan Rutinitas Prediksi Kustom, Anda dapat menyediakan transformasi data sebagai kode Python dan di belakang layar, Vertex AI SDK untuk Python akan membuat container kustom yang dapat Anda uji secara lokal dan deploy ke Vertex AI. Untuk contoh penggunaan Rutinitas Prediksi Kustom, lihat notebook Rutinitas Prediksi Kustom dengan Sklearn
Mendapatkan Prediksi Batch
Setelah model berada di Vertex AI Model Registry, Anda dapat mengirim tugas prediksi batch dari Konsol Google Cloud atau Vertex AI SDK untuk Python. Anda akan menentukan lokasi data sumber, serta lokasi di Cloud Storage atau BigQuery tempat Anda ingin menyimpan hasil. Anda juga dapat menentukan jenis mesin yang diinginkan untuk menjalankan tugas ini, serta akselerator opsional apa pun. Karena layanan prediksi terkelola sepenuhnya, Vertex AI akan otomatis menyediakan resource komputasi, melakukan tugas prediksi, dan memastikan penghapusan resource komputasi setelah tugas prediksi selesai. Status tugas prediksi batch Anda dapat dilacak di Konsol Google Cloud.
Mendapatkan Prediksi Online
Jika ingin mendapatkan prediksi online, Anda harus melakukan langkah tambahan untuk
men-deploy model Anda
ke endpoint Vertex AI.
Hal ini mengaitkan artefak model dengan resource fisik untuk layanan berlatensi rendah dan membuat resource DeployedModel
.
Setelah model di-deploy ke endpoint, model akan menerima permintaan seperti endpoint REST lainnya. Artinya, Anda dapat memanggilnya dari Cloud Function, chatbot, aplikasi web, dll. Perlu diperhatikan bahwa Anda dapat men-deploy beberapa model untuk satu endpoint, yang membagi traffic di antara model-model tersebut. Fungsionalitas ini berguna, misalnya, jika Anda ingin meluncurkan versi model baru, tetapi tidak ingin langsung mengarahkan semua traffic ke model baru. Anda juga dapat men-deploy model yang sama ke beberapa endoint.
Resource untuk mendapatkan prediksi dari model kustom di Vertex AI
Untuk mempelajari lebih lanjut cara menghosting dan menyalurkan model di Vertex AI, lihat referensi berikut atau lihat repo GitHub Vertex AI Samples.
- Video Mendapatkan Prediksi
- Melatih dan menyajikan model TensorFlow menggunakan container bawaan
- Menayangkan model image PyTorch dengan container bawaan di Vertex AI
- Menyajikan model Stable Diffusion menggunakan container bawaan
- Rutinitas Prediksi Kustom dengan Sklearn