自从 Google 发布开源容器编排工具——Kubernetes 以来,我们已经见证了其以各种方式遍地开花的景象。随着 Kubernetes 越来越受欢迎,许多辅助项目也已经发展起来。现在,Google 发布了 Kubeflow 开源工具 0.1 版本,该工具旨在将机器学习带入 Kubernetes 容器的世界。
虽然 Google 早已将 Kubernetes 迁移入 Cloud Native 计算基金会,但仍在积极参与该项目,发布 Kubeflow 就是很好的证明。该项目最初只是在去年底奥斯汀举办的 Kubecon 上宣布,但取得了不错反响。
在 Google 运营 Kubeflow 的 David Aronchick,加入 Kubeflow 之前,已经带领了 Kubernetes 团队两年半的时间。 他表示,该项目背后的想法是让数据科学家充分利用在 Kubernetes 集群上运行机器学习任务的优势。Kubeflow 可以让机器学习团队将现有任务轻松放到集群中运行,而无需作出太多改变。
随着今天的 0.1 版本的发布,该项目将开始推进,并将通过博客公布里程碑,将稳定性提高到一个新的水平,同时还会增加大量社区一直呼吁的新功能。其中包括为 Jupyter Hub 提供用于机器学习任务的协作和交互式训练以、Tensorflow 训练及托管支持等。
Aronchick 强调说,作为一个开源项目,你可以贡献任何你喜欢的工具,而不仅仅限于 Tensorflow,尽管早期的版本确实包含了对 Google 机器学习工具的支持。随着项目进一步发展,预计会有更多额外的工具支持。
在项目最初宣布后的 4 个月内,社区发展迅速,有 70 多个贡献者,20 多个捐助组织以及 15 个 Repositoriy 中的 700 多个提交。可以期待一下,可能今年夏天的某个时候就会发布 0.2 版本。
Kubeflow 0.1 简介
Kubeflow 0.1 提供了一套最精简的软件开发包,用于开发,训练和部署 ML。只需几个命令,就可以获得:
Jupyter Hub:用于机器学习任务的协作和交互式训练
TensorFlow 训练控制器:支持原生的分布式训练
TensorFlow 服务:用于服务托管
Argo:工作流
SeldonCore:用于复杂推断及非 TF 模型
Ambassador:反向代理
Wiring:可以使 Kubeflow 在任意 Kubernetes 上运行
下面是入门示例:
至此,JupyterHub 已部署,我们现在可以使用 Jupyter 开始开发模型。一旦有了 Python 代码来构建模型,我们就可以构建一个 Docker 镜像并使用 TFJob 运算符通过运行如下命令来训练模型:
只需要几个命令,数据科学家和软件工程师就可以创建更复杂的 ML 解决方案,并专注于他们最擅长的事情:解决核心业务问题。
参考链接:https://techcrunch.com/2018/05/04/google-kubeflow-machine-learning-for-kubernetes-begins-to-take-shape/,https://kubernetes.io/blog/2018/05/04/announcing-kubeflow-0.1/
作者:李加庆
领取专属 10元无门槛券
私享最新 技术干货