Entrenamiento distribuido tolerante a fallos en Amazon EKS usando NVRx
aws ·
Este artículo demuestra cómo integrar la Extensión de Resiliencia de NVIDIA (NVRx) con Amazon EKS para crear un entrenamiento distribuido tolerante a fallos en modelos grandes de PyTorch. Aborda dos principales cuellos de botella: el punto de control sincrónico, que puede bloquear hasta el 40% del tiempo de entrenamiento, y la lenta recuperación ante fallos de hardware o software. La solución utiliza puntos de control asíncronos mediante TorchAsyncCheckpoint para superponer las operaciones de E/S con el cálculo, logrando más del 99 % de eficiencia en el entrenamiento en comparación con la línea base. Para la recuperación ante fallos, NVRx ofrece reinicios dentro del proceso para fallos suaves y ft_launcher para caídas graves, reduciendo los tiempos de recuperación de minutos a segundos. Las pruebas de rendimiento en LLaMA-3.1-8B, entre 2 y 8 nodos, muestran que estos métodos superan significativamente a los reinicios estándar de Kubernetes, que sufren cascadas de tiempo de espera de NCCL. La arquitectura aprovecha Amazon FSx for Lustre para el almacenamiento compartido y Adaptadores de Fabrica Elástica para una red de alto ancho de banda. Este enfoque permite a los equipos realizar puntos de control con mayor frecuencia sin sacrificar la utilización de las GPU, maximizando la eficiencia general del clúster.
aws