View a markdown version of this page

심층 상태 확인 - Amazon SageMaker AI

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

심층 상태 확인

SageMaker HyperPod는 Slurm 오케스트레이션 클러스터 인스턴스에 대한 심층 상태 확인을 수행하여 기본 하드웨어 및 인프라의 신뢰성과 안정성을 보장합니다. 심층 상태 확인은 인스턴스가 생성되거나 클러스터에 추가될 때 자동으로 실행되거나(시작 시) StartClusterHealthCheck API를 사용하여 언제든지(온디맨드 시) 수동으로 트리거할 수 있습니다. 이 선제적 접근 방식은 클러스터 수명 주기 전반에 걸쳐 잠재적 문제를 식별하고 완화하는 데 도움이 됩니다.

심층 상태 확인 중에 영향을 받는 노드는 Slurm 유지 관리 예약에 배치되어 작업이 예약되지 않도록 합니다. 모든 검사가 통과되면 노드가 예약에서 해제되고 워크로드에 사용할 수 있게 됩니다.

중요

심층 상태 확인을 사용하려면 최신 AMI 버전으로 업데이트해야 합니다. UpdateClusterSoftware를 실행하여 최신 버전의 AMI로 업데이트합니다. 이전 AMI 버전에서를 실행하는 경우 심층 상태 확인이 예상대로 작동하지 않을 수 있습니다.

심층 상태 확인 유형

SageMaker HyperPod는 Slurm 클러스터에 대해 두 가지 범주의 심층 상태 확인을 지원합니다.

  • InstanceStress - 하드웨어 스트레스 테스트(CPU, 메모리, 디스크, GPU/PCI 확인), DCGM GPU 진단 및 EFA 루프백 연결을 포함한 인스턴스 수준 테스트를 실행합니다. 이렇게 하면 개별 노드 하드웨어의 상태가 검증됩니다.

  • InstanceConnectivity - 여러 노드에서 클러스터 수준 NCCL(NVIDIA Collective Communications Library) 테스트를 실행하여 노드 간 GPU 통신 성능을 확인합니다. 이 검사는 다중 노드 GPU 통신 기능이 있는 인스턴스에서만 지원됩니다.

SageMaker HyperPod에서 수행한 심층 상태 확인 목록

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

인스턴스 수준 심층 상태 확인(InstanceStress)

카테고리 유틸리티 이름 인스턴스 유형 호환성 설명
액셀러레이터 GPU/NVLink 수 GPU GPU/NVLink 수를 확인합니다.
액셀러레이터 DCGM 진단 수준 4 GPU 추가 메모리 테스트를 포함하여 레벨 4에서 DCGM(NVIDIA Data Center GPU Manager) 진단을 실행하여 NVIDIA GPU의 상태와 기능을 평가합니다. 일반적인 지속 시간: GPU 수에 따라 ~45~90분.
Network EFA GPU 연결된 EFA 디바이스에서 EFA 루프백 대역폭 및 지연 시간 테스트를 실행합니다. 일반적인 지속 시간: ~2~5분.

클러스터 수준 심층 상태 확인(InstanceConnectivity)

카테고리 유틸리티 이름 인스턴스 유형 호환성 설명
액셀러레이터 NCCL 테스트 GPU 여러 노드에서 NCCL all_reduce 성능 테스트를 실행하여 노드 간 GPU 통신 대역폭을 확인합니다. 일반적인 지속 시간: 노드 수에 따라 ~5~15분.

시작 시 심층 상태 확인

인스턴스가 처음 프로비저닝될 때, 즉 클러스터 생성 중에 또는 UpdateCluster를 통해 새 인스턴스가 추가될 때 시작 시 심층 상태 확인이 자동으로 실행됩니다. 이렇게 하면 워크로드를 수락하기 전에 모든 노드가 하드웨어 검증을 통과할 수 있습니다.

시작 시 심층 상태 확인 활성화

시작 시 심층 상태 확인을 활성화하려면 클러스터를 생성하거나 업데이트할 때 인스턴스 그룹 구성에 OnStartDeepHealthChecks 파라미터를 지정합니다.

예: 시작 시 심층 상태 확인을 사용하여 클러스터 생성

