【推荐系统】YouTube推荐系统架构的十大工程问题

简介: YouTube是世界上最大的创建、分享和发现视频内容的平台。YouTube的建议负责帮助超过10亿用户从不断增长的视频语料库中发现个性化内容。在本文中,我们将重点关注深度学习最近对YouTube视频推荐系统所产生的巨大影响。该图说明了在YouTube移动应用程序主页上的建议。


YouTube是世界上最大的创建、分享和发现视频内容的平台。YouTube的建议负责帮助超过10亿用户从不断增长的视频语料库中发现个性化内容。在本文中,我们将重点关注深度学习最近对YouTube视频推荐系统所产生的巨大影响。该图说明了在YouTube移动应用程序主页上的建议。从三个主要的角度来看,推荐YouTube上的视频是极具挑战性的:


  • 规模:许多现有的推荐算法被证明适用于小问题,但都不能在我们的规模上运行。高度专业化的分布式学习算法和高效的服务系统对于处理YouTube庞大的用户群和语料库至关重要。
  • 新鲜度:YouTube有一个非常动态的语料库,每秒可以上传很多小时的视频。推荐系统应该有足够的响应能力,以模拟新上传的内容以及用户所采取的最新行动。平衡新内容有了完善的视频,就可以从探索/开发的角度来理解。
  • 噪声:由于稀疏性和各种难以观察到的外部因素,在YouTube上的历史用户行为本质上难以预测。我们很少得到用户满意度的基本真相,而是建模有噪声的隐式反馈信号。此外,与内容相关联的元数据结构不佳,而没有一个定义良好的本体。我们的算法需要对我们的训练数据的这些特殊特征具有鲁棒性。


YouTube推荐系统架构如下:



  • Candidate Generation:这个部分相当于召回层,从几亿视频语料库中筛选出几百个候选视频
  • Ranking:这个部分对于海选出的几百个视频进行精排,加入更加细粒化的特征用于构建模型,进而找出评分最高的topN视频推荐给用户


Candidate Generation DNN模型



DNN输入层的特征总共分为3个部分:


  • embedde video watches:该特征为所有video的特征信息,这里为了将其统一输入模型进行了Embedding处理,然后使用平均池化Embedding
  • embedded search tokens:该特征使用户搜索词进行Embedding处理
  • 用户特征:包括用户的年龄、性别等粗粒化的特征信息


之后将这3部分的Embedding向量进行横向拼接,然后送入后面的MLP层,进行训练,这里YouTube是将预测作为多分类,分别对应几百万个视频的概率情况,也就是SoftMax。


Ranking DNN模型



DNN输入层的特征总共分为5个部分:


  • impression video ID:候选视频的特征信息,这里将其进行Embedding
  • watched video IDs:用户已经看过的视频的特征信息,将每个看过的视频进行平均化Embedding
  • language embedding:该特征是候选视频的语言和用户的语言的Embedding
  • time since last watch:用户上次看相似视频的时间
  • previous impressions:用户先前看过的候选视频


YouTube推荐模型架构的十大工程问题


这里是看了王喆老师的文章获得的感想,将其总结记录


1、文中把推荐问题转换成多分类问题,在next watch的场景下,每个video都会是一个分类,因此总共的分类将会有数百万之巨,这在使用softmax训练时无疑是非常低效的,这个问题YouTube是如何解决的?


YouTube团队进行了负采样并采用importance weighting的方法对采用进行calibration。


2、在candidate generation model的serving过程中,YouTube为什么不直接采用训练时的model进行预测,而是采用了一种最近邻搜索的方法?


由于在model serving过程中对几百万个候选集逐一跑一遍模型的时间开销显然太大了,因此在通过candidate generation model得到user 和 video的embedding之后,通过最近邻搜索的方法的效率高很多,只需要将用户和视频的Embedding存到内存即可。


3、Youtube的用户对新视频有偏好,那么在模型构建的过程中如何引入这个feature?


模型引入了“Example Age”这个特征,它代表着视频距离当前的发布时间间隔。


4、在对训练集的预处理过程中,YouTube没有采用原始的用户日志,而是对每个用户提取等数量的训练样本,这是为什么?


这是为了减少高度活跃用户对于loss的过度影响。


5、YouTube为什么不采取类似RNN的Sequence model,而是完全摒弃了用户观看历史的时序特征,把用户最近的浏览历史等同看待,这不会损失有效信息吗?


会导致模型过度拟合上个时间段的数据,如果一个用户刚刚点开某个领域的视频,会导致模型过度推荐这个领域的视频给用户造成不好的体验感。


6、在处理测试集的时候,YouTube为什么不采用经典的随机留一法(random holdout),而是一定要把用户最近的一次观看行为作为测试集?


主要是为了避免引入future information,产生与事实不符的数据穿越。


7、在确定优化目标的时候,YouTube为什么不采用经典的CTR,或者播放率(Play Rate),而是采用了每次曝光预期播放时间(expected watch time per impression)作为优化目标?


