

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Ray를 사용한 자동 노드 복구
<a name="sagemaker-hyperpod-ray-node-recovery"></a>

HyperPod는 노드에서 하드웨어 및 GPU 장애를 감지하고 운영자 작업 없이 해당 노드를 복구합니다. 이는 인프라 계층에서 실행됩니다. Ray에는 구성이 필요하지 않으며 훈련 코드가 변경되지 않습니다.

## 설정
<a name="sagemaker-hyperpod-ray-node-recovery-setup"></a>

HyperPod 클러스터`Automatic`에서를 `NodeRecovery`로 설정합니다. Ray가 아닌 클러스터를 생성하거나 업데이트할 때 이를 적용합니다. 자세한 내용은 SageMaker AI API 참조의 [NodeRecovery](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html#sagemaker-CreateCluster-request-NodeRecovery)를 참조하세요. *SageMaker *

클러스터에 대한 노드 복구가 켜져 있으면 클러스터에서 실행되는 모든 Ray 워크로드에 적용됩니다.

## Ray에서 작동하는 방식
<a name="sagemaker-hyperpod-ray-node-recovery-with-ray"></a>

HyperPod는 결함이 있는 노드를 재부팅하거나 교체하여 복구합니다. Ray는 노드를 탈퇴했다가 다시 조인하는 것을 일반적인 작업자 손실로 취급합니다. 헤드는 손실된 작업자를 감지하고 영향을 받는 작업 및 작업자를 다시 예약합니다. 복구된 노드가 클러스터에 다시 가입하면 훈련이 계속됩니다.

Amazon EKS로 오케스트레이션된 클러스터의 노드 복구에 대한 자세한 내용은 [Amazon EKS로 오케스트레이션된 SageMaker HyperPod 클러스터의 클러스터 복원력 기능을](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-resiliency.html) 참조하세요.

## Ray Train에서 재시도 구성
<a name="sagemaker-hyperpod-ray-node-recovery-retries"></a>

노드 복구는 노드를 복원하지만 훈련 실행에 재시도를 지시해야 합니다. 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`하도록 설정합니다. 재시도는 실행 체크포인트가 있는 경우에만 지불되므로 체크포인트와 페어링합니다. 자세한 내용은 [계층형 체크포인트](sagemaker-hyperpod-ray-tiered-storage.md) 단원을 참조하십시오.