在 K8s 环境快速部署Kubeflow,轻松实现MLOPS
作为 AI 时代的 DevOps,MLOPS 助力于加速企业从数字化转型到大数据转型再到智能化转型的产业升级进程,为企业沉淀行业特有的 AI 模型、AI 应用提供工具链保证。随着 Kubernetes 的应用爆发,企业也积极投身建设基于 Kubernetes 的 AI 平台,充分利用 K8s 生态提供的资源管理、应用编排、运维监控能力。
然而,企业在直接使用流行的开源 MLOPS 软件如 Kubeflow[1] , MLflow[2] 等,通常需要消耗较大的调研、部署、运维、应用迁移、应用适配等成本。灵雀云 MLOPS 以及其开源版本 kubeflow-chart[3],致力于极大程度的降低企业应用 MLOPS 的成本,在 Kubeflow 的基础上,集成 MLFlow,SQLFlow, kfpdist,elyra 等工具,补充 Kubeflow 难以应用之处,构建完整的 MLOPS 开源解决方案。
关注云原生机器学习的朋友对 Kubeflow 必不会陌生。
Kubeflow 是基于容器和 Kubernetes 构建,提供面向机器学习业务的敏捷部署、开发、训练、发布和管理平台,通过集成开源生态中越来越多的项目,如 Jupyter, Knative, Seldon Core 等,搭建了机器学习应用从开发到上线到迭代的生命周期内的工具链,解决企业应用机器学习中遇到的和 DevOps 类似的工具链的困扰,因此,Kubeflow 也成为了当前云原生场景下主流的 MLOPS 平台。
然而,有了 Kubeflow,是不是在 Kubernetes 上一下子搞定机器学习、深度学习呢?事实并没有那么简单。据了解,很多企业对于 Kubeflow 调研和尝试也多以失败告终。Kubeflow 目前存在以下诸多问题导致企业直接使用 Kubeflow 应用 MLOPS 颇为困难:
-
Kubeflow 部署复杂、困难
-
Kubeflow 包含组件繁多,依赖复杂,运维排错耗费人力
-
Kubeflow 许多功能易用性差,企业 AI 应用开发、迁移困难
-
Kubeflow 没有中文支持
首先,部署 Kubeflow 完整平台,需要部署大量的依赖和组件。社区提供的安装方法为使用 Kustomize 命令,并使用仓库 https://github.com/kubeflow/manifests