【AI工程】08-MLOps工具-在Charmed Kubeflow上运行MindSpore
创始人
2024-02-06 10:38:49
0

作者:王磊
更多精彩分享,欢迎访问和关注:https://www.zhihu.com/people/wldandan

在【AI工程】02-AI工程(AI Engineering)面面观中,提到Gartner把AI工程化作为未来重要战略技术趋势,Gartner认为AI工程主要由DataOps、MLOps和DevOps三部分核心技术组成,其目标是通过跨职能协作、自动化、快速反馈等方法,来缩短数据分析、机器学习和应用部署上线的周期,从而让AI模型快速、持续地提供业务价值。开发者基于传统的工具平台很难实现MLOps等AI工程领域的实践,需要新的工具来完成对MLOps等技术实践的支持。

Kubeflow是一个基于K8S的机器学习平台,为开发者提供了从实验(Notebook)、训练(MLOps流水线)、调优以及部署、监控的端到端能力,也是当前排名第一的开源MlOps工具。

Kubeflow本身也是由一系列的开源工具组成,从它的架构图中不难看出,Kubeflow主要提供三部分能力:

  1. ML工具:主流开源框架支持,如Tensorflow,PyTorch等。
  2. Kubeflow应用及脚手架工具

(1). jupyter Notebook:开箱即用的Notebook,支持多AI框架。

(2). 分布式训练:支持Tensorflow、PyTorch等多框架的分布式训练(参数服务器形式)。

(3). 流水线管理:基于Argo的工作流管理,提供训练流水线管理能力。

(4). 镜像构建:将训练、notebook代码打包,以支持训练及部署任务。

(5). Serving部署:支持多AI框架的部署。

3. 周边配套:支持三方部署、监控等能力。

Canonical公司(Ubuntude发行商)在Kubeflow的基础上,包装了Charmed Kubeflow项目,提供构成KubeFlow最新版本的30多个应用程序和服务,并且让Kubeflow的部署更快,更简单。

在最新的1.6版本中,Charmed Kubeflow的Notebook原生支持了MindSpore,下面我们来看下如何基于Charmed Kubeflow 快速启动支持MindSpore的Notebook。

安装Charmed Kubeflow

要安装Kubeflow,首先得准备好K8S集群,然后通过juju这个运维管理工具安装Charmed Kubeflow。

通过MicroK8S工具部署K8S集群

Canonical提供了一个和Minikube类似的工具MicroK8S,通过Snap工具可以快速完成其安装。

在Ubuntu 20.04系统上执行如下命令:

sudo snap install microk8s --classic --channel=1.22/stable

安装完成后,为了方便使用,可以将当前的用户加入到microk8s的用户组中。

sudo usermod -a -G microk8s $USER
newgrp microk8s

确认用户可以访问kubectl的配置文件。

sudo chown -f -R $USER ~/.kube

MicroK8s在安装的时候就会启动,为了运行kubeflow,我们还需要一些额外的能力,比如DNS(服务发现)、存储、ingress(负载均衡),MicroK8S可以以插件的形式快速的添加这些能力

microk8s enable dns storage ingress metallb:10.64.140.43-10.64.140.49

整个安装需要花费一点时间,通过microk8s status --wait-ready可以确认MicroK8S是否安装成功。

microk8s is running
high-availability: nodatastore master nodes: 127.0.0.1:19001datastore standby nodes: none
……

MicroK8S提供了kubectl命令,但是每次都需要在命令行输入microk8s kubectl,可以考虑增加一个别名alias kubectl='microk8s kubectl'方便使用,其次,如果集群的配置信息没有写到~/.kube/中,可以通过 microk8s config > ~/.kube/config完成覆写。

通过juju安装Charmed Kubeflow

Charmed Operator Lifecycle Manager (OLM)是一个应用(以特殊格式封装,称为Charm Operator)编排的平台,它可以方便的管理混合云中部署在虚机、K8S集群、裸机上的应用,对应用进行安装、配置、维护及更新。Canonical提供了这样的OLM框架,名为Juju,同时也提供了juju这个同名的命令行工具。

首先,我们使用sudo snap install juju --classic命令安装juju。其次,通过juju bootstrap microk8s在MicroK8S部署好的集群上安装juju的controller,作为juju在集群中的代理,管理Kubeflow应用。最后为juju在集群上添加kubeflow的命名空间juju add-model kubeflow

接下来,通过juju deploy kubeflow-lite --trust命令即可完成kubeflow的安装,通过watch -c juju status --color可以看到kubeflow组件准备状态。

最后,通过juju refresh jupyter-ui --channel=latest/edge命令确保jupyter-ui更新到最新的版本,包含MindSpore的Notebook镜像。

配置kubeflow

Kubeflow安装完成后需要做下简单的配置才能访问。首先配置访问的地址:

