摘要:背景信息流短的视频以算法分发为主,人工分发为辅,依靠算法实现视频智能分发,达到千人千面的效果。 整个分发过程分为召回、排序和重新定位三个阶段。 序列层在其中起着自上而下的作用,是非常重要的一环。 在排名层优化的过程中,不仅借鉴了行业前沿的经验和做法,还在模式上进行了一些创新。
背景
信息流短的视频以算法传输为主,人工传输为辅,依靠算法实现视频智能传输,达到千人千面的效果。 整个分发过程分为召回、排序和重新定位三个阶段。 序列层在其中起着自上而下的作用,是非常重要的一环。 在排名层优化的过程中,不仅借鉴了行业前沿的经验和做法,还在模式上进行了一些创新。
短视频排序现在正在使用以CTR估计为目标的宽深度模型。 通过引入时间长度特点、点击时间多目标优化等工作,我们获得了很好的收益。
增加视频平均播放时间的特点,作为用户真实感受的信号,带来用户消费时间的提高
通过对消耗时间的样本加权,实现点击时间的多目标优化,提高点击率和消耗时间
导入多个动画发布场景的样本数据,实现多个场景的样本融合
在优化排序模型的过程中,还调查了DeepFM/DeepCN等深度模型,但这些模型无论是离线还是在线都没有明显的优势。 在优化WideDeep模型的同时,更迫切的需求是摆脱传统框架,寻找新的盈利点。
引入GBM综合学习submodel和高级特征等信号比单一模型更有效。 从计算学习理论来看,WideDeep是一种高变异模型,容易过拟合wd模型的训练比评价指标高7% )。 GBM通过boosting的方式将多个submodel和高级特征组合在一起,更好地发挥各自不同的作用和优势的互补性,同时整体上具有更好的可解释性。
上面简要介绍了信息流短视频排序模型的发展; 其中的FM GBM模型是我们团队比较独创的工作,下面做一点介绍。
模特
载体分解机Factorization Machines,FM )是应用广泛的推荐模型,其发明者Steffen Rendle目前正在谷歌工作。 FM是对传统LR模型处理高阶交互特征问题的优化和改进: LR通过特征交叉方式将组合特征作为新特征添加到模型中,模型的复杂度为on )2),n是交互特征的数量,而FM将特征表现为隐向量,通过隐向量的相似度内积)表现特征的关联,从而巧妙地提高模型的泛化能力; 调频模型的复杂度为on*k ) )。 k是隐向量维的超级参数。
以二次相互作用的FM模型为例,其模型定义如下。
FM本质上是线性模型,不同项之间通过线性组合来影响模型的输出。 考虑到更复杂的模型组合,计算的复杂性非常高。 学术界也有处理cdnp分解Tensor Decomposition )之类的高次相互作用特征的模型; 但是,在工业水平上,考虑效果和性能的权衡,大多只考虑二次相互作用。 但是,在此基础上,可以考虑引入非线性模型来优化FM模型。
在非线性模型中,树模型CART/GBM/Random Forest )的应用非常广泛。 我们引入了GBM作为一个组合了调频的非线性模型:
FM GBM第一期纯GBM ) )。
第一期主要贯穿实验框架和整个数据流,没有引入额外的信号。 GBM使用的信号包括wd/lr模型等苏sub-model评分、点击率/时长和体感特征,以及简单的一致度特征。 整个实验框架比较简单:在精排工艺中添加GBMScorer,实现以下两个功能。
分发服务器通过流量铲斗决定精排是因为
否使用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:越往后,模型越复杂/特征越高级/计算量越大,而参与计算的视频数据量更少。
后续我们的优化目标将从点击率预估转向时长预估,由感知相关性转向真实相关性。这种转换是合理且必要的:用户点击容易受到标题和封面等因素的干扰,而真正体现用户兴趣的是消费时长。时长模型以及点击率预估模型与时长模型的融合实现收益的最大化,将是下一个要重点攻克的问题。
本文作者:zrdzc