

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

# 심층 상태 확인
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks"></a>

SageMaker HyperPod는 HyperPod 클러스터를 생성하고 업데이트하는 동안 클러스터 인스턴스에 대한 *심층 상태 확인*을 수행합니다. 심층 상태 확인은 클러스터를 기계 학습 모델 훈련에 사용할 수 있도록 허용하기 전에 기본 하드웨어 및 인프라 구성 요소를 철저히 테스트하여 SageMaker HyperPod 클러스터의 신뢰성과 안정성을 보장합니다. 이 사전 예방적 접근 방식은 클러스터 수명 주기 초기에 잠재적 문제를 식별하고 완화하는 데 도움이 됩니다.

## SageMaker HyperPod에서 수행한 심층 상태 확인 목록
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-list"></a>

SageMaker HyperPod는 다음과 같은 심층 상태 확인을 실행합니다.

**인스턴스 수준 심층 상태 확인**


| 카테고리 | 유틸리티 이름 | 인스턴스 유형 호환성 | 설명 | 
| --- | --- | --- | --- | 
| 액셀러레이터 | GPU/NVLink 수 | GPU | GPU/NVLink 수를 확인합니다. | 
| 액셀러레이터 | [DCGM 진단](https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/dcgm-diagnostics.html) 수준 4 | GPU | 추가 메모리 테스트를 포함하여 레벨 4에서 DCGM(NVIDIA Data Center GPU Manager) 진단을 실행하여 NVIDIA GPU의 상태와 기능을 평가합니다. | 
| 액셀러레이터 | Neuron sysfs | Trainium | Trainium 기반 인스턴스의 경우 Neuron 드라이버가 직접 전파하는 [Neuron sysfs](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-sysfs-user-guide.html)의 카운터를 읽고 Neuron 디바이스의 상태를 확인합니다. | 
| 액셀러레이터 | Neuron 하드웨어 확인 | Trainium | 훈련 워크로드를 실행하고 결과를 확인하여 하드웨어를 테스트합니다. | 
| 액셀러레이터 | NCCOM 로컬 테스트 | Trainium | 단일 Trainium 노드에서 집합 통신 작업의 성능을 평가합니다. | 
| Network | EFA | GPU 및 Trainium | 연결된 EFA 디바이스에서 지연 시간 및 대역폭 벤치마킹을 실행합니다. | 

**클러스터 수준 심층 상태 확인**


| 카테고리 | 유틸리티 이름 | 인스턴스 유형 호환성 | 설명 | 
| --- | --- | --- | --- | 
| 액셀러레이터 | NCCL 테스트 | GPU | 여러 NVIDIA GPU에서 집합 통신 작업의 수행을 확인합니다 | 
| 액셀러레이터 | NCCOM 클러스터 테스트 | Trainium | 여러 Trainium 노드에서 집합 통신 작업의 수행을 확인합니다 | 

## 심층 상태 확인의 로그
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-log"></a>

다음은 SageMaker HyperPod 심층 상태 확인의 로그 예제입니다.

**클러스터 수준 로그** 

클러스터 수준 심층 상태 확인 로그는 `/aws/sagemaker/Clusters/<cluster_name>/<cluster_id>`의 CloudWatch 로그 그룹에 저장됩니다.

로그 스트림은 `DeepHealthCheckResults/<log_stream_id>`에 기록됩니다.

아래에 표시된 예제로 심층 상태 확인 출력 로그는 실패 원인과 함께 검사에 실패한 인스턴스 ID를 보여줍니다.

```
{
    "level": "error",
    "ts": "2024-06-18T21:15:22Z",
    "msg": "Encountered FaultyInstance. Replace the Instance. Region: us-west-2, InstanceType: p4d.24xlarge. ERROR:Bandwidth has less than threshold: Expected minimum threshold :80,NCCL Test output Bw: 30"
}
```

**인스턴스 수준 로그** 

인스턴스 수준 심층 상태 확인 로그는 각 노드의 `/var/log/aws/clusters/sagemaker-deep-health-check.log`에 저장됩니다. SSH를 노드에 넣고 다음 명령을 실행하여 로그 파일을 엽니다.

```
cat /var/log/aws/clusters/sagemaker-deep-health-check.log
```

