Container di AI Platform Training adalah fitur yang dapat Anda gunakan untuk menjalankan aplikasi dalam image Docker. Anda dapat membangun container kustom Anda sendiri untuk menjalankan tugas di AI Platform Training menggunakan framework dan versi ML serta dependensi, library, dan biner non-ML yang tidak didukung pada Pelatihan AI Platform.
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 membuat container kustom untuk tugas pelatihan. Dalam container kustom, Anda telah menginstal aplikasi pelatihan dan semua dependensinya terlebih dahulu ke dalam image yang akan digunakan untuk menjalankan tugas pelatihan.
- Simpan data pelatihan dan verifikasi Anda di sumber yang dapat diakses oleh Pelatihan AI Platform. Ini biasanya berarti memasukkannya ke dalam 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 membangun image Docker dan mengirimkannya ke Container Registry, sehingga memastikan 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 Pelatihan AI Platform menyiapkan resource untuk tugas
Anda. Ini mengalokasikan satu atau beberapa virtual machine (disebut instance pelatihan) berdasarkan konfigurasi tugas Anda. Anda menyiapkan instance pelatihan menggunakan container kustom yang ditentukan sebagai bagian dari objek
TrainingInput
saat mengirimkan tugas pelatihan. - Layanan pelatihan menjalankan image Docker Anda, dengan 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, AI Platform Training akan menghentikan semua proses tugas dan membersihkan resource.
Keuntungan container kustom
Dengan container kustom, Anda dapat menentukan dan menginstal sebelumnya semua dependensi yang diperlukan untuk aplikasi Anda.
- 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 menemukan versi runtime Pelatihan AI Platform yang mendukung framework ML yang ingin digunakan, Anda dapat membangun 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 pada Pelatihan AI Platform, Anda menentukan metrik sasaran, serta apakah akan meminimalkan atau memaksimalkannya. Misalnya, Anda mungkin ingin memaksimalkan akurasi model, atau meminimalkan kerugian model. Anda juga mencantumkan hyperparameter yang ingin Anda sesuaikan, bersama dengan 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, AI Platform Training melaporkan nilai untuk konfigurasi yang paling efektif dari hyperparameter Anda, serta ringkasan untuk setiap uji coba.
Untuk melakukan penyesuaian hyperparameter dengan penampung kustom, Anda perlu melakukan penyesuaian berikut:
- Di Dockerfile: instal
cloudml-hypertune
. - Dalam kode pelatihan:
- Gunakan
cloudml-hypertune
untuk melaporkan hasil dari setiap uji coba dengan memanggil fungsi helpernya,report_hyperparameter_tuning_metric
. - Tambahkan argumen command line untuk setiap hyperparameter, dan tangani argumen yang
diuraikan dengan parser argumen seperti
argparse
.
- Gunakan
- Dalam permintaan tugas Anda: tambahkan
HyperparameterSpec
ke objekTrainingInput
.
Lihat contoh pelatihan dengan penampung kustom yang menggunakan penyesuaian hyperparameter atau pelajari lebih lanjut cara kerja penyesuaian hyperparameter pada 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
gambar
nvidia/cuda
sebagai image dasar adalah cara yang direkomendasikan untuk menangani hal ini. Alat ini memiliki versi yang cocok untuk toolkit CUDA dan cuDNN yang telah diinstal sebelumnya, serta 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 container kustom.