《深度学习推荐系统实战》 学习笔记 4月Day6

106 阅读4分钟

28 | 业界经典:YouTube深度学习推荐系统的经典架构长什么样?

YouTube 推荐系统架构提起 YouTube,我想你肯定不会陌生,作为全球最大的视频分享网站,YouTube 平台中几乎所有的视频都来自 UGC(User Generated Content,用户原创内容),这样的内容产生模式有两个特点:一是其商业模式不同于 Netflix,以及国内的腾讯视频、爱奇艺这样的流媒体,这些流媒体的大部分内容都是采购或自制的电影、剧集等头部内容,而 YouTube 的内容都是用户上传的自制视频,种类风格繁多,头部效应没那么明显;二是由于 YouTube 的视频基数巨大,用户难以发现喜欢的内容。

image.png它的推荐过程可以分成二级。第一级是用候选集生成模型(Candidate Generation Model)完成候选视频的快速筛选,在这一步,候选视频集合由百万降低到几百量级,这就相当于经典推荐系统架构中的召回层。第二级是用排序模型(Ranking Model)完成几百个候选视频的精排,这相当于经典推荐系统架构中的排序层。

候选集生成模型

image.png

候选集生成模型独特的线上服务方法

image.png

排序模型

image.png把这 5 类特征连接起来之后,需要再经过三层 ReLU 网络进行充分的特征交叉,然后就到了输出层。这里我们要重点注意,排序模型的输出层与候选集生成模型又有所不同。不同主要有两点:一是候选集生成模型选择了 softmax 作为其输出层,而排序模型选择了 weighted logistic regression(加权逻辑回归)作为模型输出层;二是候选集生成模型预测的是用户会点击“哪个视频”,排序模型预测的是用户“要不要点击当前视频”。 这段话主要在讲述排序模型的输入层和输出层的特征引入方式,以及它们与候选集生成模型的不同之处。在输入层,排序模型可以引入更多的特征进行精排,这是因为它只需要对几百个候选视频进行排序,可以引入更多的特征进行特征工程,从而提高模型的性能。在输出层,排序模型可以选择不同的模型作为输出层,例如weighted logistic regression,以适应不同的任务。另外,候选集生成模型预测用户会点击哪个视频,而排序模型预测用户是否要点击当前视频,这是因为它们的任务和目标不同,因此需要不同的特征来进行预测。

小结

好了,这节课的内容讲完了,我们再总结一下 YouTube 推荐系统的重点知识。YouTube 推荐系统的架构是一个典型的召回层加排序层的架构,其中候选集生成模型负责从百万候选集中召回几百个候选视频,排序模型负责几百个候选视频的精排,最终选出几十个推荐给用户。候选集生成模型是一个典型的 Embedding MLP 的架构,我们要注意的是它的输出层,它是一个多分类的输出层,预测的是用户点击了“哪个”视频。在候选集生成模型的 serving 过程中,需要从输出层提取出视频 Embedding,从最后一层 ReLU 层得到用户 Embedding,然后利用最近邻搜索快速得到候选集。排序模型同样是一个 Embedding MLP 的架构,不同的是,它的输入层包含了更多的用户和视频的特征,输出层采用了 Weighted LR 作为输出层,并且使用观看时长作为正样本权重,让模型能够预测出观看时长,这更接近 YouTube 要达成的商业目标。好了,这些关键知识点,我也总结在了下面的表格中,希望它能帮助你加深记忆

image.png