View a markdown version of this page

Verificações de integridade profundas - SageMaker Inteligência Artificial da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Verificações de integridade profundas

SageMaker HyperPod realiza verificações de integridade detalhadas nas instâncias do cluster durante a criação e atualização dos HyperPod clusters. Você também pode solicitar verificações de saúde detalhadas sob demanda para um SageMaker HyperPod cluster usando a StartClusterHealthCheckAPI. As verificações profundas de integridade garantem a confiabilidade e a estabilidade dos SageMaker HyperPod clusters testando os componentes subjacentes de hardware e infraestrutura. Essa abordagem proativa ajuda a identificar e mitigar possíveis problemas no início do ciclo de vida do cluster.

Lista de verificações de saúde detalhadas feitas por SageMaker HyperPod

SageMaker HyperPod executa as seguintes verificações de saúde detalhadas.

Instance-level verificações de saúde aprofundadas

Categoria Nome do utilitário Compatibilidade de tipo de instância Description
Acelerador GPU/NVLink count GPU Verifica as GPU/NVLink contagens.
Acelerador Diagnóstico DCGM de nível 4 GPU Avalia a integridade e a funcionalidade das GPUs NVIDIA executando o diagnóstico DCGM (NVIDIA Data Center GPU Manager) no nível 4, incluindo testes adicionais de memória.
Acelerador Sistemas de neurônios Trainium Por exemplo Trainium-powered , a integridade dos dispositivos Neuron é determinada pela leitura de contadores do Neuron sysfs propagados diretamente pelo driver Neuron.
Acelerador Verificação de hardware Neuron Trainium Executa uma carga de trabalho de treinamento e verifica os resultados para testar o hardware.
Acelerador Teste local do NCCOM Trainium Avalia o desempenho das operações de comunicação coletiva em nós únicos do Trainium
Rede EFA GPU e Trainium Executa benchmarking de latência e largura de banda no dispositivo EFA conectado.

Cluster-level verificações de saúde aprofundadas

Categoria Nome do utilitário Compatibilidade de tipo de instância Description
Acelerador Teste NCCL GPU Verifica o desempenho das operações de comunicação coletiva em várias GPUs NVIDIA
Acelerador Teste de cluster NCCOM Trainium Verifica o desempenho das operações de comunicação coletiva em vários nós do Trainium
Verificações de saúde detalhadas com grupos de instâncias flexíveis

Para grupos de instâncias que usam InstanceRequirements com vários tipos de instância, as verificações de saúde profundas se comportam da seguinte maneira:

  • Instance-level verificações profundas de integridade são executadas somente em tipos de instância de GPU qualificados. Os tipos de instância de CPU em um grupo de instâncias flexível são ignorados.

  • Cluster-level testes de conectividade (como NCCL AllReduce) são executados somente entre instâncias do mesmo tipo dentro do grupo de instâncias. Isso garante resultados de teste precisos que refletem os recursos de rede de cada tipo de instância.

  • Se as verificações de saúde profundas estiverem habilitadas, pelo menos um tipo de instância no grupo de instâncias flexíveis deverá oferecer suporte a verificações de saúde profundas.

Logs das verificações de integridade profundas

Veja a seguir exemplos de registros das verificações de saúde SageMaker HyperPod detalhadas.

Cluster-level logs

Os registros de verificação profunda de integridade em nível de cluster são armazenados em seu CloudWatch grupo de registros em /aws/sagemaker/Clusters/<cluster_name>/<cluster_id>

Os fluxos de log estão registrados em DeepHealthCheckResults/<log_stream_id>.

Como exemplo mostrado abaixo, os logs de saída da verificação de integridade profunda mostram o ID da instância que falhou nas verificações e a causa da falha.

{ "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" }

Instance-level logs

Os logs de verificação de integridade profunda em nível de instância são armazenados em /var/log/aws/clusters/sagemaker-deep-health-check.log em cada nó. Faça o SSH no nó e abra o arquivo de log executando o comando a seguir.

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

A seguir, um exemplo de estresse de hardware, estresse NVIDIA DCGM e teste de conectividade 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

Confira a seguir um exemplo do resultado do teste de saída.

# 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: