Container kustom adalah image Docker yang Anda buat untuk menjalankan aplikasi pelatihan. Dengan menjalankan tugas pelatihan machine learning (ML) Anda dalamcontainer kustom, Anda dapat menggunakan framework ML, dependensi non-ML, library, dan biner yang tidak didukung di Vertex AI.
Cara kerja pelatihan dengan container
Aplikasi pelatihan Anda, yang diimplementasikan dalam framework ML pilihan Anda, adalah inti dari proses pelatihan.
Buat aplikasi yang melatih model Anda menggunakan framework ML pilihan Anda.
Putuskan apakah akan menggunakan container kustom. Mungkin ada container bawaan yang sudah mendukung dependensi Anda. Jika tidak, Anda perlu mem-build container kustom untuk tugas pelatihan Anda. Dalam container kustom, Anda menginstal sebelumnya aplikasi pelatihan dan semua dependensinya ke dalam image yang digunakan untuk menjalankan tugas pelatihan.
Simpan data pelatihan dan verifikasi Anda di sumber yang dapat diakses Vertex AI. Untuk menyederhanakan autentikasi dan mengurangi latensi, simpan data Anda di Cloud Storage, Bigtable, atau layanan penyimpanan Google Cloud lainnya di project dan region Google Cloud yang sama dengan yang Anda gunakan untuk Vertex AI. Pelajari lebih lanjut cara Vertex AI dapat memuat data Anda.
Setelah aplikasi siap dijalankan, Anda harus membangun image Docker dan mengirimkannya ke Artifact Registry atau Docker Hub, sehingga memastikan Vertex AI dapat mengakses registry Anda.
Kirim tugas pelatihan kustom Anda dengan membuat tugas kustom atau membuat pipeline pelatihan kustom.
Vertex AI menyiapkan resource untuk tugas Anda. Opsi ini mengalokasikan satu atau beberapa virtual machine (yang disebut instance pelatihan) berdasarkan konfigurasi tugas Anda. Anda menyiapkan instance pelatihan menggunakan container kustom yang ditentukan sebagai bagian dari objek
WorkerPoolSpec
saat mengirimkan tugas pelatihan kustom Anda.Vertex AI menjalankan image Docker, meneruskan argumen command line apa pun yang Anda tentukan saat membuat tugas pelatihan.
Saat tugas pelatihan Anda berhasil atau mengalami error yang tidak dapat dipulihkan, Vertex AI akan menghentikan semua proses tugas dan membersihkan resource.
Keuntungan container kustom
Dengan container kustom, Anda dapat menentukan dan menginstal semua dependensi yang diperlukan untuk aplikasi Anda terlebih dahulu.
- Waktu mulai lebih cepat. Jika menggunakan container kustom dengan dependensi yang sudah diinstal sebelumnya, Anda dapat menghemat waktu yang diperlukan oleh aplikasi pelatihan untuk menginstal dependensi saat dimulai.
- Gunakan framework ML pilihan Anda. Jika tidak dapat menemukan container bawaan Vertex AI dengan framework ML yang ingin digunakan, Anda dapat membuat container kustom dengan framework pilihan Anda dan menggunakannya untuk menjalankan tugas di Vertex AI. Misalnya, Anda dapat menggunakan container pelanggan untuk berlatih dengan PyTorch.
- Dukungan yang diperluas untuk pelatihan terdistribusi. Dengan container kustom, Anda dapat melakukan pelatihan terdistribusi menggunakan framework ML apa pun.
- Gunakan versi terbaru. Anda juga dapat menggunakan build terbaru atau versi minor
framework ML. Misalnya, Anda dapat membuat container kustom untuk berlatih dengan
tf-nightly
.
Penyesuaian hyperparameter dengan container kustom
Untuk melakukan penyesuaian hyperparameter pada Vertex AI, Anda menentukan metrik sasaran, serta apakah akan meminimalkan atau memaksimalkan setiap metrik. Misalnya, Anda mungkin ingin memaksimalkan akurasi model atau meminimalkan kehilangan model. Anda juga mencantumkan hyperparameter yang ingin Anda sesuaikan, beserta rentang nilai yang dapat diterima untuk setiap hyperparameter. Vertex AI melakukan beberapa uji coba aplikasi pelatihan Anda, melacak dan menyesuaikan hyperparameter setelah setiap uji coba. Saat tugas penyesuaian hyperparameter selesai, Vertex AI melaporkan nilai untuk konfigurasi paling efektif dari hyperparameter Anda, serta ringkasan untuk setiap uji coba.
Untuk melakukan penyesuaian hyperparameter dengan container kustom, Anda harus melakukan penyesuaian berikut:
- Di Dockerfile: instal
cloudml-hypertune
. - Dalam kode pelatihan:
- Gunakan
cloudml-hypertune
untuk melaporkan hasil setiap uji coba dengan memanggil fungsi bantuannya,report_hyperparameter_tuning_metric
. - Tambahkan argumen command line untuk setiap hyperparameter, dan tangani argumen yang mengurai dengan parser argumen seperti
argparse
.
- Gunakan
Lihat cara mengonfigurasi tugas penyesuaian hyperparameter yang menggunakan container kustom atau pelajari lebih lanjut cara kerja penyesuaian hyperparameter di Vertex AI.
GPU dalam container kustom
Untuk pelatihan dengan GPU, container kustom Anda harus memenuhi beberapa persyaratan khusus. Anda harus mem-build image Docker yang berbeda dari yang akan digunakan untuk pelatihan dengan CPU.
- Instal toolkit CUDA dan cuDNN terlebih dahulu di image Docker Anda. Cara yang direkomendasikan untuk mem-build container kustom dengan dukungan GPU adalah dengan menggunakan image
nvidia/cuda
sebagai image dasar untuk container kustom Anda. Image containernvidia/cuda
memiliki versi toolkit CUDA dan cuDNN yang cocok yang telah diinstal sebelumnya, dan ini membantu Anda menyiapkan variabel lingkungan terkait dengan benar. - Instal aplikasi pelatihan Anda, beserta framework ML yang diperlukan dan dependensi lainnya di image Docker Anda.
Lihat contoh Dockerfile untuk pelatihan dengan GPU.
Langkah selanjutnya
- Pelajari lebih lanjut cara membuat container kustom untuk tugas pelatihan Anda.