💡 作者:韩信子@ShowMeAI,August@爱奇艺
📘 大厂解决方案系列教程:https://www.showmeai.tech/tutorials/50
📘 本文地址:https://www.showmeai.tech/article-detail/62
📢 声明:版权所有,转载请联系平台与作者并注明出处
📢 收藏 ShowMeAI 查看更多精彩内容
本篇内容使用到的数据集为 🏆2021微信大数据挑战赛数据集,大家可以通过 ShowMeAI 的百度网盘地址快速下载。数据集和代码的整理花费了很多心思,欢迎大家 PR 和 Star!
🏆 大厂技术实现的数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『大厂』,或者点击 这里 获取本文 爱奇艺短视频推荐业务中的多目标优化实践 『2021微信大数据挑战赛数据集』
⭐ ShowMeAI官方GitHub(实现代码参考):https://github.com/ShowMeAI-Hub/multi-task-learning
我们来看看,头部互联网公司的短视频业务在进行多任务优化时,是如何落地的,这里看到的是来自 『爱奇艺的短视频推荐业务』。
在爱奇艺短视频推荐业务中,主要流量形态由几个部分组成:爱奇艺App 顶部导航的『热点』 模块、爱奇艺App 底部Tab『随刻视频』 模块、爱奇艺 随刻App『首页』 的短视频流推荐。
爱奇艺App中,用户在Feed流页面的行为有2类:
起初以『点击+时长』为排序目标。后业务发展需要『兼顾用户评论、点赞等强互动行为』的生态收益,『减少用户短停』等负向内容的推荐。
爱奇艺在推荐系统多目标建模方向进行的尝试和实践迭代,达到了『人均播放时长提升 7 % + 7\%+ 7%+、互动提升 20 % + 20\%+ 20%+』 的短视频推荐业务正向收益。
方案介绍:YouTube 的权重策略是视频推荐 CTR 预估中很常见的一种处理方式,具体做法是将正样本的播放时长作为样本权重,在训练分类器时进行加权处理。
这种处理方法会使得模型给予长视频高权重优先推荐长视频。但结合业务,不管应用该方法时用哪个业务指标(播放时长、完播率)作为样本权重,都会导致模型对视频长度的倾向性,而这并不是我们想要的。
爱奇艺提出融合时长权重的建模方式,线上收益情况为人『均播放时长提升 3 % 3\% 3%,UCTR 提升 0.2 % 0.2\% 0.2%』,具体做法如下:
首先,在业务场景下提出了一个假设:推出视频质量与视频长度无关,且在视频时长的各区间下应近似均匀分布。
即在任何区间下,样本权重的均值大概相同。即有:
1 count ( D i ) ∗ ∑ d ∈ D i w ( playtime, duration ) = C \frac{1}{\operatorname{count}\left(D_{i}\right)} * \sum{d \in D_{i}} w(\text { playtime, } \text { duration })=C count(Di)1∗∑d∈Diw( playtime, duration )=C
对视频时长( duration \text {duration} duration)和播放时长( playtime \text {playtime} playtime)进行等频分桶,如下图所示:
具体做法为:
接下来会对 playtime \text {playtime} playtime 较高的样本权重进行整体提升,希望优化播放时长的指标,同时控制模型对长视频的倾向。这里具体的 b o o s t i n g boosting boosting 方法如下公式所示:
可以看到随着 playtime \text {playtime} playtime 的增加,最后的 b o o s t _ s i g m o i d boost\_sigmoid boost_sigmoid 也会增加,而 o f f s e t offset offset、 s l o p e slope slope 和 s h i f t shift shift 可以调整加权程度。
优点:利用了样本分布统计信息,拟合用户近期消费习惯。模型调节简单,可快速上线迭代。
缺点:通过样本调权的方式影响训练 L o s s Loss Loss,进而在优化过程中对不同的目标有不同倾向性,并非显式多目标建模,信息利用不够充分,收益有限。
比较直接的多模型融合方式是:对每个目标训练一个模型,实际线上使用时,根据不同模型预估得分,结合业务指标和目标优先级,对得分相加/相乘后进行融合排序。
在爱奇艺的场景中,分别训练点击的二分类模型以及观看时长预估的回归模型。对于融合参数,离线采用grid search的方式调参获得组合值。
优点:单目标训练单模型,优化简单,容易调到『较优』的单模型。
缺点:
- 难以定量估算不同目标重要度,组合困难。
- 线下训练多个模型的时间和计算资源消耗大,线上预估需请求多个模型,复杂度与时延可能增加。
- 数据分布随时间有变化,需要做模型更新和组合参数更新,也需要确定更新时机。
- 某个目标数据比较稀疏时,该目标训练时无法结合其他信息进行有效的训练和迭代。
爱奇艺的社区化建设和业务趋势下,feed流推荐效果需要:保证用户观看时长、观看视频数、点击率等基础指标提升或稳定;引导用户评论、点赞等互动。
这是典型的多任务多目标学习场景,在深度学习领域有不同的处理方式。详见《多目标优化及应用(含代码实现)》(https://www.showmeai.tech/article-detail/60),从shared-bottom、MMoE到PLE有不同的神经网络模型结构设计方式。
爱奇艺尝试了两类方法对多任务进行建模:ESSM建模、MMoE建模,后者方法结合帕累托优化迭代后达到了『互动率 20 % 20\% 20%提升,人均播放时长 1.4 % 1.4\% 1.4%提升』的业务提升效果。
阿里提出了 ESMM1 的方法对 ctr 和 cvr 建模,推荐场景中的用户行为有一定的序列依赖关系,电商场景下的转化行为发生在用户点击之后,可以基于序列依赖进行建模。
如图所示,在爱奇艺的feed流场景中,用户的观看时长或者互动行为都是发生在点击之后的,可以把『点击&时长』,或者『点击&互动』作为ESMM迭代的方向。
实际爱奇艺场景中,『互动』作为主任务,『点击』作为辅助任务,『时长』作为二者的正例权重,离线训练时两者loss直接相加。爱奇艺实际线上实验持平微正,再尝试对两个目标预估值进行变化以及时长更多的Label制定方式,但线上未有显著提升。
爱奇艺的开发同学,对『观看时长Top100』和『评论数Top100』的视频进行对比分析,发现重合度较低、排序差异很大。因此,从业务角度分析看,『时长』和『评论』两者并不是强相关业务,进而考虑采用谷歌MMoE2的方案,考虑到联合Loss需要进行大量超参调节,可能出现目标一涨一跌的现象,因此使用『帕累托优化』保证原有目标效果不降低的情况下,提升互动效果。
MMOE模型底层通过采用Soft parameter sharing方式,能够有效解决两个任务相关性较差情况下的多任务学习。
阿里2019年在RecSys发表的paper4上提出了在多目标优化中使用帕累托优化,对比手动调节联合Loss,论文中使用kkt条件来负责各目标权重的生成。图中Training虚线框内是帕累托优化的过程:
关于MMoE的方法、思路讲解和示例代码,可以参考我们往期文章多目标优化及应用(含代码实现)(https://www.showmeai.tech/article-detail/60)
爱奇艺工程应用中的经验表明:
- 『权重边界值』对模型效果影响较大,需要进行多次调优确定。
- 多目标权重在前期已基本收敛,中后期浮动较小。
- 帕累托优化方案主要应用于离线训练阶段,在线服务部分仍需要其它策略。
除了上述讲到的网络结构设计和优化,爱奇艺也优化了模型推理阶段的多目标输出组合,并加入了『完播率』和『时长目标』。
实际线上Serving时,通过对不同预估分融合实现多目标的协调和折中,保证模型的排序对各个子目标均有较好的效果。因此在进行多目标建模时,首先优化联合Loss,保证各目标的离线效果均较优;然后对各子目标进行融合排序,实现多目标的权衡和整体提升。
在线推理时,爱奇艺使用超参组合公式来进行融合。最终的乘法融合方式带来了『CTR 1.5 % 1.5\% 1.5%提升,人均播放时长 1 % 1\% 1%提升』的业务效果提升。
爱奇艺最初采用了『加权和』的方式,因为各子目标的得分scale可能会有差异,增加 α \alpha α 和 β \beta β 两个超参来调整适配灵活度,具体公式:
score = ∑ i = 1 n factor ( α i + s c o r e i ) β i \text { score }=\sum_{i=1}^{n} \text { factor }\left(\alpha_{i}+score_{i}\right)^{\beta_{i}} score =i=1∑n factor (αi+scorei)βi
公式中:
加法方式适合业务目标少的场景下进行融合,短期内可快速获得收益。但目标增多后,加法的融合排序能力会逐渐受限,具体体现如下:
在此基础上,爱奇艺把多目标融合方式调整为乘法,具体公式如下(公式的参数含义和上面公式一致):
score = ∏ i = 1 n factor ( α i + s c o r e i ) β i \text { score }=\prod_{i=1}^{n} \text { factor }\left(\alpha_{i}+score_{i}\right)^{\beta_{i}} score =i=1∏n factor (αi+scorei)βi
为了提升短视频的播放渗透,促使用户深度消费,爱奇艺开发同学新构造了三个目标并进行优化,取得了『UCTR提升 1 % 1\% 1%,CTR提升 3 % 3\% 3%,人均播放时长提升 0.6 % 0.6\% 0.6%』的业务优化效果,具体目标设定如下:
采用正逆序对比(PNR,positive-negative-ration)对回归目标来评估多目标预估值融合后的排序效果。最终在随刻首页Feed流和爱奇艺沉浸式场景中均取得播放量和人均时长的显著提升。
前面提到的多目标得分融合方式,总体的步骤是:离线通过Grid Search得到离线较优的超参数组;线上AB测试验证实际效果。这种处理流程,实验的迭代效率非常低,而且随着模型的迭代和样本分布的改变,最优参数组其实也在变化,稳定性较弱。
因此爱奇艺研发同学借鉴了多目标进化优化算法的思路,基于启发式的粒子群算法(PSO,Particle Swarm Optimization)搜索融合参数,逼近多目标的Pareto前沿。PSO 算法通过初始化一群随机粒子,启发式地多次迭代求出最优解。每一次迭代,粒子通过个体极值(该粒子所经过的最优解)和群体极值(种群找到的最优解)来更新各自位置。最终所有粒子会兼顾个体的历史最优和群体共享的全局最优直至收敛。
O b j = w 1 ∗ A U C ( ctr ) + w 2 A U C ( comment ) + w 3 P N R ( playtime ) + ⋯ O b j=w_{1} * AUC(\text {ctr})+w_{2} AUC(\text {comment})+w_{3} PNR(\text {playtime})+\cdots Obj=w1∗AUC(ctr)+w2AUC(comment)+w3PNR(playtime)+⋯
最后通过持续迭代,使得总评估目标 O b j Obj Obj 最大,即得到各子目标的超参数 α \alpha α 、 β \beta β 。下图为总目标得分 O b j Obj Obj 随迭代步数的收敛曲线。
PSO搜参过程能够使得模型和融合参数同步更新,大幅降低人工调参的成本。更多PSO算法相关内容请参考这篇文章:《粒子群算法Particle Swarm Optimization超详细解析+代码实例讲解》(https://www.showmeai.tech/article-detail/63)
- [1] Ma X, Zhao L, Huang G, et al. Entire space multi-task model: An effective approach for estimating post-click conversion rateC//The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018: 1137-1140.
- [2] Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-expertsC//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 1930-1939.
- [3] Zhao Z, Hong L, Wei L, et al. Recommending what video to watch next: a multitask ranking systemC//Proceedings of the 13th ACM Conference on Recommender Systems. 2019: 43-51.
- [4] Lin X, Chen H, Pei C, et al. A pareto-efficient algorithm for multiple objective optimization in e-commerce recommendationC//Proceedings of the 13th ACM Conference on Recommender Systems. 2019: 20-28.
PHP网站源码福永百度竞价西乡关键词排名光明网站seo优化宝安阿里店铺运营龙岗百度爱采购深圳网站优化按天收费福永网络营销同乐网页设计龙华网站改版盐田seo网站优化南澳至尊标王布吉网站优化软件南山建设网站龙华百度竞价包年推广观澜网站排名优化光明百姓网标王深圳网站seo优化罗湖优化双龙百度竞价包年推广惠州如何制作网站广州模板制作大芬品牌网站设计布吉模板推广观澜网站推广工具罗湖模板推广木棉湾外贸网站设计南联英文网站建设光明关键词按天收费大鹏模板制作布吉网站优化按天扣费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运