Neste documento, explicamos como testar problemas com seus clusters de GPU usando a ferramenta de verificação de integridade do cluster (CHS, na sigla em inglês). Se você quiser testar um cluster criado no Cluster Director, consulte Monitorar a integridade do cluster.
A ferramenta CHS verifica a integridade dos seus clusters de GPU, executando testes para verificar se eles estão prontos para executar suas cargas de trabalho. Você pode usar o CHS para realizar verificações de integridade proativas ou como uma ferramenta de diagnóstico quando encontrar problemas com uma carga de trabalho. Além de verificar a configuração do cluster, é possível realizar os seguintes testes:
- Verificação do NCCL: valida a comunicação de rede entre GPUs usando a NVIDIA Collective Communications Library (NCCL).
- Verificação de GPU: usa a ferramenta Data Center GPU Manager (DCGM) da NVIDIA para verificar a integridade de GPUs individuais.
- Verificação de Neper: usa a ferramenta Neper para avaliar o desempenho da rede no cluster.
- Detecção de straggler: executa um padrão de tráfego de rede entre nós que se assemelham muito aos padrões vistos durante o paralelismo do pipeline de carga de trabalho de treinamento do LLM. Saiba mais sobre a detecção de atrasos.
- Verificação do Tinymax: usa o Maxtext, um framework de LLM de código aberto, para avaliar o treinamento de ML no cluster.
Só é possível executar verificações e testes do CHS em nós que não estão executando jobs ou cargas de trabalho. Se você tentar executar uma verificação ou um teste em um nó ocupado, a verificação ou o teste vai falhar.
A ferramenta CHS está disponível para clusters de GPU orquestrados pelo Google Kubernetes Engine (GKE) ou pelo Slurm, independente do modelo de provisionamento usado para criar os clusters. No entanto, o CHS está disponível apenas para os seguintes tipos de máquinas:
- A4
- A3 Ultra
- A3 Mega
- A3 High
As seções a seguir descrevem como instalar o CHS e como usá-lo para realizar verificações de integridade e verificar sua configuração.
Instalar o CHS
Use o procedimento a seguir para instalar o CHS:
Acesse a página Compute Engine > Instâncias de VM.
Localize o nó de login. Ele pode ter um nome com o padrão
DEPLOYMENT_NAME+login-001.Na coluna Conectar do nó de login, clique em SSH.
Use o comando a seguir para clonar o repositório e acessar o diretório raiz dele:
git clone https://github.com/GoogleCloudPlatform/cluster-health-scanner && cd cluster-health-scanner
Use o comando a seguir para instalar dependências da Google Cloud CLI:
pip3 install -r cli/requirements.txt
Opcional: para permitir que o comando
configcheckbusque valores de configuração do cluster sem precisar se autenticar novamente em cada máquina, use o comando a seguir para adicionar a chave SSH da CLI do Google Cloud ao agente SSH local:ssh-add ~/.ssh/google_compute_engine
Use o seguinte comando para adicionar o alias
cluster_diagparacluster_diag.py:alias cluster_diag="python3 cli/cluster_diag.py"
Fazer uma verificação de integridade
Depois de instalar o CHS, faça o seguinte para verificar a integridade do cluster de GPU:
Acesse a página Compute Engine > Instâncias de VM.
Localize o nó de login. Ele pode ter um nome com o padrão
DEPLOYMENT_NAME+login-001.Na coluna Conectar do nó de login, clique em SSH.
Verifique se você está no diretório raiz do repositório.
Use o seguinte comando para verificar o status atual do seu cluster:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
Substitua:
ORCHESTRATOR:gkeouslurm, dependendo do orquestrador que você está usando.GPU_TYPE: o tipo de máquina de GPU que você está usando, que pode ser um dos seguintes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Use o comando a seguir para verificar a integridade de GPUs individuais no cluster:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
Substitua:
ORCHESTRATOR:gkeouslurm, dependendo do orquestrador que você está usando.GPU_TYPE: o tipo de máquina de GPU que você está usando, que pode ser um dos seguintes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Opcional: use o seguinte comando de modelo para executar outras verificações. Considere adicionar a flag
--run_only_on_available_nodespara pular nós indisponíveis:cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
Substitua:
ORCHESTRATOR:gkeouslurm, dependendo do orquestrador que você está usando.GPU_TYPE: o tipo de máquina de GPU que você está usando, que pode ser um dos seguintes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
CHECK: a verificação que você quer executar. Use uma das seguintes opções:- status
- nccl
- gpu
- que ficou para trás
- neper
- tinymax
Verificar a configuração
Depois de instalar o CHS, faça o seguinte para verificar a configuração do seu cluster:
- Verifique se você está no diretório raiz do repositório.
Use o comando a seguir para verificar a configuração do cluster. Por padrão, esse comando produz uma diff. Para pular a diff e apenas imprimir a configuração, adicione a flag
--no-diff:cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
Substitua:
ORCHESTRATOR:gkeouslurm, dependendo do orquestrador que você está usando.GPU_TYPE: o tipo de máquina de GPU que você está usando, que pode ser um dos seguintes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
A captura de tela a seguir mostra o resultado de uma verificação de configuração bem-sucedida:
A seguir
- Monitorar instâncias do Compute Engine e clusters do Slurm
- Resolver problemas de lentidão de desempenho