DLRover:蚂蚁集团开源的AI训练革命

在当前的深度学习领域,大规模训练作业面临着一系列挑战。首先,硬件故障或软件错误导致的停机时间会严重影响训练效率和进度。其次,传统的检查点机制在大规模训练中效率低下,耗时长且容易降低训练的有效时间。资源管理的复杂性也给训练作业带来了瓶颈,包括节点落后、工作负载不均衡、CPU核心不足以及节点数量不足等问题。最后,数据管理的效率也直接影响到训练的弹性和稳定性。近日,蚂蚁集团AI创新研发部门NextEvo开源了一项名为DLRover的AI Infra技术,为这些问题提供了突破性的解决方案。

DLRover通过其创新的容错性、Flash Checkpoint、自动扩展资源、动态数据分片以及离线和在线学习的集成能力,解决了大规模分布式深度学习训练中的多个关键问题,为深度学习研究和开发提供了强有力的支持。

DLRover 的核心优势之一是其出色的容错能力。当训练过程中出现故障时,DLRover 能够在不停止整个训练作业的情况下恢复训练。它通过自动诊断故障原因,并根据错误的类型采取相应的恢复措施,如针对软件错误重启进程,或因硬件故障重启节点。这种容错机制显著减少了大规模训练作业的停机时间,如GLM-65B在数千GPU上的训练,其有效计算时间(goodput)从69%提升至95%。

DLRover 还提供了 Flash Checkpoint 功能,能够在几秒钟内保存和加载检查点。与传统的检查点操作相比,Flash Checkpoint 允许训练过程更频繁地保存检查点,并且在发生故障时,可以减少从最新检查点恢复训练所需的回滚步骤。这一功能包括异步将检查点持久化到存储、在训练进程失败时将检查点持久化到存储,以及在训练进程重启后从主机内存加载检查点。这使得从故障中恢复的速度大大加快,提高了训练的连续性和效率。

DLRover 在 TensorFlow 参数服务器(PS)架构下也展现了其故障容忍能力。它能够恢复失败的参数服务器和工作节点,自动启动具有更多内存的Pod以恢复内存不足的节点,重新分配失败工作节点的训练数据给其他工作节点,并根据模型大小自动扩展参数服务器。在蚂蚁集团的实践中,DLRover 管理着每天数百个深度学习训练作业,除代码错误导致的失败作业外,作业完成率从使用 KubeFlow 中的 tf-operator 的89%提高到了95%。

DLRover 能够根据训练作业的运行时需求自动扩展或缩减资源,如参数服务器或工作节点。通过监控节点的工作负载和吞吐量,DLRover 能够诊断资源配置的瓶颈,并进行动态资源调整以提高训练性能。这种自动扩展功能不仅提高了训练作业的稳定性和吞吐量,还通过按需分配资源减少了资源浪费。

DLRover 的动态数据分片功能将数据集分割成许多小的数据片段,每个片段仅包含少量的训练样本批次。当工作节点用完上一个片段的样本后,才会获取新的片段。这种动态分片机制使得DLRover 能够在工作节点失败之前恢复片段,并通过给快速工作节点分配更多片段来减轻工作节点的落后问题。

DLRover 通过动态数据分片提供的透明数据源,可以与批量数据处理的离线训练集成,并支持实时流数据处理的在线学习。这种灵活性使得DLRover 成为构建端到端工业在线学习系统的理想组件,能够与消息队列(如RocketMQ、Kafka、Pulsar等)集成,或作为 Flink、Spark、Ray 等平台内的训练汇聚节点执行。

GitHub 地址:https://github.com/intelligent-machine-learning/dlrover

相关推荐
鼓掌MVP4 分钟前
边缘计算应用实践心得
人工智能·边缘计算
QYR_116 分钟前
宠物车载安全座椅市场报告:解读行业趋势与投资前景
大数据·人工智能
wswlqsss10 分钟前
第四十五天打卡
人工智能·深度学习
Likeadust14 分钟前
视频汇聚平台EasyCVR“明厨亮灶”方案筑牢旅游景区餐饮安全品质防线
网络·人工智能·音视频
天翼云开发者社区28 分钟前
总决赛定档!“天翼云息壤杯”高校AI大赛巅峰之战即将打响!
人工智能·ai大赛
亚马逊云开发者38 分钟前
Amazon Bedrock 助力 SolveX.AI 构建智能解题 Agent,打造头部教育科技应用
人工智能
舰长1151 小时前
GPU显存的作用和如何选择
gpu算力
新德通科技1 小时前
新德通科技:以创新驱动光通信一体化发展,赋能全球智能互联
人工智能
__星辰大海__1 小时前
NeRF PyTorch 源码解读 - NDC空间
人工智能
Java学术趴1 小时前
RNN指南:从梯度消失到LSTM魔改,一文说透RNN/LSTM/GRU的隐藏优势!
人工智能