蚂蚁金服开源ElasticDL:Kubernetes原生的分布式深度学习系统

简介: 9月11日,蚂蚁金服在2019谷歌开发者大会上海站上,宣布开源 ElasticDL,一个基于 TensorFlow 2.0 的 Kubernetes 原生的分布式深度学习系统。这也是业界首个基于TensorFlow 的支持弹性调度的深度学习系统。

9月11日,蚂蚁金服在2019谷歌开发者大会上海站上,宣布开源 ElasticDL,一个基于 TensorFlow 2.0 的 Kubernetes 原生的分布式深度学习系统。这也是业界首个基于TensorFlow 的支持弹性调度的深度学习系统。

ElasticDL 的主要特性是容错性是弹性调度,这是通过研发一个 Kubernetes-native 的框架来调用 TensorFlow 2.0 从而实现的。Kubernetes-native 指的是一个分布式程序调用Kubernetes API 来起止进程;给予了分布式系统更多的调度灵活度。与之对应的做法是为每个分布式框架写一个 Kubernetes operator 来启动分布式作业,比如,Google Cloud 为 TensorFlow 开发了 Kubernetes operator Kubeflow,但Kubeflow不支持弹性调度。

TensorFlow 2.0 的 eager execution API 是 ElasticDL 的另一大助力,使得 ElasticDL 不必像 Uber Horovod 这类为 TensorFlow 1.x 设计的系统一样需要“盗取”作为计算图执行的中间结果的 gradients。

在多人共用计算集群的情况下,支持弹性调度意味着极大提升团队效率和集群的总体利用率。举个比较极端的例子:假设一个集群有N个GPU,而一个任务只使用其中一个,当没有弹性调度时,一个要求所有N个GPU的任务需要等待前一个任务结束才能开始,这个等待时间可能高达数天甚至数周,在等待期间,集群的效用是1/N;而拥有弹性调度能力之后,新的任务可以在N-1个GPU上立刻运行,并且Kubernetes可以在第一个任务完成后将占用的GPU赋予这个任务,在这个案例里,集群整体效用是100%. 因此,在部分案例中,ElasticDL能极大的提升集群利用率。

除此之外,ElasticDL还拥有高效和易用的特性。今年5月份,蚂蚁金服开源了SQLFlow,ElasticDL通过与SQLFlow的联动,实现让AI变得像使用SQL一样简单,SQLFlow把SQL程序翻译成一个ElasticDL程序,让工程师可以用SQL语言描述模型训练和预测过程。

ElasticDL项目负责人王益表示:“ElasticDL 处于研发初期,我们希望尽早开源ElasticDL和尽早分享其设计意图,汇聚来自不同公司和社区的力量,一起探索GoogleTensorFlow2.0和Kubernetes的分布式训练生态,早日实现便捷的端到端的人工智能开发套件。”

蚂蚁金服一直积极参与开源社区共建。自从2011年宣布第一波开源项目以来,开源项目数量每年都有增长。目前蚂蚁金服已经有400多个开源项目,其中,AntDesign项目已获四万多 GitHub 星标,有800多人参与项目建设,SQLFlow、EggJS和SOFA系列也成为社区热门。

外部.png

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
Kubernetes 网络协议 Nacos
OpenAI 宕机思考丨Kubernetes 复杂度带来的服务发现系统的风险和应对措施
Kubernetes 体系基于 DNS 的服务发现为开发者提供了很大的便利,但其高度复杂的架构往往带来更高的稳定性风险。以 Nacos 为代表的独立服务发现系统架构简单,在 Kubernetes 中选择独立服务发现系统可以帮助增强业务可靠性、可伸缩性、性能及可维护性,对于规模大、增长快、稳定性要求高的业务来说是一个较理想的服务发现方案。希望大家都能找到适合自己业务的服务发现系统。
121 11
|
1月前
|
存储 运维 安全
盘古分布式存储系统的稳定性实践
本文介绍了阿里云飞天盘古分布式存储系统的稳定性实践。盘古作为阿里云的核心组件,支撑了阿里巴巴集团的众多业务,确保数据高可靠性、系统高可用性和安全生产运维是其关键目标。文章详细探讨了数据不丢不错、系统高可用性的实现方法,以及通过故障演练、自动化发布和健康检查等手段保障生产安全。总结指出,稳定性是一项系统工程,需要持续迭代演进,盘古经过十年以上的线上锤炼,积累了丰富的实践经验。
|
1月前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
50 7
|
3月前
|
消息中间件 监控 数据可视化
Apache Airflow 开源最顶级的分布式工作流平台
Apache Airflow 是一个用于创作、调度和监控工作流的平台,通过将工作流定义为代码,实现更好的可维护性和协作性。Airflow 使用有向无环图(DAG)定义任务,支持动态生成、扩展和优雅的管道设计。其丰富的命令行工具和用户界面使得任务管理和监控更加便捷。适用于静态和缓慢变化的工作流,常用于数据处理。
Apache Airflow 开源最顶级的分布式工作流平台
|
2月前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
122 4
|
3月前
|
机器学习/深度学习 人工智能 分布式计算
【AI系统】分布式通信与 NVLink
进入大模型时代后,AI的核心转向大模型发展,训练这类模型需克服大量GPU资源及长时间的需求。面对单个GPU内存限制,跨多个GPU的分布式训练成为必要,这涉及到分布式通信和NVLink技术的应用。分布式通信允许多个节点协作完成任务,而NVLink则是一种高速、低延迟的通信技术,用于连接GPU或GPU与其它设备,以实现高性能计算。随着大模型的参数、数据规模扩大及算力需求增长,分布式并行策略,如数据并行和模型并行,变得至关重要。这些策略通过将模型或数据分割在多个GPU上处理,提高了训练效率。此外,NVLink和NVSwitch技术的持续演进,为GPU间的高效通信提供了更强的支持,推动了大模型训练的快
82 0
|
27天前
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
73 22
|
2月前
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
207 6
|
6天前
|
机器学习/深度学习 人工智能 运维
深度学习在流量监控中的革命性应用
深度学习在流量监控中的革命性应用
69 40
|
1天前
|
机器学习/深度学习 运维 资源调度
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
15 6