Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemulihan simpul otomatis dengan Ray
HyperPod mendeteksi kesalahan perangkat keras dan GPU pada node dan memulihkan node itu tanpa tindakan operator. Ini berjalan di lapisan infrastruktur. Ray tidak memerlukan konfigurasi untuk itu, dan kode pelatihan Anda tidak berubah.
Pengaturan
Setel NodeRecovery ke Automatic pada HyperPod cluster. Anda menerapkan ini ketika Anda membuat atau memperbarui cluster, bukan dari Ray. Untuk informasi selengkapnya, lihat NodeRecoverydi Referensi SageMaker AI API.
Setelah pemulihan node aktif untuk cluster, itu berlaku untuk setiap beban kerja Ray yang berjalan di atasnya.
Cara kerjanya dengan Ray
HyperPod memulihkan node yang salah dengan me-reboot atau dengan menggantinya. Ray memperlakukan node yang pergi dan bergabung kembali sebagai kehilangan pekerja biasa. Kepala mendeteksi pekerja yang hilang dan menjadwal ulang tugas dan aktor yang terkena dampak. Pelatihan berlanjut saat node yang dipulihkan bergabung kembali dengan cluster.
Untuk detail pemulihan node pada klaster yang diatur dengan Amazon EKS, lihat Fitur ketahanan klaster untuk klaster yang SageMaker HyperPod diatur dengan Amazon EKS.
Konfigurasikan percobaan ulang di Ray Train
Pemulihan node mengembalikan node, tetapi latihan Anda harus diberitahu untuk mencoba lagi. Ray Train mencoba lari lagi ketika seorang pekerja gagal, hingga aktifmax_failures. FailureConfig Defaultnya adalah 0, jadi kesalahan node tunggal mengakhiri proses meskipun HyperPod memulihkan node.
Jadilah liberal dengan percobaan ulang. Kesalahan perangkat keras rutin pada skala cluster, dan percobaan ulang dilanjutkan dari pos pemeriksaan terbaru Anda daripada memulai dari awal. Contoh berikut menggunakan 20, nilai yang sengaja tinggi.
from ray.train import FailureConfig, RunConfig, ScalingConfig from ray.train.torch import TorchTrainer trainer = TorchTrainer( train_loop_per_worker=train_func, scaling_config=ScalingConfig(num_workers=8, use_gpu=True), run_config=RunConfig( failure_config=FailureConfig(max_failures=20), ), ) trainer.fit()
Setel max_failures=-1 untuk mencoba lagi tanpa batas waktu. Mencoba lagi hanya membuahkan hasil jika pos pemeriksaan dijalankan, jadi pasangkan ini dengan pos pemeriksaan. Untuk informasi selengkapnya, lihat Pos pemeriksaan berjenjang.