Kubeflow为Kubernetes集群用户部署机器学习带来了可组合的,更易于使用的堆栈,并提供了更多的控制和可移植性,而不仅仅是TensorFlow。
Kubeflow是一个使Kubernetes上的机器学习变得简单,便携和可扩展的新项目。Kubeflow能够运行在可部署Kubernetes的任何环境中。Kubeflow不是重新创建其他服务,而是为Kubernetes用户提供最佳解决方案。
为什么要使用Kubeflow?
Kubeflow旨在使机器学习对Kubernetes用户更容易,通过让系统照顾细节(在合理的范围内)并支持机器学习从业者所需要的工具。
Kubernetes已经有:
在不同的基础设施(笔记本电脑< - > ML设备< - >培训集群< - >生产集群)上轻松可重复、便携的部署
部署和管理松散耦合的微服务
根据需求进行缩放
Kuberflow旨在为用户提供简单的清单,以便可以轻松地在任何位置使用机器学习堆栈在Kubernetes上运行。另外,它可以基于部署集群进行自我配置。
特别是,Kubeflow包含对创建JupyterHub的支持。用户可以为Jupyter笔记本创建多用途Hub。Hub可以为学生,企业数据科学工作组,科学研究项目或高性能计算组提供笔记本服务器。
Kubeflow用户还可以创建一个TensorFlow培训控制器来配置CPU或GPU,有助于用单一设置调整集群的大小,也可以创建一个TF服务continer。
Kubeflow对于已经使用Kubernetes的人来说是非常棒的,这使每个人都在同一个工具链上,而不需要添加额外的步骤。它还为具有本地或基于云服务器的人员带来了可扩展性。
如果只需要一个容器和一个简单的管道,Kubeflow可能会有点多。Google Cloud ML引擎更适合希望在云中运行并希望获得抽象层的用户。一般来说,如果将5个或更多服务以及系统连接在一起以创建机器学习堆栈,那么Kubeflow可以简化工作负载。
入门
显然,前提是你已经有了一个Kubernetes集群可用。如果有任何特定的Kubernetes安装,则需要额外配置。更多信息可以在GitHub(https://github.com/google/kubeflow)上找到。