1 什么是 Kubeflow
Kubeflow 是一个开源项目社区和生态系统,支持机器学习 (ML) 生命周期中的每个阶段 ,并支持相关的开源 工具和框架,Kubeflow 使 Kubernetes 上的 AI/ML 变得简单、可移植且可扩展。
Kubeflow 都能提供模块化、可扩展的工具,满足机器学习生命周期的各个方面:从构建机器学习模型到将其部署到人工智能应用程序的生产中。
2 Kubeflow 概览图
下图展示了覆盖 Kubernetes 上 ML 生命周期每个阶段的主要 Kubeflow 组件
3 三个原则
3.1可组合性
不同的处理阶段需要不同的组件,需要能够安装整合这些不同处理阶段的工具:
3.2 可移植性
工程师和科学家只需要关注主体逻辑和代码,一次性编码,就可以将数据迁移到在支持kubeflow的任何环境中运行ML的服务
3.3 可扩展性
训练平台可以访问更多的处理资源,并且可以动态的调整,以在不需要时即使释放减少成本;Kubeflow使用Kubenetes内置功能来及时调整资源利用。
4 Kubeflow优势
目标是让 Kubernetes 发挥其优势,让扩展机器学习(ML)模型并将其部署到生产中变得尽可能简单:
· 在多样化的基础架构上轻松、可重复、可移植地部署(例如,在笔记本电脑上进行实验,然后转移到本地集群或云端)
· 部署和管理松耦合的微服务
· 根据需求扩展
5 历史
Kubeflow 最初是 Google 内部运行TensorFlow方式的开源版本,基于名为TensorFlow Extended 的管道。它最初只是在 Kubernetes 上运行 TensorFlow 作业的一种简单方法,但后来扩展为运行端到端机器学习工作流的多架构、多云框架。