Skip to content

NVIDIA Resiliency Extension is a python package for framework developers and users to implement fault-tolerant features. It improves the effective training time by minimizing the downtime due to failures and interruptions.

License

Notifications You must be signed in to change notification settings

NVIDIA/nvidia-resiliency-ext

Repository files navigation

NVIDIA Resiliency Extension

The NVIDIA Resiliency Extension (NVRx) integrates multiple resiliency-focused solutions for PyTorch-based workloads. Users can modularly integrate NVRx capabilities into their own infrastructure to maximize AI training productivity at scale. NVRx maximizes goodput by enabling system-wide health checks, quickly detecting faults at runtime and resuming training automatically. NVRx minimizes loss of work by enabling fast and frequent checkpointing.

For detailed documentation and usage information about each component, please refer to https://nvidia.github.io/nvidia-resiliency-ext/.

⚠️ NOTE: This project is still experimental and under active development. The code, features, and documentation are evolving rapidly. Please expect frequent updates and breaking changes. Contributions are welcome and we encourage you to watch for updates.

Figure highlighting core NVRx features including automatic restart, hierarchical checkpointing, fault detection and health checks

Core Components and Capabilities

  • Fault Tolerance

    • Detection of hung ranks.
    • Restarting training in-job, without the need to reallocate SLURM nodes.
  • In-Process Restarting

    • Detecting failures and enabling quick recovery.
  • Async Checkpointing

    • Providing an efficient framework for asynchronous checkpointing.
  • Local Checkpointing

    • Providing an efficient framework for local checkpointing.
  • Straggler Detection

    • Monitoring GPU and CPU performance of ranks.
    • Identifying slower ranks that may impede overall training efficiency.
  • Framework Integration

    • Facilitating seamless fault tolerance and straggler detection integration with PyTorch Lightning based workloads.
    • Providing integration with NVIDIA NeMo framework, a scalable and cloud-native generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (e.g. Automatic Speech Recognition and Text-to-Speech).

Installation

From sources

  • git clone https://github.com/NVIDIA/nvidia-resiliency-ext
  • cd nvidia-resiliency-ext
  • pip install .

From PyPI wheel

  • pip install nvidia-resiliency-ext

Platform Support

Category Supported Versions / Requirements
Architecture x86_64, arm64
Operating System Ubuntu 22.04, 24.04
Python Version >= 3.10, < 3.13
PyTorch Version >= 2.3.1 (injob & chkpt), >= 2.5.1 (inprocess)
CUDA & CUDA Toolkit >= 12.5 (12.8 required for GPU health check)
NVML Driver >= 535 (570 required for GPU health check)
NCCL Version >= 2.21.5 (injob & chkpt), >= 2.26.2 (inprocess)

About

NVIDIA Resiliency Extension is a python package for framework developers and users to implement fault-tolerant features. It improves the effective training time by minimizing the downtime due to failures and interruptions.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published