Container di AI Platform Training adalah fitur yang memungkinkan Anda menjalankan aplikasi dalam image Docker. Anda dapat membuat container kustom sendiri untuk menjalankan tugas di AI Platform Training, menggunakan framework dan versi ML serta dependensi, library, dan biner non-ML yang tidak didukung di AI Platform Training.
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 versi runtime yang sudah mendukung dependensi Anda. Jika tidak, Anda harus mem-build container kustom untuk tugas pelatihan Anda. Dalam container kustom, Anda menginstal sebelumnya aplikasi pelatihan dan semua dependensinya ke dalam image yang akan Anda gunakan untuk menjalankan tugas pelatihan.
- Simpan data pelatihan dan verifikasi Anda di sumber yang dapat diakses Pelatihan Platform AI. Hal ini biasanya berarti menempatkannya di Cloud Storage, Bigtable, atau layanan penyimpanan Google Cloud lainnya yang terkait dengan project Google Cloud yang sama dengan yang Anda gunakan untuk Pelatihan AI Platform.
- Setelah aplikasi siap dijalankan, Anda harus mem-build image Docker dan mengirimkannya ke Container Registry, sehingga memastikan bahwa layanan AI Platform Training dapat mengakses registry Anda.
- Kirim tugas Anda menggunakan
gcloud ai-platform jobs submit training
, dengan menentukan argumen dalam fileconfig.yaml
atau flaggcloud
yang sesuai. - Layanan pelatihan AI Platform Training 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 penampung kustom yang ditentukan sebagai bagian dari objek
TrainingInput
saat mengirimkan tugas pelatihan. - Layanan pelatihan menjalankan image Docker, meneruskan argumen command line apa pun yang Anda tentukan saat membuat tugas pelatihan.
- Anda bisa mendapatkan informasi tentang tugas yang sedang berjalan dengan cara berikut:
- Di Cloud Logging. Anda dapat menemukan link ke log tugas di halaman detail Tugas Pelatihan AI Platform di konsol Google Cloud.
- Dengan meminta detail tugas atau menjalankan streaming log dengan alat command line
gcloud
(khususnya,gcloud ai-platform jobs stream-logs
). - Dengan membuat permintaan status secara terprogram ke layanan pelatihan,
menggunakan metode
projects.jobs.get
. Lihat detail selengkapnya tentang cara memantau tugas pelatihan.
- Saat tugas pelatihan Anda berhasil atau mengalami error yang tidak dapat dipulihkan, Pelatihan AI Platform 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 versi runtime AI Platform Training yang mendukung framework ML yang ingin digunakan, Anda dapat membuat container kustom yang menginstal framework pilihan Anda dan menggunakannya untuk menjalankan tugas di AI Platform Training. Misalnya, Anda dapat 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 di AI Platform Training, Anda menentukan metrik sasaran, serta apakah akan meminimalkan atau memaksimalkannya. Misalnya, Anda mungkin ingin memaksimalkan akurasi model, atau meminimalkan kehilangan model. Anda juga mencantumkan hyperparameter yang ingin Anda sesuaikan, beserta nilai target untuk setiap hyperparameter. AI Platform Training melakukan beberapa uji coba aplikasi pelatihan Anda, melacak dan menyesuaikan hyperparameter setelah setiap uji coba. Saat tugas penyesuaian hyperparameter selesai, Pelatihan AI Platform 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 penguraian argumen dengan parser argumen seperti
argparse
.
- Gunakan
- Dalam permintaan tugas Anda: tambahkan
HyperparameterSpec
ke objekTrainingInput
.
Lihat contoh pelatihan dengan penampung kustom menggunakan penyesuaian hyperparameter atau pelajari lebih lanjut cara kerja penyesuaian hyperparameter di Pelatihan AI Platform.
Menggunakan GPU dengan 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. Menggunakan
image
nvidia/cuda
sebagai image dasar adalah cara yang direkomendasikan untuk menangani hal ini. Image container ini 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 cara menggunakan container kustom untuk tugas pelatihan Anda.
- Pelajari pelatihan terdistribusi dengan penampung kustom.