关于算法:大厂技术实现-爱奇艺短视频推荐业务中的多目标优化实践-推荐与计算广告系列

65次阅读

共计 6731 个字符,预计需要花费 17 分钟才能阅读完成。

作者:韩信子 @ShowMeAI,August@爱奇艺
地址:http://www.showmeai.tech/arti…
申明:版权所有,转载请分割平台与作者并注明出处

短视频是以后互联网最热门的业务之一,汇集了微小的互联网用户流量,也是各大公司争相倒退的业务畛域。作为次要营收业务方向,短视频方向的举荐算法也突飞猛进并驱动业务增长,本期咱们看到的是爱奇艺的短视频频道下,举荐多任务算法利用实际门路与落地计划。

一图读懂全文

  • 获取『多指标模型办法实现代码』,请返回 GitHub 我的项目 https://github.com/ShowMeAI-H…。
  • 文章波及到的局部论文以及『微信数据集』,请在公众号(AI 算法研究所)后盾回复关键字 『爱奇艺多任务』 获取。

对『多指标学习』利用感兴趣的小伙伴,也欢送关注咱们公众号(AI 算法研究所),查看更多大厂落地计划哦!

  • 《多指标优化及利用(含代码实现)》http://www.showmeai.tech/arti…
  • 《信息流举荐排序中的并联双塔 CTR 构造》http://www.showmeai.tech/arti…

咱们来看看,头部互联网公司的短视频业务在进行多任务优化时,是如何落地的,这里看到的是来自爱奇艺的短视频举荐业务。

一、短视频举荐业务

1.1 业务介绍

在爱奇艺短视频举荐业务中,次要流量状态由两个局部组成:爱奇艺 App 底 Tab 的随刻视频以及顶导航的热点模块,爱奇艺随刻 App 首页短视频流举荐页面。

1.2 用户反馈信息

爱奇艺 App 中,用户在 Feed 流页面的行为有 2 类:

  • 显示反馈:点击播放,点击 up 主头像、关注、点击 / 公布评论、珍藏、点击圈子、分享等正向互动行为,点击不喜爱、举报等负向行为。
  • 隐式反馈:播放时长、完成率、用户疾速划过等行为。

1.3 业务优化指标

起初以点击 + 时长为排序指标,后业务倒退须要兼顾用户评论、点赞等强互动行为的生态收益,缩小用户短停等负向内容的举荐。

1.4 多指标优化后果

爱奇艺在举荐零碎多指标建模方向进行的尝试和实际迭代,达到了人均播放时长晋升 7%+、互动晋升 20%+ 的短视频举荐业务正向收益。

二、[实现形式 1] CTR 预估模型融入权重

2.1 YouTube 的权重策略

2.1.1 计划介绍

解决形式:YouTube 的权重策略是视频举荐 CTR 预估中很常见的一种解决形式,具体做法是将正样本的播放时长作为样本权重,在训练分类器时进行加权解决。

2.1.2 形式毛病

这种解决办法会使得模型给予长视频高权重优先举荐长视频。但联合业务,不论利用该办法时用哪个业务指标(播放时长、完播率)作为样本权重,都会导致模型对视频长度的倾向性,而这并不是咱们想要的。

2.2 交融时长权重

爱奇艺提出交融时长权重的建模形式,线上收益状况为人均播放时长晋升 3%,UCTR 晋升 0.2%,具体做法如下:

2.2.1 权重计算

首先,在业务场景下提出了一个假如:『推出视频品质与视频长度无关,且在视频时长的各区间下应近似均匀分布』。即在任何区间下,样本权重的均值大略雷同。即有:

$$
\frac{1}{\operatorname{count}\left(D_{i}\right)} * \sum_{d \in D_{i}} w(\text { playtime,} \text {duration})=C
$$

对视频时长(duration)和播放时长(playtime)进行等频分桶,如下图所示:

