开源工具Arena,数据科学家再也不用为Kubernetes犯难啦!

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 为什么要用Kubernetes去难为数据科学家呢?

2018年7月,阿里云将深度学习工具Arena贡献给了开源社区,数据科学家无需学习底层IT资源使用,即可在云端运行深度学习,一分钟内启动深度学习任务,十五分钟内创建异构计算集群。

为什么要有Arena这样的工具?

现在Kubernetres社区最流行的深度学习解决方案是KubeFlow,Arena是不是又重新造了个轮子?KubeFlow是基于Kubernetes构建的可组合,便携式, 可扩展的机器学习技术栈,支持实现从JupyterHub模型开发,TFJob模型训练到TF-serving,Seldon预测端到端的解决方案。但是KubeFlow需要用户精通Kubernetes,比如写一个TFJob的部署yaml文件,这对于机器学习平台最主要的使用者---数据科学家来说是非常有挑战的事情。

这与数据科学家的期望还有比较大的差距,数据科学家关心的是三件事:

  1. 数据从哪里来
  2. 如何运行机器学习的代码
  3. 训练结果(模型和日志)如何查看

数据科学家编写一些简单的脚本,在桌面机上运行机器学习代码,这是他们熟悉和喜欢的工作方式。但是利用桌面机进行模型训练,又会遇到由于硬盘空间有限导致处理数据量不足,无法使用分布式训练导致计算力受限等问题。

为此我们开发了Arena,用一个命令行工具屏蔽所有底层资源、环境管理、任务调度和GPU调度分配的复杂性,它帮助数据科学家以一种简单熟悉的方式提交训练任务并且检查训练进展。数据科学家在调用Arena的时候可以指定数据来源,代码下载和是否使用TensorBoard查看训练效果。

Arena有怎样的作用?

Arena目前支持单机训练和PS-Worker模式的分布式训练,其后端实现依赖于KubeFlow提供的TFJob,很快也会扩展到MPIJob,PytorchJob。

image

同时也支持实时训练的运维包括:
• 利用top命令监控GPU资源的分配和调度
• 支持CPU,GPU的资源监控
• 训练日志的实时查询

未来我们希望能够通过Arena实现深度学习生产流水线 - 集成训练数据管理,实验任务管理,模型开发,持续训练、评估,上线预测全流程。

Arena的目标就是让数据科学家简单的释放KubeFlow的洪荒之力,像桌面机上训练一样简单,同时又拥有了集群级别调度和管理的掌控性。为了能够更好的在社区内共享和合作,我们已经在github上开源了自己的代码:https://github.com/AliyunContainerService/arena,欢迎大家了解和使用,如果您觉得不错,请给我们点赞。如果您希望贡献代码,我们非常欢迎。

Arena背后的故事,阿里云容器深度学习解决方案

开源工具Arena脱胎于阿里云深度学习解决方案, 该方案已经支持多种深度学习框架(如Tensorflow、Caffe、Hovorod、Pytorch等),从始至终地支撑深度学习的整条生产流水线(集成训练数据管理、实验任务管理、模型开发、持续训练及评估、上线预测等环节)。

该方案深度整合阿里云资源与服务,高效使用CPU、GPU等异构资源,统一容器化编排管控,并提供多维度监控告警和运维平台。

写在最后

“深度学习为人工智能带来变革式的蓬勃发展,然而对计算和数据资源的依赖也急剧增加。” 阿里云相关技术负责人张凯表示:“基于容器和异构计算技术,阿里云为大规模训练提供端到端的支持,不断打磨使用更简单、功能更强大的深度学习解决方案。”

更多阿里云上深度学习分享可以移步:https://yq.aliyun.com/teams/11/type_blog-cid_211-page_1
如《Kubeflow实战系列-五篇》、《打造深度学习的云端实验室-三篇》、《TensorFlow的实验-六篇》

产品详情,请移步:https://cn.aliyun.com/solution/devops/deeplearning

近期直播回放页面:https://yq.aliyun.com/webinar/play/487
相关产品详情页面:https://promotion.aliyun.com/ntms/act/blockchainshow.html

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
9月前
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
372 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
存储 Kubernetes C++
【专栏】Kubernetes VS Docker Swarm了解两者特点,助力选取合适容器编排工具
【4月更文挑战第27天】对比Kubernetes和Docker Swarm:K8s在可扩展性和自动化方面出色,有强大社区支持;Swarm以简易用著称,适合初学者。选择取决于项目需求、团队技能和预期收益。高度复杂项目推荐Kubernetes,快速上手小项目则选Docker Swarm。了解两者特点,助力选取合适容器编排工具。
360 1
|
11月前
|
Ubuntu 网络安全 容器
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理。本文详细介绍了如何在 Ubuntu 22.04 上安装 KubeSphere,包括系统要求、安装依赖项、设置防火墙、下载安装脚本、选择安装选项、验证安装结果等步骤,并提供了常见问题的解决方法。希望本文能为读者提供实用的参考和帮助。
251 3
|
11月前
|
Kubernetes 安全 容器
关于K8s,不错的开源工具
【10月更文挑战第12天】
202 7
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
251 10
Docker容器管理工具
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
305 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
11月前
|
Kubernetes 应用服务中间件 nginx
【赵渝强老师】Kubernetes命令行管理工具:kubectl
kubectl 是 Kubernetes 的命令行工具,用于管理和操作 Kubernetes 集群。本文通过视频讲解和具体示例,介绍了 kubectl 的常用命令,包括显示 Pod 信息、创建 Deployment 和 Service、更新和回滚 Deployment、以及删除资源等操作。
196 0
|
存储 Kubernetes Cloud Native
容器管理工具Containerd
容器管理工具Containerd
1147 1
|
Prometheus Kubernetes 监控
揭秘Kubernetes的秘密武器库:十大工具让你的容器编排如虎添翼!探索这些神秘而强大的工具,它们将如何彻底改变你的Kubernetes体验?
【8月更文挑战第19天】在容器世界里,Kubernetes是部署与管理容器化应用的首选平台。为了增强其功能,本文精选了十大必备工具:Helm简化复杂应用部署;Prometheus监控系统与应用指标;Grafana提供数据可视化;Fluentd统一日志管理;Envoy实现服务间通信与控制;Calico确保网络连接安全;CoreDNS提升DNS服务性能;Velero保障数据安全与迁移;Argo Workflows执行复杂工作流;Istio强化服务网格功能。这些工具覆盖部署、监控、日志等多个方面,助力提升Kubernetes的效率与稳定性。
199 3
|
Kubernetes 持续交付 Python
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多