intelligent-machine-learning/dlrover
DLRover: An Automatic Distributed Deep Learning System
解決的問題
DLRover 解決了大規模 AI 模型分散式深度學習訓練中的工程複雜性。它特別針對在大型叢集(K8s/Ray)上訓練時所產生的不穩定、停機時間與資源低效率問題,讓開發者能專注於模型架構,而非硬體加速或分散式執行時管理。
工作原理
DLRover 為訓練工作提供自動化的運維層。它採用以下關鍵機制:
- 故障容錯:自動診斷故障,並在發生軟體錯誤時重啟特定程序,或在發生硬體錯誤時重啟失敗節點,而不需停止整個工作。
- 閃電檢查點:使用記憶體內檢查點在數秒內儲存與載入模型狀態,相比 SSD 或 NAS 儲存大幅減少 I/O 時間。
- 自動擴縮:監控節點負載與吞吐量,動態調整資源,緩解節點拖後腿或參數伺服器負載不均等瓶頸問題。
- 動態資料分片:將資料集拆分成小分片,允許系統從失敗的工作節點恢復遺失的分片,並重新分配給更快的工作節點,以減少拖後腿現象。
適用對象
在 Kubernetes 或 Ray 上使用 PyTorch 或 TensorFlow 訓練大規模 AI 模型(如 LLM)的模型開發者與 ML 工程師。
主要亮點
- 高有效吞吐量:在數千個 GPU 上訓練 GLM-65B 時,有效吞吐量從 69% 提升至 95%。
- 快速恢復:透過共享記憶體實現閃電檢查點,可在數秒內從故障中恢復。
- 廣泛框架支援:支援 PyTorch(DDP、FSDP、DeepSpeed、Megatron-LM)與 TensorFlow 的整合。
- 基礎設施彈性:同時支援 Kubernetes 與 Ray 架構。
- 線上學習:透過 Kafka 或 Pulsar 等訊息佇列支援即時串流資料整合。
相關
- 專案
- 專案
- 專案
- 專案
- 專案