译者|李建盛
编辑|Emily
背景介绍
Kubeflow 旨在让机器学习能够更加容易、可移植、可扩展的在 Kubernetes 上运行。其目的并不是简单的重新制造一个服务,而是希望提供一个更为直接的开源解决方案。目前 Kubeflow 的 GitHub 仓库所包括的内容有:
一份 JupyterHub ,用于交互式的创建和管理 Jupyter 笔记。
一个 TensorFlow 训练控制器,可以一键设定,配置使用 CPU 和 GPU 以及调整集群的规模。
一个 TF 服务容器。
项目情况
根据其官方的说法,Kubeflow 的任务是帮助人们更加轻松、简单的使用机器学习,而 Kubernetes 则正好可以成为最佳的平台:
简单、重复、可移植的部署到多种基础设施平台(笔记本电脑、训练的集群、生产线集群)
部署和管理松耦合的微服务
按需伸缩
因为机器学习的从业者会使用到很多不同类型的工具,但是他们有一个关键的目标,那就是可以根据自己的需求定制软件栈(在合理范围内),并让系统去处理“无聊的事情”。
最终,Google 是希望能够有一份足够简单的清单,让人们可以轻松的在任何运行 Kubernetes 的地方使用机器学习,且可以根据所部署的集群进行自我配置。
尤其重要的是,Kubeflow 包含了支持创建 JypyterHub,用户可以为 Jupyter 笔记创建多用途的 Hub,Hub 可以为学生、 企业数据科学工作者、科学研究项目或高性能计算提供笔记服务器。
那么一定会有人提出质疑,凭什么认为 kubeflow 就比我们自己做的 Docker 镜像更为优秀了呢?其实呢,Kubeflow 也没敢太招摇,只是说假如你已经是 Kubernetes 的资深用户了,想使用 机器学习的话,Kubeflow 可以帮助到你,它可以让人们采用一致的工具链,而毋需做更多额外的工作,而且具有很好的扩展性。
话虽不尽然,如果作为 Kubernetes 的简单用户,仅仅拥有单一的容器和简易的工作流,Kubeflow 又显得有点复杂。这个时候,可能 Google Cloud ML 引擎更适合,尤其是希望在云中运行 并不需要太多操作的用户。我们给出的建议是:一般来说,如果用户的服务或系统大于 5 个,用来创建机器学习软件栈的话,那么 Kubeflow 将会是最佳选择,可以有效的简化用户的工作量。
入门途径
显而易见的是,你需要部署有 Kubernetes 的集群,如果你的 Kubernetes 的安装是经过定制的,那么可能还需要一点特殊的配置,更多信息请直接访问 Kubeflow GitHub 站点。
毫无疑问,这是 Google 的开源项目,而且和 Kubernetes 这样拥有优秀社区的项目密切相关,所以他们是非常乐意得到大家的帮助的,所以,如果你对这个项目产生了兴趣,想为项目做点什么 的话,可以先通过一些沟通工具了解一下,如 Slack、 社交媒体 Twitter、以及开发人员最为青睐的邮件列表
领取专属 10元无门槛券
私享最新 技术干货