기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Ray를 사용한 자동 노드 복구
HyperPod는 노드에서 하드웨어 및 GPU 장애를 감지하고 운영자 작업 없이 해당 노드를 복구합니다. 이는 인프라 계층에서 실행됩니다. Ray에는 구성이 필요하지 않으며 훈련 코드가 변경되지 않습니다.
설정
HyperPod 클러스터Automatic에서를 NodeRecovery로 설정합니다. Ray가 아닌 클러스터를 생성하거나 업데이트할 때 이를 적용합니다. 자세한 내용은 SageMaker AI API 참조의 NodeRecovery를 참조하세요. SageMaker
클러스터에 대한 노드 복구가 켜져 있으면 클러스터에서 실행되는 모든 Ray 워크로드에 적용됩니다.
Ray에서 작동하는 방식
HyperPod는 결함이 있는 노드를 재부팅하거나 교체하여 복구합니다. Ray는 노드를 탈퇴했다가 다시 조인하는 것을 일반적인 작업자 손실로 취급합니다. 헤드는 손실된 작업자를 감지하고 영향을 받는 작업 및 작업자를 다시 예약합니다. 복구된 노드가 클러스터에 다시 가입하면 훈련이 계속됩니다.
Amazon EKS로 오케스트레이션된 클러스터의 노드 복구에 대한 자세한 내용은 Amazon EKS로 오케스트레이션된 SageMaker HyperPod 클러스터의 클러스터 복원력 기능을 참조하세요.
Ray Train에서 재시도 구성
노드 복구는 노드를 복원하지만 훈련 실행에 재시도를 지시해야 합니다. Ray Train은 작업자가 실패할 때 최대 까지 실행을 재시도max_failures합니다FailureConfig. 기본값은 0이므로 HyperPod가 노드를 복구하더라도 단일 노드 결함이 실행을 종료합니다.
재시도 시 자유로워야 합니다. 하드웨어 장애는 클러스터 규모에서 일상적이며 다시 시작하지 않고 최신 체크포인트에서 다시 시도합니다. 다음 예제에서는 의도적으로 높은 값인 20을 사용합니다.
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()
무기한 재시도max_failures=-1하도록 설정합니다. 재시도는 실행 체크포인트가 있는 경우에만 지불되므로 체크포인트와 페어링합니다. 자세한 내용은 계층형 체크포인트 단원을 참조하십시오.