다음은 하드웨어 스트레스, [NVIDIA DCGM](https://developer.nvidia.com/dcgm) 스트레스 및 EFA 연결 테스트의 예제 출력입니다.

```
# Hardware Stress Test output

2024-08-20T21:53:58Z info Executing Hardware stress check with command: stress-ng, and args: [--cpu 32 --vm 2 --hdd 1 --fork 8 --switch 4 --timeout 60 --metrics]

2024-08-20T21:54:58Z info stress-ng success

2024-08-20T21:54:58Z    info    GpuPci Count check success

# DCGM Stress Test

2024-08-20T22:25:02Z    info    DCGM diagnostic health summary: dcgmCheckLevel: 0 dcgmVersion: 3.3.7 gpuDriverVersion: 535.183.01, gpuDeviceIds: [2237] replacementRequired: false rebootRequired:false

# EFA Loopback Test

2024-08-20T22:26:28Z    info    EFA Loopback check passed for device: rdmap0s29 . Output summary is MaxBw: 58.590000, AvgBw: 32.420000, MaxTypicalLat: 30.870000, MinTypicalLat: 20.080000, AvgLat: 21.630000
```

다음은 NCCL 연결 테스트의 예시 출력입니다.

```
#       size         count      type   redop    root     time   algbw   busbw #wrong     time   algbw   busbw #wrong

#        (B)    (elements)                               (us)  (GB/s)  (GB/s)            (us)  (GB/s)  (GB/s)       

           8             2     float     sum      -1    353.9    0.00    0.00      0    304.2    0.00    0.00      0
          16             4     float     sum      -1    352.8    0.00    0.00      0    422.9    0.00    0.00      0
          32             8     float     sum      -1    520.0    0.00    0.00      0    480.3    0.00    0.00      0
          64            16     float     sum      -1    563.0    0.00    0.00      0    416.1    0.00    0.00      0
         128            32     float     sum      -1    245.1    0.00    0.00      0    308.4    0.00    0.00      0
         256            64     float     sum      -1    310.8    0.00    0.00      0    304.9    0.00    0.00      0
         512           128     float     sum      -1    304.9    0.00    0.00      0    300.8    0.00    0.00      0
        1024           256     float     sum      -1    509.3    0.00    0.00      0    495.4    0.00    0.00      0
        2048           512     float     sum      -1    530.3    0.00    0.00      0    420.0    0.00    0.00      0
        4096          1024     float     sum      -1    391.2    0.01    0.01      0    384.5    0.01    0.01      0
        8192          2048     float     sum      -1    328.5    0.02    0.02      0    253.2    0.03    0.03      0
       16384          4096     float     sum      -1    497.6    0.03    0.03      0    490.9    0.03    0.03      0
       32768          8192     float     sum      -1    496.7    0.07    0.07      0    425.0    0.08    0.08      0
       65536         16384     float     sum      -1    448.0    0.15    0.15      0    501.0    0.13    0.13      0
      131072         32768     float     sum      -1    577.4    0.23    0.23      0    593.4    0.22    0.22      0
      262144         65536     float     sum      -1    757.8    0.35    0.35      0    721.6    0.36    0.36      0
      524288        131072     float     sum      -1   1057.1    0.50    0.50      0   1019.1    0.51    0.51      0
     1048576        262144     float     sum      -1   1460.5    0.72    0.72      0   1435.6    0.73    0.73      0
     2097152        524288     float     sum      -1   2450.6    0.86    0.86      0   2583.1    0.81    0.81      0
     4194304       1048576     float     sum      -1   4344.5    0.97    0.97      0   4419.3    0.95    0.95      0
     8388608       2097152     float     sum      -1   8176.5    1.03    1.03      0   8197.8    1.02    1.02      0
    16777216       4194304     float     sum      -1    15312    1.10    1.10      0    15426    1.09    1.09      0
    33554432       8388608     float     sum      -1    30149    1.11    1.11      0    29941    1.12    1.12      0
    67108864      16777216     float     sum      -1    57819    1.16    1.16      0    58635    1.14    1.14      0
   134217728      33554432     float     sum      -1   115699    1.16    1.16      0   115331    1.16    1.16      0
   268435456      67108864     float     sum      -1   227507    1.18    1.18      0   228047    1.18    1.18      0
   536870912     134217728     float     sum      -1   453751    1.18    1.18      0   456595    1.18    1.18      0
  1073741824     268435456     float     sum      -1   911719    1.18    1.18      0   911808    1.18    1.18      0
  2147483648     536870912     float     sum      -1  1804971    1.19    1.19      0  1806895    1.19    1.19      0

2024-08-20T16:22:43.831-07:00

# Out of bounds values : 0 OK

2024-08-20T16:22:43.831-07:00

# Avg bus bandwidth    : 0.488398 

2024-08-20T23:22:43Z    info    Nccl test successful. Summary: NcclMaxAlgoBw: 1.190000, NcclAvgAlgoBw: 0.488398, NcclThresholdAlgoBw: 1.180000, NcclOutOfBoundError: OK, NcclOperations: all_reduce_perf, NcclTotalDevices: 2, NcclNodes: 2, NcclClusterMessage:
```