Netflix 推荐系统(Part Eight)-Spark+AI 2018

原文来自Netflix at Spark+AI Summit 2018。并不追求完全和完整的翻译,仅翻译个人认为的重点部分。如发现任何侵权行为,请联系我。

A glimpse at Spark usage for Netflix Recommendations

Apache Spark一直是分布式计算中非常流行的大数据平台。 Netflix已广泛使用Spark进行各种批处理和流处理工作。 大量Spark计算资源用于内容推荐和个性化领域中的各种应用程序。 用于用户个性化的大多数机器学习pipeline在大型托管Spark群集上运行。 这些模型构成了推荐系统的基础,该系统支持您在Netflix应用程序上看到的各种个性化内容,包括标题相关性排名,行选择和排序以及海报个性化等。

Spark提供计算基础设施,能帮助完成模型开发中的数据准备,特征提取,训练和模型选择过程。 在过去的几年中,Personalization Infrastructure团队一直在这个领域中扩展Spark应用程序。 我们坚信与更广泛的Spark社区分享我们的学习经验,在2018年的旧金山Spark + AI峰会上,我们有机会通过分享Spark在Netflix的三个不同规模的项目来实现这一目标。 这篇文章总结了三个talk。

Fact Store for Netflix Recommendations

第一次talk记录了我们为个性化模型构建训练数据基础架构的过程 - 我们如何构建一个fact store,用于在不断变化的新需求环境中提取feature。 为了提高我们的个性化推荐的质量,我们使用历史数据离线尝试不同的算法idea。 然后,改进我们的离线指标的idea进入A / B测试,这些测试通过核心指标(例如用户参与度,满意度和用户留存率)的统计显著改进来衡量新算法的好坏。 此类离线分析的核心是history facts(例如,查看成员的历史记录,“我的列表”中的视频等),这些事件用于生成机器学习模型所需的feature。 我们需要确保我们捕获足够的fact数据以涵盖各种实验的所有分层需求,并保证我们所收集的数据在时间上准确。

在talk中,我们介绍了关键需求,fact store design的演变,基于推送的架构,扩展工作以及learnings。

Near Real-time Recommendations with Spark Streaming

我们的第二次talk深入探讨了我们在Netflix上构建的实时Spark Streaming生态系统,以提供这种Nearline ML基础设施。 本演讲由几个使用此Nearline(NRT)基础设施的产品用例进行了背景化,特别是我们如何选择在Billboard(页面顶部的大画布)上展示个性化视频,以及我们如何选择 给出在正确画布基础上的任何标题的个性化海报。 我们还反思了在Spark Streaming之上构建高容量基础架构时所学到的经验教训。

Spark-based Stratification library for ML use cases

我们的最后一个talk介绍了一个特定的基于Spark的库,我们构建它来帮助分层用于离线机器学习工作流程的训练集。 这使我们能够更好地模拟用户的行为,并为他们提供出色的个性化视频推荐。

该库最初是为了在我们的训练数据快照基础设施中实现用户选择算法而创建的,但它已经发展到可以处理ML pipeline中的通用分层用例。 这里的主要思想是能够提供一种对数据集进行下采样同时仍然保持对数据分布的所需约束的机制。 我们在Spark Dataframes之上描述了灵活的分层API。

猜你喜欢

转载自blog.csdn.net/friyal/article/details/82907219