NVIDIA/nvidia-resiliency-ext

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.

解決的問題

NVIDIA Resiliency Extension (NVRx) 解決了大規模 AI 訓練期間維持生產力的挑戰。它能在發生硬體或軟體故障時,防止訓練任務完全失敗,並將進度損失降至最低,直到相同的故障點為止。

運作方式

NVRx 為基於 PyTorch 的工作負載提供了一套模組化的工具,以自動處理故障。它使用全系統的健康檢查與故障偵測,來識別阻礙效率的停滯 rank 或緩慢的「落後者」(GPU/CPU 效能問題)。當偵測到故障時,它能在行程內重新啟動訓練,而無需重新分配運算節點。它還提供了非同步與本地檢查點的架構,以頻繁且高效地儲存進度,而不會拖慢訓練過程。

適用對象

從事大規模 AI 訓練的研究人員與開發人員,特別是使用 PyTorch、PyTorch Lightning 或 NVIDIA NeMo 的使用者,他們需要確保其訓練任務穩定且能夠承受硬體故障。

特色

  • 自動重啟:在任務內重新啟動訓練,避免需要重新分配 SLURM 節點。
  • 故障與落後者偵測:監控 GPU 與 CPU 效能,以識別停滯的 rank 與較慢的節點。
  • 高效檢查點:支援非同步與本地檢查點,以減少工作損失。
  • 架構整合:與 PyTorch Lightning 與 NVIDIA NeMo 無縫整合。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案