En este documento, se explica cómo probar si hay problemas con tus clústeres de GPU con la herramienta de análisis de estado del clúster (CHS). Si quieres probar un clúster que creaste en Cluster Director, consulta Supervisa el estado del clúster.
La herramienta CHS verifica el estado de tus clústeres de GPU y ejecuta pruebas para verificar que los clústeres estén listos para ejecutar tus cargas de trabajo. Puedes usar CHS para realizar verificaciones de estado proactivas o como herramienta de diagnóstico cuando encuentres problemas con una carga de trabajo. Además de verificar la configuración de tu clúster, puedes realizar las siguientes pruebas:
- Verificación de NCCL: Valida la comunicación de red entre las GPUs con la biblioteca de comunicación colectiva de NVIDIA (NCCL).
- Verificación de GPU: Utiliza la herramienta Data Center GPU Manager (DCGM) de NVIDIA para verificar el estado de las GPU individuales.
- Neper check: Usa la herramienta Neper para evaluar el rendimiento de la red dentro del clúster.
- Detección de rezagados: Ejecuta un patrón de tráfico de red entre nodos que se asemeja mucho a los patrones observados durante el paralelismo de la canalización de la carga de trabajo de entrenamiento del LLM. Obtén más información sobre la detección de rezagados.
- Verificación de Tinymax: Usa Maxtext, un framework de LLM de código abierto, para evaluar el entrenamiento de AA dentro del clúster.
Solo puedes ejecutar verificaciones y pruebas de CHS en nodos que no ejecuten ningún trabajo ni carga de trabajo. Si intentas ejecutar una verificación o una prueba en un nodo ocupado, la verificación o la prueba fallarán.
La herramienta CHS está disponible para los clústeres de GPU organizados por Google Kubernetes Engine (GKE) o Slurm, independientemente del modelo de aprovisionamiento que hayas usado para crear los clústeres. Sin embargo, CHS solo está disponible para los siguientes tipos de máquinas:
- A4
- A3 Ultra
- A3 Mega
- A3 High
En las siguientes secciones, se describe cómo instalar CHS y, luego, cómo usarlo para realizar verificaciones de estado y revisar tu configuración.
Instala CHS
Sigue este procedimiento para instalar CHS:
Vaya a la página Compute Engine > instancias de VM.
Ubica el nodo de acceso. Puede tener un nombre con el patrón
DEPLOYMENT_NAME+login-001.En la columna Conectar del nodo de acceso, haz clic en SSH.
Usa el siguiente comando para clonar el repositorio y moverte al directorio raíz del repositorio:
git clone https://github.com/GoogleCloudPlatform/cluster-health-scanner && cd cluster-health-scanner
Usa el siguiente comando para instalar las dependencias de Google Cloud CLI:
pip3 install -r cli/requirements.txt
Opcional: Para permitir que el comando
configcheckrecupere valores de configuración de tu clúster sin necesidad de volver a autenticarte para cada máquina, usa el siguiente comando para agregar tu clave SSH de Google Cloud CLI a tu agente SSH local:ssh-add ~/.ssh/google_compute_engine
Usa el siguiente comando para agregar el alias
cluster_diagparacluster_diag.py:alias cluster_diag="python3 cli/cluster_diag.py"
Realiza una verificación de estado
Después de instalar CHS, haz lo siguiente para verificar el estado de tu clúster de GPU:
Vaya a la página Compute Engine > instancias de VM.
Ubica el nodo de acceso. Puede tener un nombre con el patrón
DEPLOYMENT_NAME+login-001.En la columna Conectar del nodo de acceso, haz clic en SSH.
Verifica que estás en el directorio raíz del repositorio.
Usa el siguiente comando para verificar el estado actual de tu clúster:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
Reemplaza lo siguiente:
ORCHESTRATOR: Puede sergkeoslurm, según el orquestador que uses.GPU_TYPE: Es el tipo de máquina de GPU que usas, que puede ser uno de los siguientes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Usa el siguiente comando para verificar el estado de las GPUs individuales dentro de tu clúster:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
Reemplaza lo siguiente:
ORCHESTRATOR: Puede sergkeoslurm, según el orquestador que uses.GPU_TYPE: Es el tipo de máquina de GPU que usas, que puede ser uno de los siguientes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Opcional: Usa el siguiente comando de plantilla para ejecutar verificaciones adicionales. Considera agregar la marca
--run_only_on_available_nodespara omitir los nodos no disponibles:cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
Reemplaza lo siguiente:
ORCHESTRATOR: Puede sergkeoslurm, según el orquestador que uses.GPU_TYPE: Es el tipo de máquina de GPU que usas, que puede ser uno de los siguientes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
CHECK: Es la verificación que deseas ejecutar. Usa una de las siguientes opciones:- estado
- nccl
- gpu
- rezagado
- neper
- tinymax
Verifica tu configuración
Después de instalar CHS, haz lo siguiente para verificar la configuración de tu clúster:
- Verifica que estás en el directorio raíz del repositorio.
Usa el siguiente comando para verificar la configuración de tu clúster. De forma predeterminada, este comando produce una diff. Para omitir la diff y solo imprimir la configuración, agrega la marca
--no-diff:cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
Reemplaza lo siguiente:
ORCHESTRATOR: Puede sergkeoslurm, según el orquestador que uses.GPU_TYPE: Es el tipo de máquina de GPU que usas, que puede ser uno de los siguientes valores:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
En la siguiente captura de pantalla, se muestra el resultado de una verificación de configuración exitosa:
¿Qué sigue?
- Supervisa instancias de Compute Engine y clústeres de Slurm
- Soluciona problemas de rendimiento lento