Clusters de teste

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:

  1. Acesse a página Compute Engine > Instâncias de VM.

    Acessar a página "Instâncias de VM"

  2. Localize o nó de login. Ele pode ter um nome com o padrão DEPLOYMENT_NAME +login-001.

  3. Na coluna Conectar do nó de login, clique em SSH.

  4. 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
    
  5. Use o comando a seguir para instalar dependências da Google Cloud CLI:

    pip3 install -r cli/requirements.txt
    
  6. Opcional: para permitir que o comando configcheck busque 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
    
  7. Use o seguinte comando para adicionar o alias cluster_diag para cluster_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:

  1. Acesse a página Compute Engine > Instâncias de VM.

    Acessar a página "Instâncias de VM"

  2. Localize o nó de login. Ele pode ter um nome com o padrão DEPLOYMENT_NAME +login-001.

  3. Na coluna Conectar do nó de login, clique em SSH.

  4. Verifique se você está no diretório raiz do repositório.

  5. Use o seguinte comando para verificar o status atual do seu cluster:

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
    

    Substitua:

    • ORCHESTRATOR: gke ou slurm, 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-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  6. Use o comando a seguir para verificar a integridade de GPUs individuais no cluster:

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
    

    Substitua:

    • ORCHESTRATOR: gke ou slurm, 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-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  7. Opcional: use o seguinte comando de modelo para executar outras verificações. Considere adicionar a flag --run_only_on_available_nodes para pular nós indisponíveis:

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
    

    Substitua:

    • ORCHESTRATOR: gke ou slurm, 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-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-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:

  1. Verifique se você está no diretório raiz do repositório.
  2. 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: gke ou slurm, 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-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g

A captura de tela a seguir mostra o resultado de uma verificação de configuração bem-sucedida:

Um resultado de verificação de configuração bem-sucedido.
Um resultado de verificação de configuração bem-sucedido (clique para ampliar).

A seguir