具体做法为:

  • 对一段时间窗内的播放样本依照 duration(视频时长)排序扩散到 100 个桶,确保同一桶中视频观看数雷同。
  • 对每个 duration 桶依照 playtime(播放时长)排序再次等频扩散到 100 个桶,并将权重归一化到 [0,99] 的区间整数。
    做完该解决之后,对任何给定的样本,能够按照(duration, playtime)确定分桶坐标进而确定权值。

2.2.2 播放时长加权

接下来会对 playtime 较高的样本权重进行整体晋升,心愿优化播放时长的指标,同时管制模型对长视频的偏向。这里具体的 boosting 办法如下公式所示:

$$
boost\_sigmoid\left (playtime \right) =\frac{Am}{1+e^-\frac{playtime+offset}{slope} }+shift
$$

  • \(Am \) 是『上界值』
  • \(shift \) 是『下界值』
  • \(offset \) 是『时长偏移量』
  • \(slope \) 是『斜率』

能够看到随着 playtime 的减少,最初的 boost_sigmoid 也会减少,而 offset、slope 和 shift 能够调整加权水平。

2.2.3 视频年龄与用户习惯权重调整

  • 应用视频年龄(用户行为工夫 - 视频公布工夫)对样本降权(年龄越大,权重越低)。
  • 在保障工作产出效率的根底上,对不同平台用户生成特定权重配置,实现了周期性更新,及时拟合整体用户最近的生产习惯。

2.2.4 计划优缺点

长处:利用了样本分布统计信息,拟合用户近期生产习惯。模型调节简略,可疾速上线迭代。

毛病:通过样本调权的形式影响训练 loss,进而在优化过程中对不同的指标有不同倾向性,并非显式多指标建模,信息利用不够充沛,收益无限。

三、[实现形式 2] 多模型交融

3.1 计划介绍

比拟间接的多模型交融形式是:对每个指标训练一个模型,理论线上应用时,依据不同模型预估得分,联合业务指标和指标优先级,对得分相加 / 相乘后进行交融排序。
在爱奇艺的场景中,别离训练点击的二分类模型以及观看时长预估的回归模型。对于交融参数,离线采纳 grid search 的形式调参取得组合值。

3.2 计划优缺点

长处:

  • 单指标训练单模型,优化简略,容易调到『较优』的单模型。

毛病:

  • 难以定量估算不同指标重要度,组合艰难;
  • 线下训练多个模型的工夫和计算资源耗费大,线上预估需申请多个模型,复杂度与时延可能减少;
  • 数据分布随工夫有变动,须要做模型更新和组合参数更新,也须要确定更新机会;
  • 某个指标数据比拟稠密时,该指标训练时无奈联合其余信息进行无效的训练和迭代。

四、[实现形式 3] 多任务学习:网络设计与调优

爱奇艺的社区化建设和业务趋势下,feed 流举荐成果须要:

  • 保障用户观看时长、观看视频数、点击率等根底指标晋升或稳固
  • 疏导用户评论、点赞等互动

