Kubeflow项目的目的是让您在Kubernetes上能够简单,便携和可扩展的部署机器学习(ML)工作流程。 我们的目标不是重新创建其他服务,而是提供一种直接的方式,将ML开源系统部署到不同的基础设置中。无论你在哪里运行Kubernetes,你都能够运行Kubeflow。
Kubeflow的使命
我们的目标让Kubernetes发挥它优点,让机器学习(ML)模型尽可能简单地将它们部署到生产中:
- 简单、可重复、便携式部署在一个多样化的基础设施中(笔记本 <-> ML rig <-> 教学集群 <-> 生产集群)
- 部署和管理松散耦合的微服务
- 根据需求进行扩展
因为ML从业者使用各种各样的工具,其中一个关键目标是根据用户要求(在合理范围内)自定义堆栈,并让系统处理“无聊的东西”。
最终,我们希望在Kubernetes已经运行的任何地方,为您提供易于使用的ML堆栈,并且可以根据它部署的集群进行自我配置。
什么是Kubeflow?
Kubeflow是Kubernetes的机器学习工具包。
要使用Kubeflow,基本工作流程是:
- 下载Kubeflow脚本和配置文件。
- 自定义配置。
- 运行脚本以将容器部署到所选环境。
你可以调整配置以选择要用于ML工作流的每个阶段的平台和服务:数据准备
,模型培训
,预测服务
和服务管理
。
您也可以选择在本地部署工作负载或部署到云环境。
历史
Kubeflow最初是以谷歌在内部运行TensorFlow的方式开源,基于一个名为TensorFlow Extended
的管道。它开始只是在Kubernetes上运行TensorFlow
的一种更简单的方法,但后来扩展为用于运行整个机器学习管道的多架构,多云框架。
Notebooks(交互式开发环境)
Kubeflow中包含JupyterHub,用于创建和管理多用户交互式Jupyter notebooks。 Project Jupyter是一个非盈利的开源项目,支持跨所有编程语言的交互式数据科学和科学计算。