短视频如何作到千人千面?FM+GBM排序模型深度解析

摘要: 背景 信息流短视频以算法分发为主,人工分发为辅,依赖算法实现视频的智能分发,达到千人千面的效果。整个分发流程分为:触发召回、排序与重排三个阶段。排序层在其中起着承上启下的做用,是很是重要的一个环节。在排序层优化的过程当中,除了借鉴业界前沿的经验和作法,咱们也作了模型上的一些创新。算法

背景

信息流短视频以算法分发为主,人工分发为辅,依赖算法实现视频的智能分发,达到千人千面的效果。整个分发流程分为:触发召回、排序与重排三个阶段。排序层在其中起着承上启下的做用,是很是重要的一个环节。在排序层优化的过程当中,除了借鉴业界前沿的经验和作法,咱们也作了模型上的一些创新。服务器

信息流短视频排序目前使用是以CTR预估为目标的Wide&Deep模型。经过引入时长特征、点击+时长多目标优化等工做,咱们取得了不错的收益:网络

 ●  增长视频平均播放时长特征,做为用户真实体感信号,带来用户消费时长提高;
 ●  经过消费时长样本加权,实现点击+时长多目标优化,实现点击率与消费时长的提高;
 ●  引入多个视频下发场景的样本数据,实现多场景样本融合;
框架

在优化排序模型的过程当中,咱们也调研了DeepFM/DeepCN等深度模型,这些模型不管从离线仍是线上指标上,都没有明显优点。在优化Wide&Deep模型的同时,更迫切的需求,是跳出原有的框架,寻找新的收益点。dom

引入GBM对submodel和高级特征等信号作集成学习,效果要优于单模型。从计算学习理论上看,Wide&Deep是high-variance模型,容易过拟合(wd模型的训练比评估指标高7%)。GBM经过boosting的方式组合集成多个submodel和高级特征,更好地发挥各自不一样的做用和优点互补,同时从总体上有更好的可解释性。ide

上面是对信息流短视频排序模型演进的简要介绍;而其中的FM+GBM模型是咱们团队比较有开创性的一项工做,下面稍微展开介绍。性能

模型学习

向量分解机(Factorization Machines, FM)是一种应用较为普遍的推荐模型,其发明者Steffen Rendle目前供职于Google。FM是对传统LR模型在处理高阶交互特征问题上的优化和改进:LR经过特征交叉的方式,将组合后的特征做为新特征加入到模型中,模型复杂度为O(N^2)(N为交互特征的数量,下同),记忆性较强而泛化性偏弱;FM经过将特征表征为隐向量,经过隐向量的类似度(內积)来表示特征关联这种方式来巧妙地提高模型的泛化能力;FM模型的复杂度为O(N*k)(k为隐向量维度超参)。测试

以二阶交互的FM模型为例,其模型定义以下:优化

FM本质上是一个线性模型,不一样项之间以线性组合的方式影响模型的输出。若是要考虑更加复杂的模型组合,计算复杂度将会很是高。尽管学术界也有像张量分解(Tensor Decomposition)这类处理高阶交互特征的模型;但在工业级,考虑到效果与性能的折衷,每每只考虑二阶的交互。但在此基础上,咱们能够考虑引入非线性的模型来优化FM模型。

 

在非线性模型中,树模型(CART/GBM/Random Forest)的应用很是普遍。咱们引入GBM做为组合FM的非线性模型:

FM+GBM一期(纯GBM)

一期主要打通整个实验框架和数据流,并无引入额外的信号。GBM使用的信号包括:wd/lr模型等sub-model打分、点击率/时长和体感特征,以及一些简单的匹配度特征。整个实验框架比较简单:精排流程新增GBMScorer,实现如下2个功能:

 ●  分发服务器经过流量分桶决定精排是否使用GBM打分,由GBMScorer具体执行;
 ●  特征归一化和回流。提取的特征经归一化后返回给分发服务器,由分发服务器回流至日志服务器落盘。点击日志也同时经由日志服务器落盘。点击-展示日志经过reco_id+iid对齐,经清洗、过滤和反做弊处理后,提取回流特征用于模型训练;

