Arena - 打开KubeFlow的正确姿势

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

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

kubeflow.jpg

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

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

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

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

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

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

同时也支持实时训练的运维包括:

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

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

以下是使用文档:

视频Demo:



目录
相关文章
|
Kubernetes TensorFlow 算法框架/工具
Kubeflow 使用指南
Kubeflow(https://github.com/kubeflow)是基于Kubernetes(https://kubernets.io,容器编排与管理服务软件)和TensorFlow(https://tensorflow.org,深度学习库)的机器学习流程工具,使用Ksonnet进行应用包的管理。
13056 0
|
2月前
|
机器学习/深度学习 分布式计算 Kubernetes
30分钟拉起Ray集群并部署Stable Diffusion模型服务
Ray 是一个支持模型训练、测试以及部署的开源平台,由加州大学伯克利分校的 RISELab 开发。它旨在简化大规模机器学习、强化学习和分布式计算任务的开发与部署。阿里云计算巢实现了Ray Cluster的一键部署,帮助用户能够便捷地使用分布式集群训练和测试自己的模型。
|
9月前
|
Kubernetes 应用服务中间件 调度
在K8S中,deploy创建过程包括什么?
在K8S中,deploy创建过程包括什么?
|
机器学习/深度学习 存储 人工智能
如何玩转Kubeflow Pipelines
 1. 背景近些年来,人工智能技术在自然语言处理、视觉图像和自动驾驶方面都取得不小的成就,无论是工业界还是学术界大家都在惊叹一个又一个的模型设计。但是对于真正做过算法工程落地的同学,在惊叹这些模型的同时,更多的是在忧虑如果快速且有效的将这些模型落地到业务中,并产生商业价值。正如Google 《Hidden Technical Debt in Machine Learning Systems》中说的
如何玩转Kubeflow Pipelines
|
机器学习/深度学习 人工智能 算法
阿里云DLC运行DDP Sample
PAI提供的云原生基础AI平台,提供灵活、稳定、易用和高性能的机器学习训练环境。该平台支持多种算法框架、超大规模分布式深度学习任务运行及自定义算法框架。本文演示如何在DLC上面运行Pytorch DDP任务。
620 0
|
JSON Prometheus Kubernetes
k8s小工具之kubectl-mytop插件
Kubectl-mytop是一个基于metrics-server组件做指标展示的命令行工具,综合kubectl top以及kubectl describe的展示能力,可以提供Kubernetes集群中node以及pod资源请求、资源限制、资源利用率、以及pod数量做排序展示。Kubectl-mytop插件的目的在于弥补当前常用k8s监控工具的不足,便于如资源不均,调度不均,使用率不均等问题的分析定位。如指定node后,可以查看这个node上所有的pod的request,limit,util资源使用等信息并排序输出,支持指定不同namespace的相同的pod label的资源展示,以及过滤指定
439 0
|
程序员 Python
775.【技术】超详细的yaml离线安装指南!!!!
775.【技术】超详细的yaml离线安装指南!!!!
808 0
|
jenkins Java 程序员
Jenkins集群下的pipeline实战
在Jenkins集群环境中创建pipeline任务,体验Jenkins集群下的并行任务,并通过标签将任务调度到指定节点执行
298 0
Jenkins集群下的pipeline实战
|
JSON Kubernetes 网络协议
Kubeadm 初始化流程简介及 dashboard v2.0.0-rc6部署 | 学习笔记
快速学习 Kubeadm 初始化流程简介及 dashboard v2.0.0-rc6部署
|
存储 Kubernetes API
Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用
Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用
686 0
Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用