DLRover: An Automatic Distributed Deep Learning System
[](https://github.com/intelligent-machine-learning/easydl/actions/workflows/main.yml)
[](https://www.bestpractices.dev/projects/9827)
[](https://codecov.io/gh/intelligent-machine-learning/dlrover)
[](https://github.com/intelligent-machine-learning/dlrover/graphs/contributors)
[](https://pypi.org/project/dlrover/)
DLRover makes the distributed training of large AI models easy, stable, fast and green.
It can automatically train the Deep Learning model on the distributed cluster.
It helps model developers to focus on model architecture, without taking care of
any engineering stuff, say, hardware acceleration, distributed running, etc.
Now, it provides automated operation and maintenance for deep learning
training jobs on K8s/Ray. Major features as
- **Full-Scene**: Support deep learning full-scene distributed training computation implementation.
- **Fault-Tolerance**: The distributed training can continue running in the event of failures.
- **Auto-Scaling**: The distributed training can scale up/down resources to improve the stability, throughput
and resource utilization.
- **Others**:
- **XPU Timer Integration**: With runtime xpu-timer integration, can possess stronger runtime diagnostics and fault tolerance capabilities.
- **Flash Checkpoint**: The distributed training can recover failures from the in-memory checkpoint in seconds.
Furthermore, DLRover offers extension libraries for PyTorch and TensorFlow to expedite training. These are also open-source projects available in our [GitHub repositories](https://github.com/intelligent-machine-learning).
- [ATorch](https://github.com/intelligent-machine-learning/atorch): an extension library of PyTorch to Speed Up Training of Large LLM.
- [TFPlus](https://github.com/intelligent-machine-learning/tfplus)(K8S platform only): an extension library of TensorFlow to Speed Up Training of Search, Recommendation and Advertisement.
## Latest News
- [2025/12] [DLRover on Ray's new architecture achieves its first official release.](docs/blogs/dlrover_on_ray.md)
- [2025/08] [Practice: Gang Scheduling with DLRover.](docs/tutorial/gang_scheduling.md)
- [2025/03] [Paper: How XPU-Timer working](https://arxiv.org/pdf/2502.05413)
- [2025/01] [EDiT: A Local-SGD-Based Efficient Distributed Training Method for Large Language Models, ICLR'25.](https://arxiv.org/abs/2412.07210)
- [2024/06] [DLRover-RM has been accepted by VLDB'24.](docs/blogs/dlrover_rm.md)
- [2024/04] [Flash Checkpoint Supports HuggingFace transformers.Trainer to Asynchronously persist checkpoints.](docs/blogs/flash_checkpoint.md#huggingface-transformerstrainer)
- [2024/02] [Flash Checkpoint Saves the Megatron-LM Checkpoint in Seconds.](docs/blogs/megatron_flash_checkpoint.md)
- [2024/01] [Flash Checkpoint to Recover Large Model Training From Failure in Seconds.](docs/blogs/flash_checkpoint.md)
- [2023/11] [ATorch supporting efficient and easy-to-use model training is released.](https://github.com/intelligent-machine-learning/atorch)
- [2023/10] [AGD: an Auto-switchable Optimizer using Stepwise Gradient Difference as Preconditioning Matrix, NeurIPS'24.](https://github.com/intelligent-machine-learning/atorch/blob/main/docs/README-AGD.md)
- [2023/09] [Weighted Sharpness-Aware Minimization (WSAM) has been accepted by KDD'23.](https://github.com/intelligent-machine-learning/atorch/blob/main/docs/README-WSAM.md)
- [2023/08] [DLRover improves the stability of pre-trained model training over thousands of GPUs.](docs/blogs/stabilize_llm_training_cn.md)
- [2023/04] [DLRover auto-scales nodes of a DeepRec distributed training job.](docs/blogs/deeprec_autoscale_cn.md)
## Why DLRover?
### Fault Tolerance to Reduce the Downtime of a Large Scale Training Job
DLRover can restore the training when the process fails without stopping the
training job. The actions to restore training in DLRover are:
1. Automatically diagnose the failure reason.
2. Restart the process not the node due to software errors.
3. Restart the failed nodes due to hardward errors.
For detail, we can see the [blog of fault-tolerance and elasticity](docs/blogs/stabilize_llm_training_cn.md).
**With fault tolerance, the goodput of GLM-65B training
on thousands of GPUs increased from 69% to 95%**. The goodput is the time spent computing
useful new steps over the elapsed time of the training job.
The downtime details are shown: