Clusters de test

Ce document explique comment tester les problèmes liés à vos clusters GPU à l'aide de l'outil Cluster Health Scanner (CHS). Si vous souhaitez tester un cluster que vous avez créé dans Cluster Director, consultez plutôt Surveiller l'état du cluster.

L' CHS CHS vérifie l'état de vos clusters GPU en exécutant des tests pour s'assurer qu'ils sont prêts à exécuter vos charges de travail. Vous pouvez utiliser CHS pour effectuer des vérifications d'état proactives ou comme outil de diagnostic lorsque vous rencontrez des problèmes avec une charge de travail. En plus de vérifier la configuration de votre cluster, vous pouvez effectuer les tests suivants :

  • Vérification NCCL : valide la communication réseau entre les GPU à l'aide de la bibliothèque NVIDIA Collective Communications Library (NCCL).
  • Vérification GPU : utilise l'outil NVIDIA Data Center GPU Manager (DCGM) pour vérifier l'état des GPU individuels.
  • Vérification Neper : utilise l'outil Neper pour évaluer les performances du réseau au sein du cluster.
  • Détection des retardataires : exécute un modèle de trafic réseau entre les nœuds qui ressemble beaucoup aux modèles observés lors du parallélisme du pipeline de charge de travail d'entraînement LLM. En savoir plus sur la détection des retardataires.
  • Vérification Tinymax : utilise Maxtext, un framework LLM Open Source, pour évaluer l’entraînement ML au sein du cluster.

Vous ne pouvez exécuter des vérifications et des tests CHS que sur des nœuds qui n'exécutent aucune tâche ni charge de travail. Si vous essayez d'exécuter une vérification ou un test sur un nœud occupé, la vérification ou le test échoue.

L'outil CHS est disponible pour les clusters GPU orchestrés par Google Kubernetes Engine (GKE) ou Slurm, quel que soit le modèle d'approvisionnement que vous avez utilisé pour créer les clusters. Toutefois, CHS n'est disponible que pour les types de machines suivants :

  • A4X Max
  • A4X
  • A4
  • A3 Ultra
  • A3 Mega
  • A3 High

Les sections suivantes décrivent comment installer CHS, puis comment l'utiliser pour effectuer des vérifications d'état et vérifier votre configuration.

Installer CHS

Procédez comme suit pour installer CHS :

  1. Accédez à la page Compute Engine > Instances de VM.

    Accéder à la page "Instances de VM"

  2. Recherchez le nœud de connexion. Il peut avoir un nom avec le modèle DEPLOYMENT_NAME +login-001.

  3. Dans la colonne Connecter du nœud de connexion, cliquez sur SSH.

  4. Utilisez la commande suivante pour cloner le dépôt et accéder au répertoire racine du dépôt :

    git clone https://github.com/GoogleCloudPlatform/cluster-health-scanner && cd cluster-health-scanner
    
  5. Utilisez la commande suivante pour installer les dépendances de Google Cloud CLI :

    pip3 install -r cli/requirements.txt
    
  6. Facultatif : pour que la commande configcheck récupère les valeurs de configuration de votre cluster sans avoir à vous réauthentifier pour chaque machine, utilisez la commande suivante pour ajouter votre clé SSH Google Cloud CLI à votre agent SSH local :

    ssh-add ~/.ssh/google_compute_engine
    
  7. Utilisez la commande suivante pour ajouter l'alias cluster_diag pour cluster_diag.py :

    alias cluster_diag="python3 cli/cluster_diag.py"
    

Effectuer une vérification de l'état

Une fois que vous avez installé CHS, procédez comme suit pour vérifier l'état de votre cluster GPU :

  1. Accédez à la page Compute Engine > Instances de VM.

    Accéder à la page "Instances de VM"

  2. Recherchez le nœud de connexion. Il peut avoir un nom avec le modèle DEPLOYMENT_NAME +login-001.

  3. Dans la colonne Connecter du nœud de connexion, cliquez sur SSH.

  4. Vérifiez que vous vous trouvez dans le répertoire racine du dépôt.

  5. Utilisez la commande suivante pour vérifier l'état actuel de votre cluster :

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR: gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE: type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :

      • a4x-maxgpu-4g-metal
      • a4x-highgpu-4g
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  6. Utilisez la commande suivante pour vérifier l'état des GPU individuels de votre cluster :

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR: gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE: type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :
      • a4x-maxgpu-4g-metal
      • a4x-highgpu-4g
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  7. Facultatif : utilisez la commande de modèle suivante pour exécuter des vérifications supplémentaires. Envisagez d'ajouter l'option --run_only_on_available_nodes pour ignorer les nœuds indisponibles :

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR: gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE: type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :
      • a4x-maxgpu-4g-metal
      • a4x-highgpu-4g
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
    • CHECK : vérification que vous souhaitez exécuter. Utilisez l'une des options suivantes :
      • état
      • nccl
      • gpu
      • straggler
      • neper
      • tinymax

Vérifier votre configuration

Une fois que vous avez installé CHS, procédez comme suit pour vérifier la configuration de votre cluster :

  1. Vérifiez que vous vous trouvez dans le répertoire racine du dépôt.
  2. Utilisez la commande suivante pour vérifier la configuration de votre cluster. Par défaut, cette commande génère une différence. Pour ignorer la différence et n'afficher que la configuration, ajoutez l'option --no-diff :

    cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR: gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE: type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :

      • a4x-maxgpu-4g-metal
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g

La capture d'écran suivante montre le résultat d'une vérification de configuration réussie :

Résultat positif de la vérification de la configuration.
Résultat d'une vérification de configuration réussie (cliquez pour agrandir).

Étape suivante