juju config dex-auth public-url=http://10.64.140.43.nip.io
juju config oidc-gatekeeper public-url=http://10.64.140.43.nip.io

然后配置访问的用户名和密码:

juju config dex-auth static-username=admin
juju config dex-auth static-password=ucantseeme

接下来在浏览器中输入http://10.64.140.43.nip.io,以及刚设置的用户密码,就可以看到Kubeflow完整的Dashboard了。

运行支持MindSpore的Notebook

在Kubeflow上运行Notebook非常简单。在Notebook tab选择创建notebook,输入notebook名称MindSpore,镜像选择jupyterlab,在列表中使用mindspore/jupyter-mindspore这个镜像,然后分配合适的CPU和内容资源,点击创建即可。

在Notebook界面很快就可以看到创建完成的提示。

点击Connect,我们就可以在另一个浏览器tab页打开notebook了。这里我们可以使用MindSpore官网现成的notebook,通过notebook页面将这个手写数字识别的notebook上传上去。

点击执行,就可以看到这个notebook直接运行起来了,不用额外的去安装MindSpore以及Vision套件。

总结

这是MindSpore和Charmed Kubeflow集成的第一步,后续我们还将持续的把MindSpore更多能力集成到Charmed Kubeflow中,方便开发者能在MlOps平台上更方便的使用MindSpore。

参考资料

  1. Charmed Kubeflow Quick Start

上一篇: 厉行节约作文

下一篇:用曾经沧海造句

相关内容

热门资讯

优秀励志英文句子的大全   1.英文:You have to believe in yourself . Thats the...
写晚霞的唯美句子 写晚霞的唯美句子  傍晚时分,西方露出了美丽的晚霞,又红的,有蓝的,有黄的,还有紫的,把太湖装点得分...
为生活努力奋斗的句子 为生活努力奋斗的句子(精选80句)  在现实生活或工作学习中,大家都收藏过令自己印象深刻的句子吧,句...
心情烦躁发朋友圈的句子 心情烦躁发朋友圈的句子(精选100句)  心是任何想法都能产生的源泉,这其中包含了,对和错两个方面的...
中秋节优美句子 中秋节优美句子(精选210句)  在日常学习、工作和生活中,大家都听说过或者使用过一些比较经典的句子...
最浪漫的优美语句 最浪漫的优美语句  1、我想我们的爱虽然不是一篷熊熊燃着的火,光焰万道,热力四射;可它是一壶正在烧开...
写冬天唯美的句子 写冬天唯美的句子(精选100句)  在日常学习、工作或生活中,大家肯定对各类句子都很熟悉吧,句子是语...
伤感的句子 伤感的句子(精选65句)  在现实生活或工作学习中,大家或多或少都接触过一些经典的句子吧,从表达的角...
不开心的句子 发表不开心的心... 不开心的句子 发表不开心的心情句子  在平时的学习、工作或生活中,大家都接触过很多优秀的句子吧,句子...
幽默风趣的句子 幽默风趣的句子(精选100句)  在生活、工作和学习中,大家都看到过许多经典的句子吧,从语气上分,句...
孝敬老人最美的句子 孝敬老人最美的句子大全  在日常的学习、工作、生活中,大家一定没少看到经典的句子吧,不同的句子在语言...
稳重成熟的句子 稳重成熟的句子  在日常学习、工作或生活中,大家都经常接触到句子吧,从表达的角度说,句子是最基本的表...
描写开心的句子 描写开心的句子(精选120句)  无论是身处学校还是步入社会,大家都看到过许多经典的句子吧,不同的句...
感谢姐姐的短句暖心感恩姐姐的... 感谢姐姐的短句暖心2022感恩姐姐的句子  在平凡的学习、工作、生活中,大家总少不了接触一些耳熟能详...
刻骨铭心的爱情句子 有关刻骨铭心的爱情句子  1、爱情不在于一朝一夕,需要的是刻骨铭心。  2、回首往事,是谁欠谁的债,...
自我提神醒脑的句子 自我提神醒脑的句子(精选185句)  在平平淡淡的日常中,大家都收藏过令自己印象深刻的句子吧,句子可...
草房子好句 草房子好句  1、立在炉上的那只黑色的瓦罐,造型土气,但似乎又十分讲究,粗朴的身子,配了一只弯曲得很...
火树银花造句 火树银花造句  一、火树银花简介  意思是形容张灯结彩或大放焰火的灿烂夜景。出自唐·苏味道《正月十五...
友谊留言句子   友情的真挚永远比不上真金。真金能卖友情不能。友情,就好比一条简单的线。无论你在什么地方,发生什么...
短而精的句子   短而精的句子  1、爱是一种需要不断被人证明的虚妄,就像烟花需要被点燃才能看到辉煌一样。  2、...