NVIDIA Recovery automatise la reprise des entraînements IA
À mesure que l’entraînement distribué de l’IA monte en échelle, les pannes matérielles et logicielles perturbent les jobs de formation et gaspillent des GPU-heures. Pour réduire ce coût opérationnel, NVIDIA propose NVIDIA Recovery, un service open source intégré à DSX OS, la couche logicielle de la plateforme NVIDIA DSX AI Factory. Il automatise la reprise des charges de travail sur l’ensemble du cluster, vingt-quatre heures sur vingt-quatre, afin de maintenir le goodput, c’est-à-dire le temps réellement utile passé à progresser dans l’entraînement. Contrairement aux outils internes aux jobs ou aux scripts de réparation des nœuds, NVIDIA Recovery traite la reprise comme une coordination à l’échelle du cluster. Il détecte les incidents grâce aux journaux d’application, aux métriques GPU et aux signaux de l’ordonnanceur, reconnaît les erreurs PyTorch, NCCL, CUDA, les blocages et les lenteurs persistantes, puis identifie les ressources concernées. Une étape d’attribution, possible via NVIDIA Attribution, aide à distinguer une défaillance matérielle, un problème système ou un défaut applicatif. Le système exclut ensuite les nœuds suspects et demande à l’ordonnanceur de redémarrer le job depuis le dernier point de sauvegarde, ou de stopper les tentatives si aucune reprise n’est utile. Un garde-fou empêche les charges de travail de rester indéfiniment bloquées si une décision tarde. La solution s’appuie sur une pile de résilience en plusieurs niveaux: surveillance de la santé des nœuds, récupération au niveau des jobs via NVRx, gestion des ressources par Slurm ou Kubernetes, et remédiation infrastructurelle. NVIDIA Recovery se positionne comme la couche qui relie ces composants pour décider quoi relancer, où le relancer et quand, avec des métriques de latence, de succès et de temps de retour à une productivité normale. L’intégration est déjà disponible pour Slurm, y compris Slurm sur Kubernetes via slurm-operator. L’architecture est agnostique vis-à-vis de l’ordonnanceur: NVIDIA Recovery émet des recommandations via une API, et un contrôleur côté cluster les traduit en actions. Des modes SSH ou conteneur sont possibles pour limiter les modifications d’infrastructure. Le déploiement s’effectue par un Helm chart, avec une base MySQL, et la validation des signaux se fait sur Loki, VictoriaLogs ou Prometheus avant l’activation. En phase de déploiement, le service démarre en mode observation: il publie des conseils et enregistre les actions qu’il aurait prises, sans intervenir. Cette étape permet aux équipes de vérifier la pertinence des détections, de comparer avec leurs procédures manuelles, puis d’activer le mode autonome. Toutes les recommandations, actions, exclusions de nœuds et verdicts sont journalisées dans un historique interrogeable, complété par une console pour suivre l’état des charges de travail et le fil chronologique des incidents. IBM Research a suivi ce processus sur son cluster Slurm, tandis que Verda a déployé la solution avec VictoriaLogs et participé aux contributions open source. Les données internes montrent l’ampleur du besoin: un cluster surveillé en automatique suivait près de 200 jobs par jour et enregistrait environ 8550 anomalies en trois mois, avec une détection en 69 secondes et une action de récupération en 94 secondes en moyenne. Pour des clusters de plusieurs milliers de GPU, même des pannes rares deviennent quasi inévitables pour les grands jobs. NVIDIA Recovery est disponible sous licence Apache 2.0 sur GitHub. Les prochaines versions doivent étendre la reprise aux tableaux de tâches Slurm et à Kubernetes natif via JobSet et Kubeflow PyTorchJob, tout en améliorant la classification des pannes, l’observabilité et la stabilité.
