Este tema describe cómo usar la función SanityCheck en DLC.
Descripción general
En los escenarios de entrenamiento de IA, es posible que se presenten a continuación problemas:
Fallos de recursos que interrumpen los trabajos y desperdician recursos de GPU: un trabajo puede invertir mucho tiempo en la inicialización, como cargar un punto de control del modelo, y fallar después por recursos defectuosos. Investigar el problema y volver a enviar el trabajo desperdicia recursos de GPU.
Herramientas insuficientes para diagnosticar y probar el rendimiento: si el rendimiento del entrenamiento del modelo disminuye durante un trabajo, un nodo lento podría ser la causa, pero identificarlo rápidamente resulta difícil. Además, los usuarios suelen carecer de pruebas de referencia prácticas y confiables para evaluar el rendimiento de cómputo y comunicación de las GPU de las máquinas en un resource group.
Para resolver estos problemas, DLC ofrece la función SanityCheck. Esta función comprueba el estado y el rendimiento de los recursos de cómputo en los trabajos de entrenamiento distribuido. Habilite esta función cuando cree un trabajo de entrenamiento de DLC. SanityCheck ejecuta una revisión exhaustiva de los recursos de entrenamiento, aísla automáticamente los nodos defectuosos y activa flujos de trabajo de mantenimiento automatizados en el backend. Este proceso reduce la probabilidad de problemas durante la fase inicial del entrenamiento y mejora la tasa de éxito del trabajo. Una vez que finalizan las comprobaciones, SanityCheck genera un informe sobre el rendimiento de cómputo y comunicación de las GPU. El informe le ayuda a identificar los factores que podrían degradar el rendimiento del entrenamiento, lo que mejora la eficiencia general del diagnóstico.
Límites
Actualmente, esta función solo está disponible para trabajos de entrenamiento de PyTorch que usan recursos de cómputo inteligente Lingjun. Estos trabajos deben usar todas las GPU de cada máquina asignada. Los recursos de cómputo inteligente Lingjun solo están disponibles para los usuarios incluidos en la lista de permitidos. Para solicitar acceso, comuníquese con su administrador de cuenta.
Habilitar las comprobaciones de estado
Usar la consola
Cuando create a DLC training job en la PAI console, habilite las comprobaciones de estado mediante la configuración de los parámetros clave a continuación. Después de crear el trabajo, el sistema comprueba el estado y la disponibilidad de los recursos antes de mostrar los resultados.
A continuación se describen los parámetros clave:
-
En la sección Resource Information:
Parámetro
Descripción
Resource Type
Seleccione Lingjun Intelligence Resources.
Source
Seleccione Resource Quota.
Resource Quota
Seleccione una cuota de recursos existente para los recursos de cómputo inteligente Lingjun. Para obtener información sobre cómo crear una cuota de recursos, consulte Create a resource quota.
Framework
Seleccione PyTorch.
Job Resource
El trabajo debe configurarse para usar todas las GPU de cada máquina.
-
En la sección Fault Tolerance and Diagnosis, active el interruptor Health Check y configure a continuación parámetros:
Parámetro
Descripción
Check Time
-
Before Job Runs (predeterminado): ejecuta una comprobación previa en los nodos de cómputo después de que el sistema asigna los recursos al trabajo y antes de ejecutar su código.
-
After Job Restarts: ejecuta una comprobación de estado después de que la tolerancia a fallos automática de AIMaster reinicia un trabajo debido a una excepción.
NotaPara usar esta opción, debe activar el interruptor Automatic Fault Tolerance. Para obtener más información, consulte AIMaster: An elastic and automatic fault tolerance engine.
-
Before Job Runs + After Job Restarts: ejecuta una comprobación de estado tanto antes de que se ejecute el trabajo como después de que se reinicie.
NotaPara usar esta opción, debe activar el interruptor Automatic Fault Tolerance. Para obtener más información, consulte AIMaster: An elastic and automatic fault tolerance engine.
Check Items
Los elementos de comprobación se agrupan en cuatro categorías: comprobación de rendimiento de cómputo, comprobación de comunicación entre nodos, comprobación de superposición de cómputo y comunicación, y verificación de simulación de modelos. Para obtener más información sobre los elementos de comprobación y los escenarios recomendados, consulte Appendix: Check items.
-
De forma predeterminada, GPU GEMM (para comprobar el rendimiento de GPU GEMM) y All-Reduce (para comprobar el rendimiento de comunicación entre nodos e identificar nodos lentos o defectuosos) están habilitados.
-
Busque elementos de comprobación o selecciónelos de una lista. También puede usar una plantilla de configuración rápida para seleccionar un conjunto predefinido de elementos de comprobación.
Maximum Check Duration
El tiempo máximo permitido para la comprobación de estado. El valor predeterminado es de 60 minutos. Si la comprobación supera este límite, el sistema aplica la política configurada para gestionar las excepciones de la comprobación.
Exception Handling Policy
Si una comprobación de estado falla, el sistema gestiona el trabajo según la política seleccionada:
-
End job: si se identifica un nodo defectuoso o sospechoso, el trabajo finaliza y se marca como Check Failed.
-
Add to blocklist and rerun: si se identifica un nodo defectuoso o sospechoso, el sistema agrega automáticamente el nodo a una lista de bloqueo, reinicia el trabajo y vuelve a ejecutar las comprobaciones hasta que todas se aprueben.
Maximum Restart Count
Cuando la política de procesamiento se establece en "Add to blocklist and rerun", configure el número máximo de reinicios. El valor predeterminado es 10. Si se supera el número máximo de reinicios, la tarea finaliza con errores automáticamente.
Other Configurations
Este parámetro está vacío de forma predeterminada. Úselo para configurar parámetros avanzados.
-
Consultar los resultados de las comprobaciones
Estado de la comprobación de estado
El proceso de comprobación de estado de un trabajo de DLC incluye a continuación estados:
Checking: la comprobación de estado está en curso.
Check Failed: la comprobación falla si se detecta un nodo defectuoso o si se agota el tiempo de espera.
Check Passed: después de que se aprueban todas las comprobaciones de estado, el estado del trabajo cambia a Running.
Consultar los resultados de la comprobación de estado
Usar la consola
En la página de detalles de un trabajo de DLC, vaya a la pestaña Event y haga clic en Health Check para consultar el progreso y los resultados de la comprobación.
La comprobación de estado incluye elementos como Preparing Check Environment, GPU GEMM, GPU Kernel Launch, All-Reduce-Single-Node, MatMul/All-Reduce Overlap y Mini GPT-Single-Node. Una marca de verificación verde indica que un elemento se aprobó.
Haga clic en la pestaña Restart History para consultar el número de reinicios, el motivo del reinicio y el resultado.
Configurar notificaciones de mensajes
Cree una regla de notificación en la configuración de notificaciones de eventos de su espacio de trabajo de PAI. En Event Type, seleccione DLC Job > Automatic Fault Tolerance. Para obtener información sobre cómo configurar otros parámetros, consulte Message Notification. El sistema envía una notificación si una comprobación de estado falla.
Para obtener instrucciones sobre cómo crear reglas de notificación de mensajes en un espacio de trabajo, consulte Event Notification Settings.
Apéndice: elementos de comprobación
Las duraciones estimadas de las comprobaciones se basan en una configuración de dos máquinas y son solo de referencia. Los tiempos reales pueden variar.
|
Elemento de comprobación |
Descripción (escenarios) |
Duración estimada |
|
|
Comprobación de rendimiento de cómputo |
GPU GEMM |
Evalúa el rendimiento de GPU GEMM. Esta comprobación permite identificar:
|
1 minuto |
|
GPU Kernel Launch |
Evalúa la latencia de los lanzamientos de kernel de GPU. Esta comprobación permite identificar:
|
1 minuto |
|
|
Comprobación de comunicación entre nodos |
All-Reduce |
Evalúa el rendimiento de comunicación entre nodos e identifica nodos de comunicación lentos o defectuosos. Para diversos patrones de comunicación colectiva, identifica:
|
Comprobación de comunicación colectiva individual 5 minutos |
|
All-to-All |
|||
|
All-Gather |
|||
|
Multi-All-Reduce |
|||
|
Network Connectivity |
Evalúa la conectividad de red de los nodos iniciales o finales para identificar nodos con problemas de conectividad. |
2 minutos |
|
|
Comprobación de superposición de cómputo y comunicación |
MatMul/All-Reduce Overlap |
Evalúa el rendimiento de un solo nodo cuando se superponen los kernels de comunicación y de cómputo. Esta comprobación permite identificar:
|
1 minuto |
|
Verificación de simulación de modelos |
Mini GPT |
Verifica la confiabilidad del sistema de IA mediante la simulación de modelos. Identifica:
|
1 minuto |
|
Megatron GPT |
5 minutos |
||
|
ResNet |
2 minutos |
||