Memahami layanan pelatihan serverless Gemini Enterprise Agent Platform

Halaman ini menjelaskan status cluster pelatihan melalui siklus proses tugas pelatihan, dan cara Agent Platform menangani error pelatihan. Anda dapat menggunakan informasi ini untuk menyesuaikan kode pelatihan Anda.

Siklus proses tugas pelatihan

Bagian ini menjelaskan cara Agent Platform menangani VM pekerja melalui siklus proses tugas pelatihan.

Mengantrekan tugas baru

Saat Anda membuat CustomJob atau HyperparameterTuningJob, tugas mungkin tetap dalam status JOB_STATE_QUEUED selama beberapa waktu sebelum Agent Platform menjalankannya. Periode ini biasanya singkat, tetapi jikaGoogle Cloud project Anda tidak memiliki sisa kuota pelatihan kustom yang memadai untuk tugas Anda, Platform Agen akan membuat tugas tersebut diantrekan sampai Anda memiliki kuota yang memadai.

Memulai worker secara paralel

Saat tugas pelatihan dimulai, Agent Platform menjadwalkan sebanyak mungkin worker dalam waktu singkat. Akibatnya, worker dapat memulai secara paralel, bukan secara berurutan. Untuk mengurangi latensi startup, Agent Platform mulai menjalankan kode Anda pada setiap worker segera setelah tersedia. Setelah semua worker tersedia, Agent Platform akan menetapkan status tugas ke JOB_STATE_RUNNING.

Pada umumnya, framework machine learning Anda akan otomatis menangani worker secara paralel. Jika menggunakan strategi distribusi dalam kode pelatihan, Anda mungkin perlu menyesuaikannya secara manual untuk menangani worker yang dimulai secara paralel. Pelajari lebih lanjut strategi distribusi di TensorFlow dan di PyTorch.

Memulai ulang worker selama tugas pelatihan

Selama tugas pelatihan, Agent Platform dapat memulai ulang worker Anda dari worker pool mana pun dengan nama host yang sama. Masalah ini dapat terjadi karena alasan berikut:

  • Pemeliharaan VM: Saat VM yang menjalankan worker tunduk pada pemeliharaan VM, Agent Platform akan memulai ulang worker di VM lain. Pelajari lebih lanjut migrasi langsung untuk pemeliharaan VM.
  • Exit selain nol: Jika worker mana pun keluar dengan kode exit selain nol, Agent Platform akan segera memulai ulang worker tersebut di VM yang sama.

    • Jika worker gagal karena error umum, worker tersebut akan diperlakukan sebagai error permanen, dan Platform Agen akan menghentikan seluruh tugasnya. Jika ada container dimulai ulang sebelum Platform Agen menghentikan seluruh tugas, container ini dapat menghasilkan log di Cloud Logging.
    • Jika worker gagal karena error non-permanen (error yang tidak tercantum di error umum), Platform Agen memungkinkan worker yang dimulai ulang dapat terus berjalan, dengan maksimum lima kali mulai ulang per worker. Setelah lima kali dimulai ulang, jika worker gagal lagi, Agent Platform akan mencoba ulang seluruh tugas hingga tiga kali sebelum menggagalkan seluruhnya.

Untuk menangani mulai ulang worker dalam kode pelatihan, simpan checkpoint secara rutin selama pelatihan sehingga Anda dapat memulihkan dari checkpoint saat worker dimulai ulang. Jika Anda memperkirakan pelatihan akan memakan waktu lebih dari empat jam, sebaiknya simpan checkpoint setidaknya sekali setiap empat jam. Pelajari cara menggunakan checkpoint pelatihan di TensorFlow dan di PyTorch.

Berhasil menyelesaikan tugas

Tugas pelatihan berhasil diselesaikan saat replika utamanya keluar dengan kode exit 0. Pada saat itu, Agent Platform akan menghentikan semua worker yang berjalan lainnya.

Cara Agent Platform menangani error tugas pelatihan

Bagian ini menjelaskan cara Agent Platform menangani error tugas pelatihan umum dan error internal.

Sekitar satu menit setelah tugas berakhir, Agent Platform akan menetapkan kode error pada objek tugas pelatihan, berdasarkan kode keluar.

Menangani error umum

Agent Platform akan menghentikan semua pekerja jika mengalami salah satu masalah berikut:

Jenis Error Log/Pesan Error Catatan
Pengecualian kode pengguna Replika REPLICA_NAME keluar dengan status EXIT_CODE bukan nol. Alasan penghentian: REASON. Jika tugas menemukan kode keluar yang bersifat sementara, Platform Agen akan mencoba memulai ulang tugas hingga tiga kali. Kode error yang berpotensi sementara yang meminta Platform Agen mencoba ulang tugas mencakup hal berikut:
  • SIGABRT
    • ExitCode 6
    • ExitCode 134 (container kustom)
  • SIGSEGV
    • ExitCode 11
    • ExitCode 139 (container kustom)
Kehabisan memori Replika REPLICA_NAME kehabisan memori dan keluar dengan status EXIT_CODE bukan nol. GKE mencadangkan memori pada node Agent Platform. Pada jenis mesin terkecil (seperti n1-standard-4), agen sistem Agent Platform dapat menggunakan hingga 40% total memori. Untuk VM yang lebih besar, overhead-nya relatif kecil. Bandingkan memori yang dapat dialokasikan untuk jenis mesin n1-standard.
Kapasitas tidak memadai di region Anda (kehabisan stok Compute Engine) Resource tidak memadai di region: REGION_NAME. Coba region lain atau gunakan akselerator yang berbeda. Stok habis terjadi saat Compute Engine mencapai kapasitasnya untuk CPU atau GPU yang dipilih di region Anda. Hal ini tidak terkait dengan kuota project Anda. Jika hal ini terjadi, Agent Platform akan mencoba memulai ulang tugas hingga tiga kali.

Untuk tugas yang berjalan di VM A2 dan A3, Dynamic Workload Scheduler memungkinkan Anda menjadwalkan tugas yang berjalan saat resource GPU yang diminta tersedia, bukan gagal dengan error kehabisan stok. Untuk mengetahui informasi selengkapnya, lihat Menjadwalkan tugas pelatihan berdasarkan ketersediaan resource.

Menangani error internal

Jika mengalami error internal, Platform Agen akan mencoba memulai ulang tugas dua kali (total tiga kali percobaan). Jika upaya mulai ulang juga gagal, Agent Platform akan menampilkan error internal dengan pesan: Internal error occurred for the current attempt.