Py学习  »  机器学习算法

谷歌发布Kubeflow 0.1版本,基于Kubernetes的机器学习工具包

Docker • 5 年前 • 416 次点击  


自从 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 上运行


下面是入门示例:

# 为 kubeflow 开发环境创建 namespace
NAMESPACE=kubeflow
kubectl create namespace ${NAMESPACE}
VERSION=v0.1.3
# #初始化 ksonnet 应用,设置 namespace 为其默认环境变量
APP_NAME=my-kubeflow
ks init ${APP_NAME}
cd ${APP_NAME}
ks env set default --namespace ${NAMESPACE}
# #安装 Kubeflow 组件
ks registry add kubeflow github.com/kubeflow/kubeflow/tree/${VERSION}/kubeflow
ks pkg install kubeflow/core@${VERSION}
ks pkg install kubeflow/tf-serving@${VERSION}
ks pkg install kubeflow/tf-job@${VERSION}
# #为核心组件创建模板
ks generate kubeflow-core kubeflow-core
# #部署 Kubeflow
ks apply default -c kubeflow-core

至此,JupyterHub 已部署,我们现在可以使用 Jupyter 开始开发模型。一旦有了 Python 代码来构建模型,我们就可以构建一个 Docker 镜像并使用 TFJob 运算符通过运行如下命令来训练模型:

ks generate tf-job my-tf-job --name=my-tf-job --image=gcr.io/my/image:latest
ks apply default -c my-tf-job
# #下面部署模型
ks generate tf-serving ${MODEL_COMPONENT} --name=${MODEL_NAME}
ks param set ${MODEL_COMPONENT} modelPath ${MODEL_PATH}
ks apply ${ENV} -c ${MODEL_COMPONENT}

只需要几个命令,数据科学家和软件工程师就可以创建更复杂的 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/


Kubernetes入门与进阶实战培训


本次培训内容包括:Docker基础、容器技术、Docker镜像、数据共享与持久化、Docker三驾马车、Docker实践、Kubernetes基础、Pod基础与进阶、常用对象操作、服务发现、Helm、Kubernetes核心组件原理分析、Kubernetes服务质量保证、调度详解与应用场景、网络、基于Kubernetes的CI/CD、基于Kubernetes的配置管理等,点击了解具体培训内容


5月11日正式上课,点击阅读原文链接即可报名。

今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/vpz5DBSTmN
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/11499
 
416 次点击