Kubecon 2017 大会 Google 高级产品经理 David Aronchick 访谈:机器学习和 Kubernetes

  • Rags Srinivas
  • 陈亮芬

2018 年 1 月 31 日

话题:语言 & 开发KubernetesAITensorFlow

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

在德克萨斯州奥斯汀市举办的Kubecon大会已于近日闭幕,会议吸引了超过 4000 名工程师,Kubernetes 成为了大会最热门的主题。由于工作负载的本质和训练算法中典型繁重计算的需求,机器学习话题和它与 Kubernetes 的协同作用在许多会议上都讨论过。

Kubeflow平台使得 Kubernetes 上的机器学习简单,便携和可扩展,它主要通过提供 manifests 来创建:

  • JupyterHub,以实现和管理Jupyter笔记本;
  • 同时适配 CPU 和 GPU 的Tensorflow训练控制器;
  • Tensorflow 服务容器。

InfoQ 有幸邀请到David Aronchick就相关问题进行了访谈,David Aronchick 不仅是 Google 的产品经理,也是 Kubeflow 的主导者。他在 Kubecon 2017 大会上着重展示了 Kubernetes 和机器学习的协同作用。

InfoQ:机器学习在 Kubecon 大会上获得了很大关注,有什么特别的原因吗?

Aronchick:毫无疑问,机器学习正改变着几乎所有产业的商业模式。在这么大的场合,有那么多的听众,或者说有那么多的行业顶尖人才齐聚一堂来探讨技术的未来,大家总会提到最新的技术趋势和进展。超过 4000 多名的 Kubecon 大会参会者不仅想了解别人所从事的尖端机器学习,也想知道他们是怎么运用这些新技术来改善自己的流程的。

这也就是说,许多新项目都跳出了原有的框架,同时还有不少的改变。实际上,之前的许多公告都说过有完整的机器学习堆栈。我想说我们首先要转换的一个思维是,Kubernetes 上的机器学习不仅仅是指未来的事情,它其实是一个现当下的事情。

InfoQ:您能描述一下机器学习和 Kubernetes 之间的全面协同过程吗?

Aronchick:对于现存大量数据的使用来说,机器学习是一个新方法,同时它也能拿出比以前更准确、更快的方案来解决业务问题。但是,机器学习解决方案的基础架构支持 (大多数都相当复杂) 仍然比较新,需要大量的自定义脚本、依赖项分析和兼容性问题等。而且,机器学习栈堆通常部署在多个位置 (用于开发、训练和生产),保持每个节点的同步使得使用机器学习这个挑战更艰难。

为帮助大规模地部署和运行这些机器学习平台,Kubernetes 提供了一个通用的平台。凭借在多个云环境中运行的丰富编排,Kubernetes 为数据科学家、开发人员和 IT 专业人员提供了一种简单的方法来部署、运行和管理复杂的、多服务的机器学习工作负载。

InfoQ:与使用 Kubeflow 相比,通过 Helm 图表在 Kubernetes 上安装机器学习工具有什么不同呢?

Aronchick: 机器学习工具的实际安装是通过封装系统完成的。目前,Kubeflow 正在使用ksonnet,我们仍然希望它可以支持多种不同的部署技术。Kubeflow 的价值更多在于用简单的方式使大量的工具共同运行得更好。我们也在评估所有其他的选项,包括 helm 和 ksonnet 等等,但是,我们想在安装时为用户提供一组更丰富的对象,以确保所涉及的多个包能够很好地共同运行,并且立即可用。

InfoQ:假设我是一名机器学习 / 数据科学家,Kubeflow 会如何简化我的日常工作,而不是通过添加 Kubzernetes 层来使之复杂化?

Aronchick:因为 Kubernetes 提供部署对象和服务端点,如果你是一个数据工程师,这也就意味着你只需要关注和你相关的点,也就是解决数据问题。我们不希望、也不需要数据科学家为了使用 Kubeflow 去安装复杂的 Kubernetes 设置。在你的笔记本电脑上,你可能需要使用 minikube。在你的本地集群上,你可能需要使用由你的组织所提供的 Kubernetes 安装。在云端,你可以使用托管的 Kubernetes 提供程序(provider)。在每种情况下,你都只能看到一条安装 Kubeflow 的指令,按需安装之后你就可以看到你所熟悉的 Tensorflow 服务和 Jupyter 笔记本了。

InfoQ:关于机器学习工具包的基础架构支持如何被集成为 Kubeflow 这一点,您能给我们再详述一下技术细节吗?

Aronchick:因为我们正在使用本地的 Kubernetes 工具,对现有部署包的集成是相当简单的。我们是以一个社区的形式来提供各种各样的选择的,但有的人可能喜欢其他的直接介入的机器学习工具包,因为他们最了解他们的平台(我们现在也正在与其他的团队接洽)。关于下一个我们将要添加的工具包将会是什么这个问题,我们在Github repo上进行了一些讨论,但总体来说,我们是愿意为用户提供帮助的。

InfoQ:社区是如何支持 Kubeflow 的呢?还有 Kubeflow 的发展蓝图是什么呢,会不会加入针对类似 Cloud Foundry 和 OpenShift 等平台的支持?

Aronchick: Kubeflow 是本地的 Kubernetes,而且我们正致力于确保这种情况继续下去。这也就意味着在我们的计划中我们将一直支持和Kubernetes 相一致的任何平台,也包括 Cloud Foundry 和本地 OpenShift(Red Hat 已经加入我们的项目了)。我们也已经对外公布了与 Canonical/Ubuntu,Weaveworks,Caicloud 以及许多其他平台提供商的合作。我们非常重视无所不在的机器学习堆栈的价值,也努力确保 Kubeflow 能够满足每一个数据科学家的需要,随时随地提供服务。

如果想了解主会场演讲和其他记录,可前往 Kubecon 的日程页面获取。

查看英文原文:Q&A on Machine Learning and Kubernetes with David Aronchick of Google from Kubecon 2017


感谢罗远航对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

语言 & 开发KubernetesAITensorFlow