简介
什么是 Kubeflow
Kubeflow 是一个开源项目社区和生态系统,致力于通过支持一流的开源工具和框架来解决机器学习 (ML) 生命周期中的各个阶段。Kubeflow 使在 Kubernetes 上进行 AI/ML 变得简单、可移植和可伸缩。
无论您是研究人员、数据科学家、ML 工程师还是开发团队,Kubeflow 都提供了模块化和可扩展的工具,可满足 ML 生命周期的各个方面:从构建 ML 模型到将其部署到生产环境用于 AI 应用程序。
什么是独立 Kubeflow 组件
Kubeflow 生态系统由多个开源项目组成,这些项目解决了 ML 生命周期的不同方面。其中许多项目设计为既可在 Kubeflow 平台内使用,也可独立使用。这些 Kubeflow 组件可以在 Kubernetes 集群上独立安装。对于可能不需要完整的 Kubeflow 平台功能,但希望利用特定 ML 功能(如模型训练或模型服务)的用户来说,它提供了灵活性。
什么是 Kubeflow 平台
Kubeflow 平台是指与附加的集成和管理工具捆绑在一起的完整 Kubeflow 组件套件。将 Kubeflow 用作平台意味着部署一个全面的 ML 工具包,涵盖整个 ML 生命周期。
除了独立的 Kubeflow 组件,Kubeflow 平台还包括
- 用于交互式数据探索和模型开发的Kubeflow Notebooks。
- 用于轻松导航和管理的中心仪表盘,以及用于访问控制的Kubeflow Profiles。
- 用于数据管理 (PVC Viewer)、可视化 (TensorBoards) 等的附加工具。
Kubeflow 平台可以通过打包发行版或Kubeflow Manifests进行安装。
Kubeflow 概览图
下图展示了主要的 Kubeflow 组件,涵盖了在 Kubernetes 之上的 ML 生命周期的各个阶段。
阅读架构概览,了解 Kubeflow 生态系统以及 Kubeflow 组件如何融入 ML 生命周期。
Kubeflow 视频简介
观看以下视频,了解 Kubeflow 简介。
Kubeflow 的使命
我们的目标是让机器学习 (ML) 模型伸缩和部署到生产环境尽可能简单,让 Kubernetes 发挥其擅长的作用
- 在多样化基础设施上轻松、可重复、可移植地部署(例如,在笔记本电脑上进行实验,然后转移到本地集群或云端)
- 部署和管理松散耦合的微服务
- 根据需求进行伸缩
由于 ML 从业者使用各种各样的工具,主要目标之一是根据用户需求(在合理范围内)定制技术栈,并让系统处理“繁琐的事情”。虽然我们最初只采用了一小部分技术,但我们正在与许多不同的项目合作,以纳入更多工具。
最终,我们希望拥有一组简单的 Manifests,可以在 Kubernetes 运行的任何地方为您提供易于使用的 ML 技术栈,并且可以根据部署到的集群进行自配置。
历史
Kubeflow 最初是 Google 内部运行 TensorFlow 的方式的开源版本,基于一个名为 TensorFlow Extended 的流水线。它最初只是在 Kubernetes 上运行 TensorFlow 作业的一种更简单的方式,但后来扩展成为一个多架构、多云的框架,用于运行端到端机器学习工作流程。
Kubeflow 标志代表了 Kubernetes 标志七边形内的字母 K
和 F
,它们代表了两个社区:Kubernetes
(云原生)和 flow
(机器学习)。在此背景下,flow
不仅指 TensorFlow
,还指所有使用 Dataflow 图作为模型/算法实现标准形式的 ML 框架。
路线图
要查看未来版本的 Kubeflow 将包含哪些内容,请参阅 Kubeflow 路线图。
以下组件也有路线图
参与其中
有很多方式可以为 Kubeflow 做出贡献,我们欢迎您的参与!
下一步
- 按照安装指南部署独立 Kubeflow 组件或 Kubeflow 平台。