在调研和实验的过程当中,如下是一些经验和教训:

 ●  样本与超参的选择:为了让模型尽量地平滑,咱们从7天滑动窗口的数据中随机抽取样本,并按比例分割训练/验证/测试集。经过交叉验证的方式选择超参;在全部的超参中,树深度对结果的影响比较大,深度为6时效果明显优于其余选择。在调参过程当中,auc和loss这两项评估指标在训练/评估/测试数据集上并无明显的差别,因而可知GBM模型的泛化性。
 ●  离线评估指标:auc是排序模型经常使用的离线评估指标之一,但全局auc粒度太粗,能够结合业务计算一些细粒度的auc。行业有采用以Query为粒度,计算QAUC,即单个Query的auc,再按均值或者加权的方式融合获得的auc,比起全局auc指标更加合理。咱们采用相似作法,以单次下发为粒度计算auc,再计算均值或者按点击加权。须要注意的是,auc计算的粒度决定了划分数据集的粒度。若是按照单次下发为粒度计算,那么一次下发的全部样本都必须同时落在训练/评估/测试数据集上。除此以外,单次下发中若是零点击或者全点击,这部分数据也是须要废弃的。
 ●  特征的归一化:尤为是对与用户相关的特征进行归一化尤其重要。经过分析精排打分(wd),咱们发现不一样用户间的精排打分分布的差别较为显著:同一用户的打分方差小,分布比较集中;不一样用户用户打分均值的方差比较大。若是不对精排打分作归一化处理,GBM训练过程很难收敛。

GBM和精排打分也会随特征回流。日志对齐后,能够对这两个模型在离线评估指标上作比较fair的对比。从全局auc/单次下发粒度auc与小流量实验的结果来看,细粒度auc与在线实验的效果更加趋于一致。

FM+GBM二期

一期搭建了实验框架和数据流,二期开始考虑引入新的信号。

纵观眼下GBM用到的信号,主要分为两类:一是item侧信号,这类特征从各个维度刻画了item的特性:热度、时长、质量等。这类特征有助于咱们筛选精品内容,提高推荐质量baseline。二是相关性特征,用于刻画用户和视频的关联度(关联度能够经过点击刻画,也能够经过时长刻画;目前主要经过点击),提高推荐的个性化,作到千人千面。个性化水平才是信息流的核心竞争力。

目前相关性特征经过长短时间用户画像计算和视频在一级/二级类目和TAG上的匹配程度,至少存在2个问题:

 ●  BoW稀疏的特征表达没法计算语义层面的匹配度;例如,带足球标签的用户和梅西的视频经过这种方式计算获得的匹配度为0。
 ●  目前视频结构化信息的准确率/覆盖率较低,会直接影响这类特征的效果。

wd/lr模型可以必定程度解决上述问题。尤为wd模型,经过embedding技术,将用户和视频自己及各个维度的结构化信息嵌入到一个低维隐向量,可以必定程度缓解这个问题。可是这类隐向量缺少灵活性,没法脱离wd模型单独使用:计算用户和视频的匹配度,除了须要用户和视频的隐向量,还要结合其余特征,并通过一系列隐层的计算才能获得。

业界主流公司的作法,是经过FM模型,将全部id特征都分红在同一个空间内的隐向量,于是全部的向量都是可比的:不只用户与视频自己和各个维度的匹配度,甚至用户之间、视频之间,均可以经过简单的向量运算获得匹配度。从模型结构看,FM模型能够认为是可以更加紧密刻画这种匹配度的神经网络结构。为此,咱们引入FM模型分解点击-展示数据,获得用户和视频自己及各个维度的隐向量。经过这些隐向量计算用户和视频的匹配度。这些信号和与其它sub-model和高级特征一块儿,经过GBM进行点击率预估。

这种作法与Facebook在KDD'14发表的LR+GBDT模型有类似之处,差别在于: LR+GBDT本质上是线性模型,而FM+GBM是树模型,可以处理信号与目标间高度非线性的复杂关系,也具有更好的可解释性。整个算法框架如图所示:

因为FM须要例行训练,用户隐向量灌库和视频隐向量加载之间存在时间差,而不一样版本模型的隐向量之间是不可比的。为此咱们设计了简单的版本对齐机制:全部隐向量都会保留最近2个版本的数据;在FM在线计算模块中,实现版本对齐的逻辑,用对齐后最新版本的隐向量计算匹配度。因为例行训练的时间窗口为4~6个小时,保留2个版本的数据是足以保证绝大部分隐向量可以对齐。在更加高频的模型训练中,能够增长版本的数量来确保模型对齐。

效果上:一期+二期离线AUC提高10%,在线CTR和人均点击提高6%。

结语

信息流短视频排序层通过一段时间的迭代优化,目前已经造成 LR->WD->FM+GBM这套相对比较完备体系。这种漏斗体系有助于排序层在性能和效果之间trade-off:越日后,模型越复杂/特征越高级/计算量越大,而参与计算的视频数据量更少。

后续咱们的优化目标将从点击率预估转向时长预估,由感知相关性转向真实相关性。这种转换是合理且必要的:用户点击容易受到标题和封面等因素的干扰,而真正体现用户兴趣的是消费时长。时长模型以及点击率预估模型与时长模型的融合实现收益的最大化,将是下一个要重点攻克的问题。

做者:技术小能手​

原文连接

相关文章
相关标签/搜索