蚂蚁金服开源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

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
624 73
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
1055 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
机器学习/深度学习 存储 人工智能
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
MNN 是阿里巴巴开源的轻量级深度学习推理框架,支持多种设备和主流模型格式,具备高性能和易用性,适用于移动端、服务器和嵌入式设备。
4049 18
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
1169 5
|
Ubuntu 网络安全 容器
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理。本文详细介绍了如何在 Ubuntu 22.04 上安装 KubeSphere,包括系统要求、安装依赖项、设置防火墙、下载安装脚本、选择安装选项、验证安装结果等步骤,并提供了常见问题的解决方法。希望本文能为读者提供实用的参考和帮助。
457 3
|
Kubernetes 安全 容器
关于K8s,不错的开源工具
【10月更文挑战第12天】
418 7
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
437 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
机器学习/深度学习 自然语言处理 并行计算
DeepSpeed分布式训练框架深度学习指南
【11月更文挑战第6天】随着深度学习模型规模的日益增大,训练这些模型所需的计算资源和时间成本也随之增加。传统的单机训练方式已难以应对大规模模型的训练需求。
2197 3
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
829 3
|
机器学习/深度学习 算法 自动驾驶
深度学习之分布式智能体学习
基于深度学习的分布式智能体学习是一种针对多智能体系统的机器学习方法,旨在通过多个智能体协作、分布式决策和学习来解决复杂任务。这种方法特别适用于具有大规模数据、分散计算资源、或需要智能体彼此交互的应用场景。
1014 4

热门文章

最新文章