Questo documento spiega come verificare la presenza di problemi con i tuoi cluster GPU utilizzando lo strumento di analisi dell'integrità del cluster (CHS). Se vuoi testare un cluster che hai creato in Cluster Director, consulta invece Monitorare l'integrità del cluster.
Lo strumento CHS controlla l'integrità dei cluster GPU eseguendo test per verificare che i cluster siano pronti per eseguire i workload. Puoi utilizzare CHS per eseguire controlli di integrità proattivi o come strumento di diagnostica quando riscontri problemi con un carico di lavoro. Oltre a controllare la configurazione del cluster, puoi eseguire i seguenti test:
- Controllo NCCL: convalida la comunicazione di rete tra le GPU utilizzando la NVIDIA Collective Communications Library (NCCL).
- Controllo GPU: utilizza lo strumento Data Center GPU Manager (DCGM) di NVIDIA per controllare lo stato delle singole GPU.
- Controllo Neper: utilizza lo strumento Neper per valutare le prestazioni di rete all'interno del cluster.
- Rilevamento di nodi lenti: esegue un pattern di traffico di rete tra nodi che assomigliano molto ai pattern osservati durante il parallelismo della pipeline del carico di lavoro di addestramento LLM. Scopri di più sul rilevamento degli elementi in ritardo.
- Controllo Tinymax: utilizza Maxtext, un framework LLM open source, per valutare l'addestramento ML all'interno del cluster.
Puoi eseguire controlli e test CHS solo sui nodi che non eseguono job o workload. Se provi a eseguire un controllo o un test su un nodo occupato, il controllo o il test non va a buon fine.
Lo strumento CHS è disponibile per i cluster GPU orchestrati da Google Kubernetes Engine (GKE) o Slurm, indipendentemente dal modello di provisioning utilizzato per creare i cluster. Tuttavia, CHS è disponibile solo per i seguenti tipi di macchine:
- A4
- A3 Ultra
- A3 Mega
- A3 High
Le sezioni seguenti descrivono come installare CHS e come utilizzarlo per eseguire controlli di integrità e verificare la configurazione.
Installare CHS
Utilizza la seguente procedura per installare CHS:
Vai alla pagina Compute Engine > Istanze VM.
Individua il nodo di accesso. Potrebbe avere un nome con il pattern
DEPLOYMENT_NAME+login-001.Nella colonna Connetti del nodo di accesso, fai clic su SSH.
Utilizza il seguente comando per clonare il repository e passare alla directory radice del repository:
git clone https://github.com/GoogleCloudPlatform/cluster-health-scanner && cd cluster-health-scanner
Utilizza il seguente comando per installare le dipendenze per Google Cloud CLI:
pip3 install -r cli/requirements.txt
(Facoltativo) Per consentire al comando
configcheckdi recuperare i valori di configurazione dal cluster senza dover eseguire nuovamente l'autenticazione per ogni macchina, utilizza il seguente comando per aggiungere la chiave SSH di Google Cloud CLI all'agente SSH locale:ssh-add ~/.ssh/google_compute_engine
Utilizza il seguente comando per aggiungere l'alias
cluster_diagpercluster_diag.py:alias cluster_diag="python3 cli/cluster_diag.py"
Eseguire un controllo di integrità
Dopo aver installato CHS, esegui le seguenti operazioni per controllare lo stato del cluster GPU:
Vai alla pagina Compute Engine > Istanze VM.
Individua il nodo di accesso. Potrebbe avere un nome con il pattern
DEPLOYMENT_NAME+login-001.Nella colonna Connetti del nodo di accesso, fai clic su SSH.
Verifica di trovarti nella directory radice del repository.
Utilizza il seguente comando per controllare lo stato attuale del cluster:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
Sostituisci quanto segue:
ORCHESTRATOR:gkeoslurm, a seconda dell'orchestratore che utilizzi.GPU_TYPE: il tipo di macchina GPU che utilizzi, che può essere uno dei seguenti valori:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Utilizza il seguente comando per controllare l'integrità delle singole GPU all'interno del cluster:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
Sostituisci quanto segue:
ORCHESTRATOR:gkeoslurm, a seconda dell'orchestratore che utilizzi.GPU_TYPE: il tipo di macchina GPU che utilizzi, che può essere uno dei seguenti valori:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
(Facoltativo) Utilizza il seguente comando modello per eseguire controlli aggiuntivi. Valuta la possibilità di aggiungere il flag
--run_only_on_available_nodesper ignorare i nodi non disponibili:cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
Sostituisci quanto segue:
ORCHESTRATOR:gkeoslurm, a seconda dell'orchestratore che utilizzi.GPU_TYPE: il tipo di macchina GPU che utilizzi, che può essere uno dei seguenti valori:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
CHECK: il controllo che vuoi eseguire. Utilizza una delle seguenti opzioni:- stato
- nccl
- gpu
- straggler
- neper
- tinymax
Controlla la configurazione
Dopo aver installato CHS, esegui le seguenti operazioni per controllare la configurazione del cluster:
- Verifica di trovarti nella directory radice del repository.
Utilizza il comando seguente per controllare la configurazione del cluster. Per impostazione predefinita, questo comando produce una differenza. Per ignorare la differenza e stampare solo la configurazione, aggiungi il flag
--no-diff:cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
Sostituisci quanto segue:
ORCHESTRATOR:gkeoslurm, a seconda dell'orchestratore che utilizzi.GPU_TYPE: il tipo di macchina GPU che utilizzi, che può essere uno dei seguenti valori:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Lo screenshot seguente mostra il risultato di un controllo della configurazione riuscito:
Passaggi successivi
- Monitora le istanze Compute Engine e i cluster Slurm
- Risolvere i problemi di rallentamento delle prestazioni