BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Meson,用于协调和调度Netflix推荐工作流的架构

| 作者 Srini Penchikala 关注 37 他的粉丝 ,译者 Rays 关注 3 他的粉丝 发布于 2016年7月12日. 估计阅读时间: 4 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

Netflix力图在人们未观看视频之前就预测他们想看的。为此Netflix每日运行多个机器学习(ML)工作流,这些流水线用于构建、训练并验证有助于视频推荐的个性化推荐算法。Meson是一个工作流的协调和调度架构,它管理这些所有机器学习流水线的生命周期。

近期Netflix开发团队公开了Meson架构,并描述了它是如何作用于机器学习流水线的。Meson的目标之一是当允许工程师用自选的技术构造流水线的每一步时,增进整体算法实验的速度、可行性和可重复性。

部分在Netflix的机器学习流水线中发挥了重要作用的技术包括:Spark MLlibPythonRDocker

一个典型的用于驱动视频推荐的机器学习流水线包括如下步骤:

  • 用户选取;
  • 特征生成;
  • 模型训练;
  • 模型验证;
  • 模型发布。

在Netflix,用户选取步骤通过Hive查询实现了对用于分析的用户队列的选择。数据清洗和准备功能由Python脚本实现,该脚本创建了两套用户,用于并行的两条执行路线。其中的一条执行路线实现对全局模型的构建和分析,其中使用了Apache Spark作为运算架构,以及HDFS作为临时存储。另一条执行路线使用R语言构建地区(国家)特定的模型,其中地区的数量依据为分析所选取的队列而动态变化。

模型验证步骤用Scala代码实现,。该步骤用于测试当两条执行路径汇聚时模型的稳定性。整个过程重复直至模型达到稳定。最终,新模型使用Docker容器技术发布,这样的发布可由其它系统进行调用。

为满足机器学习工作流中的资源需求,Netflix团队在Meson中使用了诸如Apache Mesos这样的资源管理工具。Mesos提供了对CPU、内存、存储及其它计算资源的任务隔离和抽象,并使用这些特性实现了Mesos任务的扩展和容错。

Meson中还包括调度器和执行器组件。

Meson调度器: 该组件管理各个工作流的启动、流控制和运行时间。Meson将内存和CPU需求发送给Mesos,实现对Mesos实际的资源调度的代理。一旦某个执行步骤已就绪可被调度,Meson调度器选取由Mesos提供的适用资源,并将任务发送给Mesos主节点。

Meson执行器: 它是对Mesos执行器的定制,允许开发团队去维护与Meson的通信通道。这样架构消息可被发送到Meson调度器,对于长时间运行的任务是十分有用的。Meson执行器也允许用户数据的传递。

Mesos在调度Meson任务时,它在下载了该任务所有的依赖后,在客户节点上启动一个Meson执行器。当核心任务被执行时,执行器还关注诸如心跳信息发送、任务完成比例、状态消息等其它任务的情况。

Meson还提供了基于Scala的DSL,这允许创建用户定制的工作流。Meson中还具有对原生Spark的支持,这允许在Meson中去监控Spark任务的进程进度。Meson还具备功能去重做失败的Spark过程,或杀掉执行异常的Spark任务。

Netflix团队计划在未来几个月内开源Meson,并构建Meson相关的社区。

查看英文原文:Meson Workflow Orchestration and Scheduling Framework for Netflix Recommendations


感谢张龙对本文的审校。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT