写点什么

一矢多穿:多目标排序在爱奇艺短视频推荐中的应用

  • 2021-07-07
  • 本文字数:4917 字

    阅读完需:约 16 分钟

一矢多穿:多目标排序在爱奇艺短视频推荐中的应用

短视频具有内容丰富、信息集中、用户粘性大的特点,如何提高短视频分发的效率推荐精准度,有效提升消费时长、留存等关键业务指标,是推荐系统的核心能力和建模目标。


本文主要分享在短视频推荐场景下,爱奇艺基础推荐团队在排序模型多目标优化方面的历史进展。第一部分主要介绍多目标建模的业务背景,第二部分介绍爱奇艺在短视频推荐业务多目标建模方向尝试和实践的多种方案,最后是简单的总结和在多目标建模方向的规划

背景

在爱奇艺短视频推荐业务中,主要流量形态两个部分组成:


(1) 爱奇艺 APP 底 Tab 的随刻视频以及顶导航的热点模块


(2) 爱奇艺随刻 APP 首页短视频流推荐页面




图 1:短视频推荐页面


用户在 feed 流页面的行为分为:


显示反馈:点击播放,点击 up 主头像、关注、点击/发布评论、收藏、点击圈子、分享等正向互动行为,点击不喜欢、举报等负向行为。


隐式反馈:播放时长、完成率、用户快速划过等行为。


起初排序模型是以点击+时长多目标模型,随着业务发展和模型迭代,我们需要兼顾用户评论、点赞等强互动行为的生态收益,减少用户短停等负向内容的推荐。因此,我们在推荐系统多目标建模方向进行了一系列的尝试和实践,并在短视频推荐业务完成了技术落地,实现了人均播放时长提升 7%+、互动提升 20%+等各项指标的正向收益。

多目标在短视频推荐业务中的实践

1.融合时长权重的点击率预估模型

在基于 ctr 预估的视频推荐中,普遍采用 YouTube 的权重策略


将正样本的播放时长作为样本权重,用加权的逻辑回归训练分类任务。


该策略会造成长视频的权重较高模型偏向推出长视频。综合来看,无论将播放时长还是完播率作为样本权重,都会导致模型对长短视频有所偏重。


因此,权重设计方案应确定合理的假设视频推出质量与视频长度无关,且在视频时长的各区间下应近似均匀分布。即在任何区间下,样本权重的均值大概相同。则有:

采用等频分桶的方式,对一定时间窗口内的播放样本按照 duration(视频时长)排序分散到 100 个桶,确保同一桶中视频观看数相同。进一步地对每个 duration 桶按照 playtime(播放时长)排序再次等频分散到 100 个桶,并将权重归一化到[0,99]的区间整数。因此对所有样本,均可按照(duration,playtime)确定固定的分桶坐标权值


图 2:对视频时长和播放时长进行分桶


在确定整体的权重计算框架后,进一步对 playtime 较高的样本权重进行整体提升。预期优化消费时长的指标,同时控制长视频的偏向。具体的 boosting 方案:

其中,Am 是上界值,shift 是下界值,offset 是时长偏移量,slope 是斜率。


为了完善视频生态,保证新老视频的权重具有一定的区分度。我们融合了视频年龄(用户行为时间-视频发布时间)对样本降权(年龄越大,权重越低)。同时,为了能够使权重配置及时拟合整体用户最近的消费习惯,在保证任务产出效率的基础上,分别对不同平台用户生成特定权重配置,实现了周期性更新


线上收益:人均播放时长提升 3%,UCTR 提升 0.2%


这种方案的优缺点:


优点:融合样本分布信息,拟合近期消费习惯。模型调节简单,可快速上线迭代。


缺点:将时长转为样本权重影响训练 loss本质并非对多目标建模,而是将不同目标的信息转移到统一的目标上优化。而且时长信息利用不够充分,收益有限。

2.多模型融合

图 3:多模型融合


多模型融合是指分别对每个目标训练一个模型,各预估得分根据目标重要性、业务指标需求等策略相加/相乘后进行融合排序。


在这里,我们分别训练纯点击的二分类模型以及观看时长预估的回归模型。在离线调节融合参数时,采用 grid search 的方式选择更好的组合值。


这种方案的优缺点:


优点:模型单独训练,只需要让单个模型达到“最好”,不需要考虑其它目标。


缺点:多个目标重要性难以估算,组合困难;考虑到数据集分布和模型训练的稳定性变化,需要评估模型更新和组合参数的更新时机;在线服务计算量大,请求时长取决于较复杂的模型且资源消耗巨大;如果增加的新目标数据比较稀疏,难以进行有效的模型训练和迭代。

3.多任务学习-网络优化

随着爱奇艺随刻 App 朝着社区化的方向建设,要求 feed 流推荐效果在保证用户观看时长、观看视频数、点击率等基础指标稳定的情况下,引导用户评论、点赞等互动。基于业务现状和之前的迭代基础,我们在多任务学习上进行了一系列探索和实践。


在深度学习领域,多任务学习通常共享底层表示,将多个任务放在一起学习,通过浅层的共享促进相互学习。同时,由于反向传播优化联合 Loss,会兼顾多任务间的约束关系,因此能够有效防止过拟合。


目前工业界主要有两种方法对多任务进行建模:


(1)任务序列依赖关系建模;


(2)优化底层共享表示。

3.1 任务序列依赖关系建模

图 4:基于 ESMM 的方案


推荐场景中,用户的行为通常具有序列依赖关系,在阿里 ESMM 的文章[1]中,用户的转化行为是发生在用户点击之后,因此基于序列依赖进行建模。如图 4 所示,对比 feed 流场景,点击是时长或者互动的前提,可以把点击 &时长,或者点击 &互动作为 ESMM 迭代的方向。实现上,互动作为主任务,点击作为辅助任务,时长作为二者的正例权重,离线训练时两者 loss 直接相加。我们曾经尝试过对两个目标预估值进行变化以及时长更多的 Label 制定方式,但线上效果均持平微正。


小结:点击和互动没有绝对的联系点击 &时长 &互动,不适合 ESMM 应用场景;互动行为非常稀疏,训练效果较差;多个目标的 loss 直接相加,难以平衡对每个目标任务的影响,对模型训练造成扰动;不同目标可能差异较大,难以共享底层表示。

3.2 MMOE+帕累托优化

我们分别对观看时长和评论数 Top 100 的视频进行对比分析,发现重合度较低、排序差异很大,强制底层共享存在冲突。因此,我们采用了谷歌 MMOE[2][3]的方案,但是考虑到联合 Loss 需要进行大量超参调节,可能出现目标一涨一跌的现象,因此使用帕累托优化保证原有目标效果不降低的情况下,提升互动效果。


图 5  MMOE 模型结构


MMOE 模型底层通过采用 Soft parameter sharing 方式,能够有效解决两个任务相关性较差情况下的多任务学习。

图 6 基于 MMOE+帕累托优化的方案


帕累托优化主要参考阿里 2019 年发表于 RecSys 上的一篇文章[4],对比手动调节联合 Loss,该论文使用 kkt 条件来负责各目标权重的生成。大体步骤(如图中 Training 虚线框内所示):


(1) 均匀设置目标权重值(可更新的),同时设置权重边界值超参,运行 PE-LTR 算法在训练过程中不断更新权重值;


(2) 通过设置不同的权重边界值超参,多次运行训练任务,根据目标的重要性挑选效果最好的模型。


线上收益:互动率提升 20%,人均播放时长提升 1.4%。


小结:实际使用中权重边界值对模型效果影响较大,需要多次调优确定;多目标权重在前期已基本收敛,中后期浮动较小;此帕累托优化方案应用于离线训练,在线服务部分仍需要其它策略。

4.多任务学习-融合优化

除了对网络结构进行优化,我们对模型推理阶段的多目标输出组合进行了优化,同时,加入了完播率时长目标,模型 Serving 时,通过融合各预估分实现多目标的协调和折中处理,保证模型对各个子目标的排序均有较好的效果。因此在进行多目标建模时,首先优化联合 Loss,保证各目标的离线效果均较优;然后对各子目标进行融合排序,实现多目标的权衡和整体提升。

4.1 乘法融合升级

在线推理时,使用可适配多种融合方案的超参配置。在多目标融合初期,我们采用了加权和的方式。由于最终的排序得分对各子目标的得分值域很敏感,因此我们增加α和β两个超参,来联合调节各子目标得分的灵敏度与提升比例。

其中,αi:超参,灵敏度;scorei: 模型 i 的输出;βi:超参,提升比例,非线性处理;factor:超参,组合权重;n:模型数量


在业务的目标较少时,通过加法方式融合新增目标可以短期内快速获得收益。但随着目标逐渐增多时,加法的融合排序能力会逐渐受限。主要包括:


(1)对于新增目标乘法融合具有一定的目标独立性,无需考虑旧目标集的值域分布;


(2)随着目标逐渐增多,加法融合会逐步弱化各子目标的重要性影响。


因此我们对多目标的融合方式升级为乘法:

线上收益:CTR 提升 1.5%,人均播放时长提升 1%。

4.2 任务序列依赖关系建模

为了提升短视频的播放渗透,促使用户深度消费,我们新构造了三个目标:


(1)通过限定完播率阈值构造完播二分类目标,以近似满足逻辑回归的假设条件;


(2)拟合平滑后的播放时长作为回归目标;


(3)限定播放时长阈值,构建有效播放的二分类目标。


对于回归目标,采用正逆序对比(PNR,positive-negative-ration)来评估多目标预估值融合后的排序效果。最终在随刻首页 feed 流和爱奇艺沉浸式场景中均取得播放量和人均时长的显著提升。


线上收益:UCTR 提升 1%,CTR 提升 3%,人均播放时长提升 0.6%。

4.3 PSO[5]进化优化算法

无论对预估分使用加法还是乘法方式融合,模型 Serving 时的超参均是通过 Grid Search 得到离线较优的几组解。需要离线搜参以及线上 AB 才能最终确定,效率较低。随着模型的迭代和样本分布的改变,最优解也在变。因此我们借鉴了多目标进化优化算法的思路,基于启发式的粒子群算法(PSO,Particle Swarm Optimization)搜索融合参数,逼近多目标的 Pareto 前沿


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


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

最后通过持续迭代,使得总评估目标 Obj 最大,即得到各子目标的超参数α、β。图 7 为总目标得分 Obj 随迭代步数的收敛曲线。


图 7:总目标得分的收敛曲线


搜参任务需要保证总目标的定义足够完美,保证粒子的优化方向不至于被某个子目标带偏,此外验证集的无偏性和一致性也是效果一致的重要保证。进一步地我们将 PSO 搜参过程部署到集群实现模型和融合参数的同步更新,大幅降低人工调参的成本。


小结:无论融合方式的升级还是搜参方式的优化,均是离线搜参后部署到线上生效。场景、运营流量等影响,离线指标和业务指标存在 gap。离线寻参容易获得短期收益,但无法动态调整及时适应样本分布的变化。后续结合用户的实时日志、特征等,对在线自动搜参展开持续探索;以及模型化拟合参数,尝试提升个性化和实时性。

总结与展望

本文总结了爱奇艺短视频推荐技术排序阶段多目标的优化,对样本权重优化模型结构、多目标融合等多角度进行了一系列的探索和实践,在线上取得了一系列的收益。后续,我们将会从 3 个方向继续探索:


(1)跨场景的多目标学习:结合多场景的数据学习用户兴趣,优化主/辅助任务,并应用到更多场景中;


(2)优化模型:包括梯度优化、底层共享的设计、Loss 设计、不同任务对梯度的影响等;


(3)在线搜参:开发自动调参框架,利用一部分流量进行探索,实时动态调整等。


参考文献

[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.


[5] Kennedy J, Eberhart R. Particle swarm optimization[C]//Proceedings of ICNN'95-international conference on neural networks. IEEE, 1995, 4: 1942-1948.


本文转载自:爱奇艺技术产品团队(ID:iQIYI-TP)

原文链接:一矢多穿:多目标排序在爱奇艺短视频推荐中的应用

2021-07-07 13:003808

评论

发布
暂无评论
发现更多内容

40 K8S之Calico网络插件

穿过生命散发芬芳

k8s 28天写作 12月日更

hmily学习笔记

风翱

12月日更 Hmily

.NET内存管理必备知识

喵叔

28天写作 12月日更

工业4.0时代:低代码的兴起,或将掀起制造业格局的变革

优秀

低代码 工业4.0

盘点2021:一年读完的50本书

石云升

书单 年终总结 28天写作 12月日更 盘点2021

我们一起,盘点 2021 十大技术领域的全部精彩

InfoQ写作社区官方

大数据 云原生 编程语言 话题讨论 2021年度技术盘点与展望

什么是网络安全?网络安全威胁存在哪些?

喀拉峻

网络安全

Spring AOP(二) 修饰者模式和JDK Proxy

程序员历小冰

spring Java、 28天写作 spring aop 12月日更

中小型研发团队的一种考核思路

wood

团队管理 28天写作 研发考核

聊聊今天 log4j 的大瓜

Justin

漏洞 闲聊 28天写作

Volatile 原理(二)

悟空聊架构

volatile 28天写作 可见性 悟空聊架构 12月日更

解决:standard_init_linux.go:219: exec user process caused

liuzhen007

28天写作 12月日更

记录-最骄傲的事(3)

将军-技术演讲力教练

Eureka基础

李子捌

微服务 28天写作 12月日更

在线将JS/JavaScript-Object转JSON工具

入门小站

工具

[Pulsar] Batch message的确认

Zike Yang

Apache Pulsar 12月日更

Hoo虎符研究院 | 币海寻珠——2021年区块链投融大事记

区块链前沿News

区块链 虎符 Hoo虎符 Hoo 虎符交易所

想象与实践的过程

Nydia

iKuai与DNSPod合作,搞了一个大动作!

网络安全 DNS DNS劫持

数据库大赛50强之「华东师范大学」:恰同学少年,代码激扬!

OceanBase 数据库

数据库 学习 开源 oceanbase

9.《重学 JAVA》-- 控制语句(一)

杨鹏Geek

Java 25 周年 28天写作 12月日更

架构实战营第 4 期 -- 模块二作业

烈火干柴烛灭田边残月

架构实战营

zookeeper的数据同步是如何完成的?

卢卡多多

zookeeper 28天写作 12月日更

「如何从0到1实现一个基于vite的前端基础库👾」

速冻鱼

前端 Node 签约计划第二季 12月日更

你不得不掌握的前端提交规范(git cz)

你好bk

JavaScript 前端 代码注释 代码规范 12月日更

设计电商秒杀系统

Rabbit

睁眼、耸肩、觉醒:人形机器人的吊诡与最终幻想

脑极体

JavaScript 中8 个最佳电子邮件库

devpoint

JavaScript nodejs 12月日更 email pop3

当诗人遇到熟读2600亿中文参数的大模型

白洞计划

Helm 快速入门

xcbeyond

Helm 28天写作 12月日更

Prometheus Exporter (二十二)Infiniband Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Infiniband

一矢多穿:多目标排序在爱奇艺短视频推荐中的应用_AI&大模型_爱奇艺技术产品团队_InfoQ精选文章