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 等消息队列支持实时流数据集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目