aws sagemaker create-cluster \ --cluster-name my-slurm-cluster \ --instance-groups '[ { "InstanceGroupName": "controller-group", "InstanceType": "ml.m5.xlarge", "InstanceCount": 1, "LifeCycleConfig": { "SourceS3Uri": "s3://my-bucket/lifecycle-scripts/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/my-role", "ThreadsPerCore": 1 }, { "InstanceGroupName": "worker-group", "InstanceType": "ml.p4d.24xlarge", "InstanceCount": 4, "LifeCycleConfig": { "SourceS3Uri": "s3://my-bucket/lifecycle-scripts/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/my-role", "ThreadsPerCore": 1, "OnStartDeepHealthChecks": ["InstanceStress", "InstanceConnectivity"] } ]' \ --vpc-config '{"SecurityGroupIds":["sg-12345678"],"Subnets":["subnet-12345678"]}'

시작 시 심층 상태 확인 중에 발생하는 일

시작 시 심층 상태 확인이 활성화되면 다음 프로세스가 발생합니다.

  1. 노드 프로비저닝: 새 인스턴스가 시작되고 수명 주기 스크립트가 실행됩니다.

  2. 노드 격리: HyperPod 클러스터 에이전트는 새 노드를 Slurm 유지 관리 예약(hyperpod-deep-health-check)에 배치하고 hyperpod-system-maintenance 파티션에 추가합니다. 노드는 Slurm 기능 로 표시됩니다SageMakerDeepHealthCheck:InProgress. 이렇게 하면 테스트 중에 이러한 노드에서 작업이 예약되지 않습니다.

  3. 테스트 실행: 다음 테스트는 InstanceStress 검사의 일부로 각 노드에서 실행됩니다.

    • HARDWARE_CHECK: stress-ng CPU, 메모리 및 디스크 스트레스 테스트를 실행한 다음 GPU 및 PCI 디바이스 수 확인을 실행합니다. 일반적인 지속 시간: ~1~2분.

    • DCGM: GPU 메모리 테스트를 포함하여 레벨 4에서 NVIDIA DCGM 진단을 실행합니다. 일반적인 지속 시간: GPU 수에 따라 ~45~90분.

    • EFA: EFA 루프백 대역폭 및 지연 시간 테스트를 실행합니다. 일반적인 지속 시간: ~2~5분.

    InstanceConnectivity 도 활성화된 경우 다음과 같은 추가 테스트가 실행됩니다.

    • NCCL: 여러 노드에서 NCCL all_reduce 성능 테스트를 실행하여 노드 간 GPU 통신 대역폭을 확인합니다. 일반적인 지속 시간: 노드 수에 따라 ~5~15분.

  4. 결과 처리:

    • 통과: 노드가 유지 관리 예약에서 제거되고 심층 상태 확인 기능이 지워지며 할당된 파티션의 작업에 노드를 사용할 수 있게 됩니다.

    • 실패: 노드는 격리된 상태로 유지됩니다. SageMaker HyperPod는 장애가 발생한 노드를 자동으로 교체하고 교체에 대한 심층 상태 확인을 실행합니다.

클러스터는 적어도 컨트롤러 노드가 실행 중InService이면 로 전환됩니다. 작업자 노드는 테스트 중에 DeepHealthCheckInProgress 상태를 표시하고 전달 Running 후 로 전환합니다.

시작 시 심층 상태 확인 모니터링

Amazon SageMaker AI API 또는 Slurm 명령을 사용하여 시작 시 심층 상태 확인의 상태를 모니터링할 수 있습니다.

를 사용하여 노드 상태 확인 AWS Command Line Interface

aws sagemaker list-cluster-nodes \ --cluster-name my-slurm-cluster

심층 상태 확인을 수행하는 노드는 InstanceStatus.Status로 표시됩니다DeepHealthCheckInProgress.

컨트롤러 노드의 SSM을 통해 Slurm 상태 확인

# View node states sinfo -a -N -l # View maintenance reservation scontrol show reservations # View running DHC jobs squeue -a

심층 상태 확인 노드는 hyperpod-deep-health-check 예약 및 hyperpod-system-maintenance 파티션에 표시됩니다.

시작 시 심층 상태 확인이 활성화된 클러스터에 노드 추가

OnStartDeepHealthChecks 구성된 클러스터를 스케일 업하면 워크로드를 수락하기 전에 새 노드가 자동으로 심층 상태 확인을 거칩니다. 기존 노드와 실행 중인 작업은 영향을 받지 않습니다.

aws sagemaker update-cluster \ --cluster-name my-slurm-cluster \ --instance-groups '[ { "InstanceGroupName": "controller-group", "InstanceType": "ml.m5.xlarge", "InstanceCount": 1, "LifeCycleConfig": { "SourceS3Uri": "s3://my-bucket/lifecycle-scripts/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/my-role", "ThreadsPerCore": 1 }, { "InstanceGroupName": "worker-group", "InstanceType": "ml.p4d.24xlarge", "InstanceCount": 8, "LifeCycleConfig": { "SourceS3Uri": "s3://my-bucket/lifecycle-scripts/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/my-role", "ThreadsPerCore": 1, "OnStartDeepHealthChecks": ["InstanceStress", "InstanceConnectivity"] } ]'

심층 상태 확인이 실행되는 동안 유지 관리 예약에서 새 노드가 격리됩니다. 새 노드의 추가 용량이 필요한 작업은 해당 노드가 심층 상태 확인을 통과하여 사용할 수 있게 될 때까지 대기합니다. 사용 가능한 기존 노드에서 충족할 수 있는 작업은 영향을 받지 않습니다.

온디맨드 심층 상태 확인

온디맨드 심층 상태 확인을 사용하면 StartClusterHealthCheck API를 사용하여 언제든지 기존 클러스터 노드에서 하드웨어 검증을 트리거할 수 있습니다. 이는 정기적인 상태 확인 또는 하드웨어 문제가 의심되는 경우에 유용합니다.

참고

가 로 NodeProvisioningMode 설정된 클러스터에서는 온디맨드 심층 상태 확인이 지원되지 않습니다Continuous.

콘솔에서 온디맨드 심층 상태 확인 실행

SageMaker AI 콘솔에서 직접 HyperPod 클러스터 인스턴스에 대한 심층 상태 확인을 실행할 수 있습니다.

콘솔에서 온디맨드 심층 상태 확인을 실행하려면
  1. SageMaker AI 콘솔에서 SageMaker AI 콘솔을 엽니다.

  2. 탐색 창의 HyperPod에서 클러스터를 선택합니다.

  3. 클러스터 이름을 선택하여 클러스터 세부 정보 페이지를 엽니다.

  4. 인스턴스 테이블에서 심층 상태 확인을 실행할 인스턴스를 하나 이상 선택합니다.

    참고

    지원되는 인스턴스 패밀리에는 g5, p4 및 p5가 포함됩니다. 가속화되지 않은 인스턴스는 자동으로 건너뜁니다.

  5. 작업을 선택한 다음 심층 상태 확인 실행을 선택합니다.

  6. 스트레스 확인, 연결 확인 또는 둘 다를 선택합니다.

    • 스트레스 검사 - 로드 중인 액셀러레이터 하드웨어를 검증합니다(에 해당InstanceStress).

    • 연결 확인 - 노드 간 네트워크 통신을 검증합니다(에 해당InstanceConnectivity).

  7. 상태 확인 실행을 선택합니다.

성공 배너는 검사가 시작되었음을 확인합니다. 검사 중에는 워크로드에 인스턴스를 사용할 수 없으며,이 작업은 1시간 이상 걸릴 수 있습니다. 인스턴스 테이블의 인스턴스 상태 모니터링 - 실행 중에 진행 중인 심층 상태 확인을 표시합니다. 문제가 발견되고 자동 복구가 활성화되면 SageMaker HyperPod는 자동으로 재부팅되거나 결함이 있는 인스턴스를 교체합니다.

를 사용하여 온디맨드 심층 상태 확인 트리거 AWS Command Line Interface

실행할 인스턴스 그룹과 검사를 지정할 수 있습니다. 클러스터당 한 번에 하나의 온디맨드 심층 상태 확인 요청만 활성화할 수 있습니다.