这是典型的多任务多指标学习场景,在深度学习畛域有不同的解决形式(详情见多『指标优化及利用(含代码实现)』)(http://www.showmeai.tech/arti…),从 shared-bottom 到 MMoE 到 PLE 有不同的神经网络模型结构设计形式。爱奇艺尝试了两类办法对多任务进行建模:
(1)ESSM 建模
(2)MMoE 建模
后者办法联合帕累托优化迭代后达到了『互动率 20% 晋升,人均播放时长 1.4% 晋升』的业务晋升成果。

4.1 ESSM 建模

4.1.1 计划介绍

阿里提出了 ESMM[1]的办法对 ctr 和 cvr 建模,举荐场景中的用户行为有肯定的序列依赖关系,电商场景下的转化行为产生在用户点击之后,能够基于序列依赖进行建模。

如上图所示,在爱奇艺的 feed 流场景中,用户的观看时长或者互动行为都是产生在点击之后的,能够把『点击 & 时长』,或者『点击 & 互动』作为 ESMM 迭代的方向。
理论爱奇艺场景中,互动作为主工作,点击作为辅助工作,时长作为二者的正例权重,离线训练时两者 loss 间接相加。爱奇艺理论线上试验持平微正,再尝试对两个指标预估值进行变动以及时长更多的 Label 制订形式,但线上未有显著晋升。

4.1.2 计划总结

信息流场景下,点击和互动的关联,并不如电商场景的点击和转换那么强,点击 & 时长 & 互动,不适宜 ESMM 利用场景;

  • 互动行为十分稠密,训练成果较差;
  • 多个指标的 loss 间接相加,难以均衡对每个指标工作的影响,对模型训练造成扰动;
  • 不同指标可能差别较大,难以间接共享底层示意。

4.2 MMoE+ 帕累托优化

爱奇艺的开发同学,对『观看时长 Top 100』和『评论数 Top 100』的视频进行比照剖析,发现重合度较低、排序差别很大。因而,从业务角度剖析看,『时长』和『评论』两者并不是强相干业务,进而思考采纳谷歌 MMoE2 的计划,思考到联结 Loss 须要进行大量超参调节,可能呈现指标一涨一跌的景象,因而应用『帕累托优化』保障原有指标成果不升高的状况下,晋升互动成果。

4.2.1 计划介绍

MMOE 模型底层通过采纳 Soft parameter sharing 形式,可能无效解决两个工作相关性较差状况下的多任务学习。

对于 MMoE 的办法和思路解说和示例代码,能够参考咱们往期文章《多指标优化及利用(含代码实现)》http://www.showmeai.tech/arti…

阿里 2019 年在 RecSys 发表的 paper[4]上提出了在多指标优化中应用帕累托优化,比照手动调节联结 Loss,论文中应用 kkt 条件来负责各指标权重的生成。

上图 Training 虚线框内是帕累托优化的过程:

  • 平均设置『可更新指标权重值』和『权重边界值超参』,应用 PE-LTR 算法训练更新权重值;
  • 调整不同的『权重边界值超参』,进行屡次工作训练,依据指标的重要性筛选成果最好的模型。

4.2.2 计划总结

爱奇艺工程利用中的教训表明,『权重边界值』对模型成果影响较大,须要进行屡次调优确定;多指标权重在后期已根本收敛,中后期浮动较小;帕累托优化计划次要利用于离线训练阶段,在线服务局部仍须要其它策略。

五、[实现形式 4] 多任务学习:交融计划

除了上述讲到的网络结构设计和优化,爱奇艺也优化了模型推理阶段的多指标输入组合,并退出了『完播率』和『时长指标』。

理论线上 Serving 时,通过对不同预估分交融实现多指标的协调和折中,保障模型的排序对各个子目标均有较好的成果。因而在进行多指标建模时,首先优化联结 Loss,保障各指标的离线成果均较优;而后对各子目标进行交融排序,实现多指标的衡量和整体晋升。

5.1 多指标得分乘法交融

在线推理时,爱奇艺应用超参组合公式来进行交融。最终的乘法交融形式带来了『CTR1.5% 晋升,人均播放时长 1% 晋升』的业务成果晋升。

爱奇艺最后采纳了『加权和』的形式,因为各子目标的得分 scale 可能会有差别,减少 α 和 β 两个超参来调整适配灵便度,具体公式如下:

$$
\text {score}=\sum_{i=1}^{n} \text {factor}\left(\alpha_{i}+score_{i}\right)^{\beta_{i}}
$$

公式中:

  • \(alpha_{i} \):超参,灵敏度
  • \(score_{i} \):模型 i 的输入
  • \(beta_{i} \):超参,晋升比例,非线性解决;
  • \(factor \):超参,组合权重;
  • \(n \):模型数量。

加法形式适宜业务指标少的场景下进行交融,短期内可疾速取得收益。但指标增多后,加法的交融排序能力会逐步受限,具体体现如下:

  • ① 对于新增指标,加法交融受限于新指标的 scale,须要进行调整;相比之下乘法交融具备肯定的指标独立性。
  • ② 指标增多后,加法交融中,各子目标的重要性影响会削弱。但乘法交融并不会受其影响。

在此基础上,爱奇艺把多指标交融形式调整为乘法,具体公式如下(公式的参数含意和下面公式统一):

$$
\text {score}=\prod_{i=1}^{n} \text {factor}\left(\alpha_{i}+score_{i}\right)^{\beta_{i}}
$$

5.2 更多关联业务指标建模

为了晋升短视频的播放浸透,促使用户深度生产,爱奇艺开发同学新结构了三个指标并进行优化,获得了『UCTR1% 晋升,CTR3% 晋升,人均播放时长 0.6% 晋升』的业务优化成果,具体指标设定如下:

  • ① 通过限定『完播率』阈值结构完播『二分类指标』,以近似满足逻辑回归的假如条件;
  • ② 拟合平滑后的『播放时长』作为『回归指标』;
  • ③ 限定『播放时长』阈值,构建无效播放的『二分类指标』。

采纳正逆序比照(PNR,positive-negative-ration)对回归指标来评估多指标预估值交融后的排序成果。最终在随刻首页 feed 流和爱奇艺沉迷式场景中均获得播放量和人均时长的显著晋升。

5.3 PSO 进化优化算法

后面提到的多指标得分交融形式,总体的步骤是:

  • 离线通过 Grid Search 失去离线较优的超参数组
  • 线上 AB 测试验证实际效果

这种解决流程,试验的迭代效率非常低,而且随着模型的迭代和样本分布的扭转,最优参数组其实也在变动,稳定性较弱。

因而爱奇艺研发同学借鉴了多指标进化优化算法的思路,基于启发式的粒子群算法(PSO,Particle Swarm Optimization)搜寻交融参数,迫近多指标的 Pareto 前沿。

PSO 算法通过初始化一群随机粒子,启发式地屡次迭代求出最优解。每一次迭代,粒子通过个体极值(该粒子所通过的最优解)和群体极值(种群找到的最优解)来更新各自地位。最终所有粒子会兼顾个体的历史最优和群体共享的全局最优直至收敛。

基于 PSO 算法进行多指标搜参,首先初始化参数;通过乘法交融失去每个视频最终的排序分,并计算各子目标的 AUC;依据指标的重要性对完播率分类的 AUC、播放时长的 PNR 等确定权重,定义总的优化指标:

$$
O b j=w_{1} * AUC(\text {ctr})+w_{2} * AUC(\text {comment})+w_{3} * PNR(\text {playtime})+\cdots
$$

最初通过继续迭代,使得总评估指标 Obj 最大,即失去各子目标的超参数 α、β。下图为总指标得分 Obj 随迭代步数的收敛曲线。

PSO 搜参过程可能使得模型和交融参数同步更新,大幅升高人工调参的老本。
更多 PSO 算法相干内容请参考《粒子群算法 Particle Swarm Optimization 超具体解析 + 代码实例解说》(https://showmeai.tech/article…)一文。

六、参考代码实现

文中波及到的局部多指标优化办法及其在示例数据(微信多指标优化数据集)上的实现,请返回 GitHub https://github.com/ShowMeAI-H… 进行查看,相干数据集的下载请在公众号回复『爱奇艺多任务』获取。

七、参考文献

  • [1] Ma X, Zhao L, Huang G, et al. Entire space multi-task model: An effective approach for estimating post-click conversion rate[C]//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-experts[C]//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 system[C]//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 recommendation[C]//Proceedings of the 13th ACM Conference on Recommender Systems. 2019: 20-28.

八、资源下载

获取『多指标模型办法实现代码』,请返回 GitHub 我的项目 https://github.com/ShowMeAI-H…。

文章波及到的局部论文以及『微信数据集』,请在公众号(AI 算法研究所)后盾回复关键字『爱奇艺多任务』获取。

对『多指标学习』利用感兴趣的小伙伴,也欢送关注咱们公众号(AI 算法研究所),查看更多大厂落地计划哦!

  • 多指标优化及利用(含代码实现 http://www.showmeai.tech/arti…
  • 信息流举荐排序中的并联双塔 CTR 构造 http://www.showmeai.tech/arti…
正文完
 0