当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/351679.html

相关文章:

  • ubuntu_概念
  • Oracle递归查询笔记
  • FaceFusion源码框架解读
  • React项目知识积累(三)
  • 前端实现打印功能
  • 创建型模式之工厂模式
  • 「动态规划」按摩师
  • 小程序-滚动触底-页面列表数据无限加载
  • 监控上网的软件有哪些?含泪推荐的电脑监控软件
  • linux系统防火墙开放端口命令
  • WebGL渲染引擎优化方向——渲染帧率的优化
  • 【文献阅读】ESG评级分化和企业绿色创新
  • 2024-5-6-从0到1手写配置中心Config之实现配置中心客户端
  • 【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十一)
  • Amesim示例篇-案例1:空间中的铝块散热
  • 深度神经网络——什么是自动编码器?
  • 初见flyway
  • 9.6 Go语言入门(数组、切片和指针)
  • Web面试题(一)
  • 【Crypto】一眼就解密
  • 虚拟ECU:彻底改变汽车软件开发与测试
  • 【SQL Server001】SQLServer2016常用函数实战总结(已更新)
  • 51单片机简单控制180度舵机
  • PCL 常用小知识
  • rbd块设备数据IO流程(client端)
  • 数据仓库、数据中台、大数据平台之间的关系
  • python写页面自动截图
  • 【Qt 学习笔记】Qt常用控件 | 布局管理器 | 空白项Spacer
  • es问题汇总--待完善
  • 新一代高性价比LTE Cat.1通信模组ML307R