Kubeflow基于 Kubernetes 的机器学习工具库

联合创作 · 2023-09-26 04:26

Kubeflow 是谷歌发布的一个机器学习工具库,Kubeflow 项目旨在使 Kubernetes 上的机器学习变的轻松、便捷、可扩展,其目标不是重建其他服务,而是提供一种简便的方式找到最好的 OSS 解决方案。该库包含包含的清单用于创建:

  • 用于创建和管理交互式 Jupyter notebook 的 JupyterHub

  • 可配置为使用 CPU 或 GPU,并通过单一设置调整至单个集群大小的 TensorFlow 训练控制器(Tensorflow Training Controller)

  • TF 服务容器(TF Serving container)

该文档详述在可运行 Kubernetes 的任何环境中运行 kubeflow 项目的步骤。

Kubeflow 目标

其目标是通过发挥 Kubernetes 的特长,从而更便捷地运用机器学习:

  • 在不同的基础设施上实现简单、可重复的便携式部署(笔记本<-> ML 装备 <-> 训练集群 <-> 生产集群)

  • 部署和管理松散耦合的微服务

  • 根据需求进行扩展

由于机器学习从业者可供使用的工具非常多,所以核心目标是你可以根据需求自定义堆栈,并让系统处理无赖的东西」。虽然我们已开始使用少许技术,但我们正在与很多不同项目展开合作,以涵盖更多额外的工具。最终,我们希望给出一组简单的清单,只要在 Kubernetes 已运行的地方便能轻松使用 ML 堆栈,并可根据部署的集群实现自我配置。

设置

该文档假设你已经有一个可用的 Kubernetes 集群。对于具体的 Kubernetes 安装,可能需要额外的配置。

Minikube

Minikube 是一个让我们在本地运行 Kubernetes 更方便的工具。Minikube 会在笔记本的虚拟环境中运行一个单结点 Kubernetes 集群,从而令用户可以在该环境中试验它或执行日常的开发工作。下面的步骤适用于 Minikube 集群,本文档当前使用的是最新版 0.23.0,我们必须配置 Kubectl 才能访问 Minikube。

谷歌 Kubernetes 引擎

谷歌 Kubernetes 引擎是一个可用于部署容器化应用的托管环境。它融合了提高开发生产力、有效利用资源、自动化运维和开源灵活性方面的最新创新技术,能够加快模型进入市场以及迭代的时间。

谷歌在容器中运行生产工作负载的经验已超过 15 年,他们将在此期间学到的经验知识融入到了 Kubernetes 中。因此,Kubernetes 是行业领先的开源容器协调系统,为 Kubernetes Engine 提供技术支持。

如果读者正在使用谷歌 Kubernetes 引擎,在创建清单前,我们应该先授予自己所要求的 RBAC 角色,因而才能创建或编辑其它 RBAC 角色。

kubectl create clusterrolebinding default-admin --clusterrole=cluster-admin --user=user@gmail.com
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报