本文已发布一年以上。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变为不正确。

宣布 Kubeflow 0.1 版本

自上次见面以来

自从在上次 KubeCon+CloudNativeCon 上首次宣布 Kubeflow 以来,我们对在 Kubernetes 上构建出色的 ML 堆栈的热情感到惊讶和高兴。短短五个多月,Kubeflow 项目 现在拥有

  • 70 多位贡献者
  • 20 多个贡献组织
  • 15 个存储库
  • 3100 多个 GitHub 星标
  • 700 多次提交

并且已经跻身 有史以来 GitHub 项目的前 2%。

人们也很乐于讨论 Kubeflow! Kubeflow 社区还在世界各地举办了数千人参加的见面会、演讲和公开会议。在所有这些帮助下,我们已经开始在 ML 的每一步都取得实质性进展,从构建您的第一个模型一直到构建可用于生产、可大规模部署的模型。最终,我们的使命保持不变:我们希望通过为数据科学家和软件工程师提供易于使用、可移植且可扩展的 ML 堆栈,让他们专注于自己擅长的事情。

Kubeflow 0.1 介绍

今天,我们很自豪地宣布 Kubeflow 0.1 的发布,它提供了一组最基本的软件包,可以开始开发、训练和部署 ML。只需几个命令,您就可以获得

  • Jupyter Hub - 用于协作和交互式训练
  • 具有本机分布式训练的 TensorFlow 训练控制器
  • 用于托管的 TensorFlow Serving
  • 用于工作流的 Argo
  • 用于复杂推理和非 TF 模型的 SeldonCore
  • 用于反向代理的 Ambassador
  • 使其可以在任何地方的任何 Kubernetes 上运行的连接

要开始使用,它和以前一样简单

# Create a namespace for kubeflow deployment
NAMESPACE=kubeflow
kubectl create namespace ${NAMESPACE}
VERSION=v0.1.3

# Initialize a ksonnet app. Set the namespace for its default environment.
APP_NAME=my-kubeflow
ks init ${APP_NAME}
cd ${APP_NAME}
ks env set default --namespace ${NAMESPACE}

# Install Kubeflow components
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}

# Create templates for core components
ks generate kubeflow-core kubeflow-core

# Deploy 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

We could then deploy the model by doing

ks generate tf-serving ${MODEL_COMPONENT} --name=${MODEL_NAME}
ks param set ${MODEL_COMPONENT} modelPath ${MODEL_PATH}
ks apply ${ENV} -c ${MODEL_COMPONENT}

只需几个命令,数据科学家和软件工程师现在就可以创建更复杂的 ML 解决方案,并专注于他们最擅长的事情:回答业务关键问题。

社区贡献

如果没有社区中每个人的巨大帮助,我们不可能走到今天这一步。我们要强调的一些具体贡献包括

社区为所有这些项目(以及更多项目)的实现提供了多大的帮助,怎么强调都不为过。一些贡献公司包括:阿里巴巴云、蚂蚁金服、才云、Canonical、思科、Datawire、戴尔、GitHub、Google、Heptio、华为、英特尔、微软、Momenta、One Convergence、Pachyderm、Project Jupyter、Red Hat、Seldon、Uber 和 Weaveworks。

了解更多

如果您想试用 Kubeflow,我们为您提供了许多选项

  1. 您可以使用 Katacoda 上托管的示例演练
  2. 您可以按照 示例存储库中现有模型的指导教程进行操作。其中包括GitHub 问题摘要MNIST使用代理的强化学习
  3. 您可以在您自己的集群上启动并尝试您自己的模型。任何 Kubernetes 一致性集群都将支持 Kubeflow,包括来自贡献者 才云CanonicalGoogleHeptioMesosphereMicrosoftIBMRed Hat/Openshift Weaveworks 的集群。

在 KubeCon + CloudNativeCon EU 2018 上也有一些关于 Kubeflow 的会议。以下是演讲的链接;相关视频将在未来几天发布。

下一步是什么?

我们的下一个主要版本是今年夏天发布的 0.2。在此版本中,我们期望实现以下新功能

  • 通过引导容器简化设置
  • 改进的加速器集成
  • 支持更多的 ML 框架,例如 Spark ML、XGBoost、sklearn
  • 自动缩放的 TF Serving
  • 程序化数据转换,例如 tf.transform

但最重要的功能是我们尚未听到的。请告诉我们!以下是一些让您发出声音的选项