内容简介:在 Spotify 的最新博客帖子中,产品经理 Josh Baer 和机器学习工程师 Samuel NgahaneSpotify 长期使用机器学习技术,为用户自动生成定制的播放列表。例如,“每周发现”(Discover Weekly)频道可为用户推荐新的音乐。企业最初的策略是允许各团队自己选择工具和框架。不少现有的基础架构采用了
Spotify 开源了自研的 Terraform 模块 ,用于在 Google Kubernetes Engine (GKE)上运行机器学习流水线软件 Kubeflow 。通过将企业内部机器学习平台转换至 Kubeflow,Spotify 工程师缩短了上市时间,将运行的实验规模扩大为原平台的 7 倍。
在 Spotify 的最新博客帖子中,产品经理 Josh Baer 和机器学习工程师 Samuel Ngahane 介绍了 Spotify 在为机器学习“铺平道路”(Paved Road)上的做法 。“基于我们推荐的基础架构,使用经慎重考虑过的产品和配置,部署端到端的机器学习解决方案”。通过执行此标准,Spotify 的机器学习工程师得以专注于开展机器学习实验,无需费心基础架构的构建和维护。该平台自 2019 年中旬启动以来,得到约 100 个内部用户的采用,并已运行了 18000 多项实验。
Spotify 长期使用机器学习技术,为用户自动生成定制的播放列表。例如,“每周发现”(Discover Weekly)频道可为用户推荐新的音乐。企业最初的策略是允许各团队自己选择 工具 和框架。不少现有的基础架构采用了 Scala 语言 ,并使用了包括 Scio 在内的多个由 Spotify 开源的自定义库。Scio 是一种 Apache Beam 数据处理库,但其在扩展性上存在问题,使得团队需要支持多种框架,导致从概念原型到生产系统之间的迭代时间延长。此外,许多工程师“完全不考虑在基于 Python 的工作流中添加 Scala”。上述问题促使 Spotify 重新考虑自身的框架选取问题,并由此提出了“铺平道路”(Paved Road)这一理念。
“铺平道路”意在解决端到端机器学习工作流中存在的问题。工作流定义了机器学习模型开发和部署的各个阶段,其中包括:
- 数据预处理
- 特征转换
- 模型训练
- 模型评估
- 模型上线
具体而言,Spotify 聚焦于各阶段间的数据接口问题,选择采用谷歌 TensorFlow Extended (TFX)机器学习平台定义的 TFRecord 格式和 tf.Example 类 。团队通过对现有工具构建 TFX 连接器,实现向通用框架的迁移。团队正致力于使用 Tensorflow Data Validation (TFDV)等 TFX 组件,支持开发人员检测偏斜分布和错误值等数据问题。但其中依然存在一些挑战。例如,现有工具尚未解决端到端的编排框架问题。
最终,团队决定迁移到开源机器学习工作流平台 Kubeflow Pipelines(KFP)。该平台上的工作流的组件,将打包为受 Kubernetes 管理的 Docker 容器。KFP 为 TFX 提供开箱即用的支持,因此团队无需再去学习新的框架。KFP SDK 的另一个优点是预先打包了许多常用任务,支持代码共享和重用。Spotify 实现了共享 Kubeflow 集群的部署和管理,使得开发人员得以专注于机器学习实验本身,不必操心基础架构管理的细节。群集托管在 Google Kubernetes Engine(GKE)上,使用 Terraform 配置。
KFP 是一类机器学习全生命周期管理工具。此类工具多由一些大型企业开源提供。例如,Databricks 的 MLFlow ,以及 Uber 的 Michaelangelo 。最近,AWS 也新发布了几项 Sagemaker 服务 ,力图为机器学习生命周期的各阶段提供统一的接口。在 KubeCon 2019 大会上,Spotify 的机器学习工程师 Ryan Clough 和 Dai Keshi 介绍了 Spotify 的平台。此后,Clough 发了如下推文:
如果要说参与 KubeCon 大会的最大收益,那就是我们同样面对着类似的问题,这些问题会由于各自企业的不同环境而表现各异。尽管我们一直在努力去提供最好的产品,但是没人能独自解决所有的问题。是的,没有人。
Spotify 在 GitHub 上维护了多个 开源项目 ,其中包括 TensorFlow helpers 等机器学习的相关类库。
原文链接:
Spotify Open-Sources Terraform Module for Kubeflow ML Pipelines
以上所述就是小编给大家介绍的《Spotify 开源 Terraform:用于在 GKE 上运行 Kubeflow》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 9 个用于构建容错系统的开源工具
- 推荐 5 大开源工具,用于开发 Kubernetes 项目
- 微软开源用于 Azure 数据压缩的算法、硬件和源码
- 微软开源用于 Azure 数据压缩的算法、硬件和源码
- Microsoft开源lnterpretML用于解释”AI黑盒子“
- Heptio 开源 Gimbal,用于 Kubernetes 的负载均衡器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
白话机器学习算法
[新加坡] 黄莉婷、[新加坡] 苏川集 / 武传海 / 人民邮电出版社 / 2019-2 / 49.00元
与使用数学语言或计算机编程语言讲解算法的书不同,本书另辟蹊径,用通俗易懂的人类语言以及大量有趣的示例和插图讲解10多种前沿的机器学习算法。内容涵盖k均值聚类、主成分分析、关联规则、社会网络分析等无监督学习算法,以及回归分析、k最近邻、支持向量机、决策树、随机森林、神经网络等监督学习算法,并概述强化学习算法的思想。任何对机器学习和数据科学怀有好奇心的人都可以通过本书构建知识体系。一起来看看 《白话机器学习算法》 这本书的介绍吧!