因为 watch time更能反应用户的真实兴趣,从商业模型角度出发,因为watch time越长,YouTube获得的广告收益越多。而且增加用户的watch time也更符合一个视频网站的长期利益和用户粘性。


8、在进行video embedding的时候,为什么要直接把大量长尾的video直接用0向量代替?


把大量长尾的video截断掉,主要还是为了节省online serving中宝贵的内存资源。


9、针对某些特征,比如#previous impressions,为什么要进行开方和平方处理后,当作三个特征输入模型?


这是为了引入非线性特征,提高模型的拟合能力。


10、为什么ranking model不采用经典的logistic regression当作输出层,而是采用了weighted logistic regression?


我们已经知道模型采用了expected watch time per impression作为优化目标,所以如果简单使用LR就无法引入正样本的watch time信息。因此采用weighted LR,将watch time作为正样本的weight,在线上serving中使用e(Wx+b)做预测可以直接得到expected watch time的近似,完美。


参考文章


王喆-YouTube推荐系统

目录
相关文章
|
机器学习/深度学习 搜索推荐 自然语言处理
KDD 2019 | 基于知识的个性化推荐理由生成解析
当前电商场景之下,单纯的商品推荐已不足以满足用户需求,基于内容的推荐应运而生。那么其中的关键问题就是我们要为推荐的商品产出优质的推荐理由,从而可以:帮助消费者做出选择;开拓用户对商品的兴趣;引导多种产品以提高多样性。
3361 0
|
2月前
|
数据采集 机器学习/深度学习 人工智能
利用AI技术实现个性化新闻推荐系统
【8月更文挑战第31天】 本文将介绍如何利用AI技术实现一个个性化的新闻推荐系统。我们将使用Python语言和一些常用的机器学习库,如scikit-learn和pandas,来构建一个简单的推荐系统。这个系统可以根据用户的阅读历史和兴趣偏好,为他们推荐相关的新闻文章。我们将从数据预处理、特征提取、模型训练和结果评估等方面进行详细的讲解。
|
3月前
|
机器学习/深度学习 数据采集 搜索推荐
Python数据分析与机器学习在电子商务推荐系统中的应用
Python数据分析与机器学习在电子商务推荐系统中的应用
92 5
|
4月前
|
机器学习/深度学习 人工智能 搜索推荐
构建基于AI的个性化新闻推荐系统:技术探索与实践
【6月更文挑战第5天】构建基于AI的个性化新闻推荐系统,通过数据预处理、用户画像构建、特征提取、推荐算法设计及结果评估优化,解决信息爆炸时代用户筛选新闻的难题。系统关键点包括:数据清洗、用户兴趣分析、表示学习、内容及协同过滤推荐。实践案例证明,结合深度学习的推荐系统能提升用户体验,未来系统将更智能、个性化。
|
机器学习/深度学习 搜索推荐 算法
基于协同过滤的旅游推荐系统设计与实现(论文+源码)_kaic
摘要:旅游已经成为了大众节假日放松的主要方式,但因为不熟悉旅游地点带来的选择困难却是不可避免的。随着旅游业的发展旅游行业越来越信息化,用户获取旅游景点信息更加方便。然而,用户在选择旅游目的地时,往往会面对海量的景点信息,这导致他们难以找到适合自己的景点,同时也费时费力 。数量众多的旅游景点存在着信息过载现象且日益严重,用户在网上查找时很难真正搜索到自己感兴趣的旅游景点,对此推荐系统是一种行之有效的解决方法。目前推荐系统已在电影、新闻、音乐、电子商务等方面应用广泛,但在旅游领域还未广泛使用。各大旅游网站多是提供信息查询及订票服务,因此本文将协同过滤算法应用于旅游景点的推荐。
|
机器学习/深度学习 资源调度 搜索推荐
协同过滤算法深入解析:构建智能推荐系统的核心技术
一、前言 随着互联网的高速发展,我们每天面临着海量信息的冲击,从而使得我们无法有效地筛选出感兴趣的信息。在这种背景下,推荐系统应运而生,成为帮助用户过滤信息,找到自己感兴趣内容的有效工具。协同过滤算法作为推荐系统中的一种核心技术,广泛应用于电商、社交媒体、音乐、电影等多个领域,极大地改善了用户体验。本文将对协同过滤算法进行深入解析,让我们一起探讨这一神奇的技术。
735 0
|
机器学习/深度学习 搜索推荐 算法
推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计
推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计
推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计
|
机器学习/深度学习 搜索推荐 算法
【推荐系统】YouTube推荐系统架构的十大工程问题
【推荐系统】YouTube推荐系统架构的十大工程问题
191 0
【推荐系统】YouTube推荐系统架构的十大工程问题
|
机器学习/深度学习 分布式计算 搜索推荐
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
421 0
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
|
机器学习/深度学习 人工智能 搜索推荐
Google提出用对比学习解决推荐系统长尾问题
Google提出用对比学习解决推荐系统长尾问题
918 0
Google提出用对比学习解决推荐系统长尾问题
下一篇
无影云桌面