01
背景简介
1. 关于我们
蜻蜓FM——中国移动互联??频的领跑者, 国内?家?频媒体平台,以敏锐独到的视?传播世界的声?业内?创PUGC专业主播?态,打造品质感的?频内容体系上架10年,突破4.5亿?户,?态流量?活跃?户量1.3亿。
2. 推荐业务场景
?前推荐场景分布??feeds流,超级会员?猜你喜欢、频道?feeds流,我听?猜你喜欢等多种场景,涵盖专辑、节?、听单、直播间等多种形态。
02推荐系统的演进
推荐系统是帮助?户可以?效率的找到??感兴趣的内容,在我们的推荐场景的定位是帮助?户更快更好的发现新的内容,?且保证千?千?,?户在平台在追的专辑回溯源头基本是发?在??feeds, ??feeds承接着平台绝大部分的流量,所以??feeds推荐系统的好坏?关重要,蜻蜓FM推荐系统经过?年的?程和算法不断迭代和更新,推荐??样式从固定模块推荐变为feeds流推荐,推荐效率逐渐完成了从天级别的离线推荐、到分钟级别的近实时推荐和ms级别的实时推荐的转变,召回策略也逐渐从常规个性化模型到深度召回模型进?转变,排序模型也从树模型替换为复杂的深度学习模型,并在线上取得了?幅的指标的提升。
03实时推荐系统架构
什么是?个好的实时推荐系统,应该?少满?以下四点:
我们整个推荐系统由主要有四个部分组成,包括offline层,Pipeline层、Online层,业务层,其中业务层包括多个推荐场景,其中?部分场景使?的是同?套推荐框架,如何快速?效地迁移部署到其他推荐场景,是我们需要考虑的问题,每层各司其职,如何保证各?任务的稳定性以及保证推荐系统的实时性是?关重要的。
04
召回层回顾
在传统的实时推荐系统中,存在着?个级联结构,在我们的推荐场景下包括专辑池、召回、精排、重排四个模块,他们像是?个漏??样不断筛选出?户感兴趣的专辑,其中召回模块是?较重要的?个模块,它是通过?些算法策略从?万量级的专辑池筛选出数百量级的?户感兴趣的专辑投?到精排进?排序,通过减?专辑的量级,从?减轻线上排序服务性能的压?。
我们之前的召回?案路线是根据?户的?短期兴趣、热度、标签等开发多路召回策略,根据各个召回策略在线上的表现优劣分为不同的优先级,然后以集合(topK)为建模?标,按照优先级进?多路召回的融合,这种?法的优点是速度快、算??,缺点也很明显,从10万量级到数百量级,这样的筛选漏?过?,带来的信息损失也?较?,?且我们所有融合的策略都是基于?些??经验进?主导,从?会导致召回的准确率的不?。
难点和挑战:
如何提升召回阶段的准确率?直是?个难点,也是我们需要解决的问题。
05
粗排层回顾
?对召回阶段的挑战,这边我们的解决思路是在召回模块和精排模块添加?个名叫粗排的模块,我们的?的是通过模型代替??经验进?筛选,从?带来准确率提升,粗排模块我们采?的是根据DSSM深度学习模型进?改进的双塔模型,其中它的?络特点是整个?络结构是由?户塔和物品塔组成,每个塔都有各?输?特征和?络结构,然后通过最后?层输出固定维度的embedding向量,然后进?内积计算,在线上部署时,我们可以将相对静态的专辑embedding向量异步写?到向量索引库?,通过线上实时获取相对动态的?户embedding向量,然后从专辑向量索引库中召回topK的相关专辑列表。
它的优点有很多:
线上收益:
模型部署到我们??feeds个性推荐后,带来了?较?的指标提升,其中?级指标,包括?户?均收听提升了5.44%,有效UV-PTR提升了 3.26%,?级指标包括?均点击次数、ItemCTR,会员专辑UV-PTR、PV-PTR也带来了不同程度的提升。
难点和挑战:
双塔模型的解耦的模型特点导致了它?法更好地使??户和物品的交叉特征,从?限制了它的泛化和表达能?,接下来计划尝试的解决?案有:
06
排序层回顾
上线基于DeepFM的深度学习排序模型:
最近两年我们的线上排序主?模型?直是Xgboost模型,它具有特征?程简单,效果优秀,?持并?训练,跨语?跨平台部署的优点,我们在Xgboost的基础上,迭代了?版,在线上指标也取得了很?提升,但是呢,随着特征维度变得越来越?,模型也变得越来越复杂,以及随着我们推荐场景的不断丰富,需要在线预测的地?越来越多,在线预测的性能压?变得越来越?,性能优化的成本与我们线上获得的收益不再是成正?的关系,线上性能越来越成为我们的瓶颈,这时我们急需?种新的模型框架进?替代。
新模型替换XGboost同样?临着不同的困难与挑战:
通过?段时间的调研,我们决定采?deepFM深度学习排序模型,它是2017年华为诺亚??实验室和哈??共同推出的算法模型,?前已经成功应?在各??线互联?的推荐系统中,业界有?较多的成熟经验参考,deepFM整个算法框架主要分为两个部分组成,其中FM部分可以理解为?个浅层的神经?络层,它具有?定特征交叉的能?,它使模型具有?定的记忆能?,DNN部分可以使特征进?更?维度的交叉,这使得模型具有?定的泛化能?,不但可以?定程度减???特征挖掘的?作量,?且这两部分的Embedding?络层是共享的,这就??减?了模型的复杂度,它更擅?处理?规模的ID类稀疏特征,像我们??万个的专辑ID,其实也可以作为?种特征加?模型中进?训练,这些都是deepFM?xgboost有优势的地?。?且我们也同时做了其他??的优化的尝试:
线上收益:
我们把新模型部署在了多个推荐场景,其中??feeds的个性推荐场景,?级指标?户收听时?提升10.94%,有效UV-PTR提升9.26%,有效收听ItemPTR提升7.83%,其中?级指标也得到很?提升。
同时我们也把deepFM部署在??的投放场景和频道?的推荐场景,可以看到上线前和上线后的指标的提升幅度都很?。
07
节?推荐上线
为了探索推荐系统更多的可能性,我们进?了节?推荐第?期的探索,?的是挖掘触发推荐时进?节??效率召回的?式,包括节?对节?,节?对专辑,专辑对节?的相互影响和发现。
节?召回:
针对节?推荐的特点,?前我们已经开发了以下?种召回策略:
线上收益:
同时线上我们进?了专辑和节?的不同形式的穿插,以及如何?效过滤, 节?推荐样式的AB实验, 最终取得了第?阶段不错的收益,其中专辑+节?的整体收益中,?级指标包括?均收听时?提升了5%、有效收听UVPTR提升了7%,其他指标均得到了?幅度的提升。
改进?向:
当前专辑召回和节?召回都是各?独?构建同构图,最终?成Embedding向量,后?会考虑将专辑和节?表征到同?个向量空间,?Metapath2vec的?法共同构成异构图,基于元路径指导图上节点的游?,采样出序列后,经过skip-gram?成Metapath语义下的表征,最后对表征做?个融合,得到节点的最终表征。
节?排序上线MMoE:
最近我们通过分析发现,?户的?均收听时?,专辑完播率,收藏专辑次数和?户留存率成正相关的关系,这些隐式?为在?定程度上影响着?户的留存,我们?前的建模是单?标的预测,?标是通过直接提升PTR,来间接提升?户收听时?,这?有个问题就是假如只关注专辑是否播放,那么?户播放后,可能会发现不喜欢或者专辑质量差,觉得体验太差,?户可能流失,也有可能?户很喜欢,愿意加?收藏,等有时间接着听,间接增加?户粘性和回访率,所以我们在提?PTR的同时,还需要提升专辑的收藏转化率,这不但可以增加留存,还可以间接的推荐?质量的专辑给?户,提升?户体验。
同样的这也适?于节?排序,?期我们开发了基于MMOE的多?标排序,其中以是否播放和是否完播作为我们的前期的预测?标,MMOE 相?ESMM这种基于Shared-bottom的模型,不同任务的gating networks可以学习到不同的组合experts的模式,捕捉到不同任务的相关性和区别,可以减?受到任务差异和数据分布带来的影响,所以MMoE作为我们?选的多?标排序模型。
这边我们选择了三个Expert?络,可以看到不同Label对于不同的Expert的依赖程度是不?样的,?前来看,两个task通过Gate?络,分别获取了对不同expert?络的权重,其中Label1对expert2的依赖更?,Label2对expert1的依赖更?。
线上收益:
在??feeds上线?个?后,在专辑+节?的全局流量的?级指标中,包括UV-PTR和?均播放时?提升在3%左右。
改进?向:
08
重排层回顾
排序模型?般是按照point-wise的?式进?训练,很容易造成相似内容扎堆的现象,考虑到提升?户体验和内容多样性,我们也同时尝试了?种提升多样性的?法和策略:
1. 动态刷新
?前feeds个性化推荐结果,在?户没有产?触发推荐?为的时候,理论上?户的整个推荐结果是不会产?变化的,从数据来看,大部分?户停留在前3?,所以?户在触发推荐之前,多次触达??,看到的内容可能是?样的,这时推荐多样性就会大打折扣,简单粗暴的对曝光过的专辑进?过滤,可能会过滤?些产??效曝光的专辑,?且过滤?度过?,还会造成没有优质专辑可推的局?。
我们的?的是保证?户没有触发推荐的期间,每次打开??feeds,推荐结果都有?些变化,?定程度解决内容多样性的问题。
在重排层加?动态刷新机制,在召回集基本不变的前提下,优先考虑在集合内部的排序上进?动态调整,也就是在排序打分的基础上除以?个降权系数weight,曝光次数较多的专辑,重排时后移,引?时间衰减,近期曝光的专辑更快后移,远期曝光的专辑回归到正常序列。
2. MMR
MMR是?种近似的贪?算法,全称是最?边缘相关模型(Maximal Marginal Relevance),第?个Sim代表是某个专辑的rank score,第?个Sim代表该专辑与?成的结果集中专辑的相似度,λ越?,越接近原始的排序结果,λ越?,越强调多样性。
同时,我们在计算结果和?程效率上也做了部分优化,?个是mmr是基于多轮迭代的策略,候选集个数越多,计算量越?,所以我们只选择rank score在固定topK的候选集进?了mmr的计算,做了计算效率和多样性效果的trade-off,还有?个是为了突出?户兴趣的实时性,我们对个别候选集进?了乘以rate系数的加权操作,将部分候选集进?多样性打散后可以排在最前?。
3. DPP
?列式点过程(Determinantal Point Process, DPP), 是?种基于?列式点过程的提升推荐多样性的算法,并使?贪?算法推理最优的?列式点过程,并利?Cholesky加速?列式点过程的推理,我们使?已计算好的word2vec的16维的embedding向量进?核矩阵的构建,并做了部分?程上的优化。
线上收益:
经过?段时间的ABtest,我们发现加权的MMR线上效果最好,它可以保证在其他转化指标不下降的情况下,提升多样性指标包括?均曝光?级类?、?级类?个数,均提升在10%以上。
改进点:
接下来会考虑使?list-wise的思路,从整体推荐列表的物品顺序的?度进?考虑,融合当前物品上下?信息,也就是列表其他物品的特征信息,利?RNN或者Transformer对每个输?对应位置经过特征融合,按照新预测的得分重新对物品排序,从?获得整体列表的最?收益。
09
推动特征?程与算法模型的微服务化
在通常的算法开发?作中,需要我们有快速迭代,快速试错的能?,然?在以往的我们模型开发部署的过程中,我们经常会遇到部署效率的问题,原因是我们线上?般会同时部署多个模型多个版本进?ABtest,每开发?个新的排序模型,后端同学都需要把离线的特征拼接环节在线上进?复现?遍,其中我们的离线训练是scala语?开发,线上是go语?开发,在这种跨语?跨平台的场景下,特征拼接极易出现线上线下不?致的问题,出现问题需要??review逐步排查,费事费?不说,定位问题也?较困难,同时迁移部署到其他推荐场景时,还要徒增重复代码,不但部署效率??减低,?且还增加了出现问题的概率和隐患。
同样的,解决这个问题会遇到?些困难和挑战:
解决?案:
线上收益:
10
总结和展望
蜻蜓FM作为国内?频内容领域top级别的产品,推荐系统始终扮演着重要??,我们也始终关注着推荐领域相关算法的前沿动态,并结合我们对于业务的深刻理解,从算法和?程?度出发,不断进?摸索和实践,并且取得了不错的效果, 希望能给相关从业的同学以思考和启发,同时也让我们挖掘出很多改进的点,接下来我们也会从如何保证推荐系统的实时性、提?推荐内容的多样性,保证推荐内容质量、以及提升?户对推荐内容的满意度,提升?户留存等?个?向出发,不断完善我们推荐系统和内容?态,以期为?户带来更好的收听体验。
今天的分享就到这里,谢谢大家。
分享嘉宾:
分享嘉宾:雷鸣 蜻蜓FM 算法专家
出品平台:DataFunTalk
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!