aws sagemaker start-cluster-health-check \ --cluster-name my-slurm-cluster \ --deep-health-check-configurations '[ { "InstanceGroupName": "worker-group", "DeepHealthChecks": ["InstanceStress", "InstanceConnectivity"] } ]'

실행 중인 워크로드에 대한 동작

작업을 실행 중인 노드에서 온디맨드 심층 상태 확인이 트리거되는 경우:

  • 실행 중인 작업은 중단되거나 종료되지 않습니다.

  • 심층 상태 확인이 대기열에 추가되고 현재 작업이 완료될 때까지 기다립니다. 실행 중인 작업이 10분 이내에 완료되지 않으면 노드가 심층 상태 확인에서 건너뜁니다.

  • 노드는 테스트 중에 새 작업이 예약되지 않도록 유지 관리 예약에 배치됩니다.

심층 상태 확인의 로그

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

클러스터 수준 로그

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

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

인스턴스 수준 로그

각 노드에서 심층 상태 확인 로그는에 저장됩니다/var/log/aws/clusters/sagemaker-deep-health-check.log.

SSM을 통해 로그에 액세스할 수 있습니다.

aws ssm start-session \ --target "sagemaker-cluster:<cluster_id>_<instance_group>-<instance_id>"

그런 다음 로그를 봅니다.

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

HARDWARE_CHECK 출력 예제

2026-03-29T18:03:14Z info Executing Hardware stress check with command: stress-ng 2026-03-29T18:04:20Z info stress-ng success 2026-03-29T18:04:20Z info GpuPci Count check success

DCGM 출력 예제

2026-03-29T18:35:02Z info DCGM diagnostic health summary: dcgmCheckLevel: 4 dcgmVersion: 3.3.7 gpuDriverVersion: 535.183.01 gpuDeviceIds: [2237] replacementRequired: false rebootRequired: false

예제 EFA 출력

2026-03-29T18:36:28Z info EFA Loopback check passed for device: rdmap0s29 MaxBw: 58.59, AvgBw: 32.42, MaxTypicalLat: 30.87, AvgLat: 21.63

심층 상태 확인 실패 출력의 예

{ "level": "error", "ts": "2026-03-29T19:15:22Z", "msg": "Encountered FaultyInstance. Replace the Instance. Region: us-west-2, InstanceType: ml.g5.8xlarge. ERROR: Bandwidth has less than threshold: Expected minimum threshold: 80, NCCL Test output Bw: 30" }

심층 상태 확인을 사용하여 동작 자동 재개

심층 상태 확인을 활성화하지 않으면 자동 재개 중에 노드가 교체되면 교체 노드가 클러스터에 즉시 추가되고 자동 재개된 작업이 클러스터에 즉시 예약될 수 있습니다.

심층 상태 확인이 활성화된 경우 대체 노드는 구성된 모든 심층 상태 확인을 통과해야 사용할 수 있습니다. 그러나 자동 재개된 작업은 대체 노드를 기다릴 필요가 없습니다. 클러스터의 사용 가능한 다른 노드에서 예약할 수 있습니다. 작업은 사용 가능한 다른 노드가 없는 경우에만 대기합니다.

추가 고려 사항

  • 심층 상태 확인에는 최신 AMI 버전이 필요합니다. 심층 상태 확인을 활성화하기 전에 UpdateClusterSoftware를 실행하여 클러스터를 업데이트합니다.

  • 가 로 NodeProvisioningMode 설정된 클러스터에서는 온디맨드 심층 상태 확인이 지원되지 않습니다Continuous.

  • 심층 상태 확인은 작업자 노드에서만 실행됩니다. 컨트롤러 및 로그인 노드는 심층 상태 확인의 대상이 아닙니다.

  • 클러스터당 한 번에 하나의 온디맨드 심층 상태 확인 요청만 활성화할 수 있습니다.

  • 온디맨드 검사가 노드 재부팅 또는 교체를 트리거하는 경우 인스턴스 그룹에서가 활성화된 경우에만 교체 노드OnStartDeepHealthChecks가 심층 상태 확인을 실행합니다. 그렇지 않으면 노드가 심층 상태 확인을 다시 실행하지 않고 다시 조인합니다.