异构混排在vivo互联网的技术实践

news2024/11/16 13:42:46

作者:vivo 互联网算法团队- Shen Jiyi

本文根据沈技毅老师在“2022 vivo开发者大会"现场演讲内容整理而成。

混排层负责将多个异构队列的结果如广告、游戏、自然量等进行融合,需要在上下游和业务多重限制下取得最优解,相对复杂和难以控制。本文主要从业务、模型等角度介绍了vivo广告策略团队在信息流和应用商店混排上的一些探索和思考。

一、背景介绍

首先介绍一下什么是混排。所谓混排,如图所示就是需要在保障用户体验前提下,通过对不同队列中的异构内容进行合理混合,实现收益最优,更好的服务广告主和用户。

混排的核心挑战体现在:

  1. 不同队列item建模目标不同,难以直接对比。比如有的队列按照ctr建模,有的队列按照ecpm建模,无法直接对比。

  2. 候选队列常受到大量产品规则约束,常见的有比如间隔位的约束、保量、首位等约束。

  3. 由于候选队列由上游各方精排算法产生,由于业务限制混排时往往不能修改候选队列的序,也就是需要实现保序混排。

本次介绍的主要是vivo信息流和商店场景的混排实践。

vivo的信息流场景,包括像浏览器、i视频、负一屏等,他的特点是场景众多,下拉深度较高,广告形式多样,用户个性化需求较强。而对于商店场景,是一个整体偏垂直的场景,

它涉及到广告、游戏、自然量多方均衡,需要在保量和用户体验等严格要求下,取得综合最优解。后续我们将对这2个场景的特点展开逐一介绍。

二、信息流混排实践

2.1 信息流混排介绍

我们开始介绍下信息流场景的混排实践。

对于信息流场景来说,如下图所示,混排侧所主要解决的问题是内容队列与广告队列的混排问题。也就是如何在平衡好用户体验和广告主利益的情况下,将广告插入到合适的位置。

对于传统信息流媒体来说早期的主要混排方式可能主要是以固定位模板为主。也就是运营人工定下广告与内容的插入关系,简单直接。

但也带来了三个明显的问题

  1. 用户方来说,广告在偏好场景与非偏好场景同等概率出现,有损用户体验。

  2. 业务方的角度出发,流量未精准投放,业务服务效率低,广告主体验差。

  3. 平台方,资源错配导致平台资源浪费。

2.2 业界方案调研

接下来介绍下业界常见的几种解决方案。

以某职场社交平台的方案为例。它将优化目标设定为在用户体验价值大于一定值的前提下最优化营收价值。对于待插入广告,将用户体验货币化,与商业化价值加权衡量整体价值。

如果整体价值大于用户体验价值时投放广告内容,否则投放产品内容。此外在投放时还会根据右图所示考虑间隔等约束。

他的方法简单直接,很多团队采用类似的方案取得较好效果。但该方案只考虑单一item价值,未考虑item间相互影响,缺乏长期收益的考虑。

接下来介绍的是某小视频的方案,他们采用强化学习的方法进行混排。该方案将信息流混排问题抽象为序列插入问题,将不同广告对于不同槽位的插入情况抽象为不同action,通过强化学习进行选择。在考虑奖励设计时融合了广告价值(如收入等)与用户体验价值(比如下滑与离开)。通过调节超参对两者进行平衡。

但是该方案对工程依赖较高且论文中已离线测试为主,缺乏线上的分析。并且该模型只考虑单广告插入,未考虑多广告情况。

具体到vivo信息流场景的迭代,混排迭代包括固定位混排,Qlearning 混排和深度解空间型混排三个阶段。

整体思路是希望在Qlearning阶段通过简单的强化学习方案累积样本,快速探索收益。后续升级为深度学习方案。

2.3 Qlearning 混排

上面是强化学习的基本流程,强化学习最大的特点是在交互中学习。Agent在与环境的交互中根据获得的奖励或惩罚不断的学习知识,更加适应环境。state,reward和action是强化学习中最为关键的三个要素,后续详细展开。

vivo信息流的Qlearning混排机制有什么好处呢?首先它会考虑全页面收益,并考虑长期收益,符合多刷场景诉求。此外Qlearning模型可以小步快跑,积累样本同时,快速验证效果。

当前整体系统架构,混排系统位于adx后,接收到内容队列与广告队列后,通过Qlearning 模型下发调权系数,对广告进行调权,叠加业务策略后,生成融合队列。而用户行为也会触发Qlearning模型更新。

Qlearning模型运行原理如图,首先初始化qtable,然后选择一个action,根据action所得到的reward进行qtable的更新,而在损失函数既考虑短期收益也考虑长期收益。

在vivo的实践中,在奖励设计上,我们综合考虑时长等用户体验指标与广告价值,两者进行平滑后,通过超参进行权衡。在动作设计上,一期采用数值型的方式,生成广告调权系数,作用于广告精排得分,与内容侧进行混合,从而实现混排。

在状态设计上包含用户特征、上下文特征、内容侧特征和广告侧特征四个部分。像统计特征和上下文特征等对Qlearning模型有较大影响。

在vivo信息流场景中,Qlearning混排取得了较好的效果,已经覆盖绝大部分场景。

2.4 深度位置型混排

Qlearning混排存在一定的局限性:

  • Qtable结构简单,信息容量小。

  • Qlearning模型可使用特征有限,难以对如行为序列等细致化建模。

  • 当前Qlearning混排依赖于上游打分,上游打分波动,会引发效果震荡。

为了解决Qlearning的问题,我们研发了深度位置型混排。在混排机制上由原本的数值型升级为直接生成位置的位置型混排,而在模型本身我们由Qlearning升级成了深度学习。

这带来3个好处

  1. 与上游打分解耦,大大提高混排稳定性

  2. 深度网络,可容纳信息量大

  3. 能够考虑页面间item相互作用

我们整体模型架构为业界主流类似双塔dqn的模型架构,左塔主要传入的一些state信息包括用户属性、行为等,右塔传入action信息也就是解空间排列基础信息。

值得一提的是我们会将上一刷的解作为特征融入到当前模型中。

新的解空间模型action空间更大,天花板更高。但稀疏action难以学习充分,易导致预估不准。为了解决这个问题,我们在线上增加小流量随机实验,提高稀疏动作命中率,丰富样本多样性。

序列特征作为模型最为重要的特征之一,也是强化学习模型刻画state的重要特征之一,我们对序列做了一些优化。在序列attention模块,为了解决用户历史兴趣与待插入广告的匹配程度,我们通过transformer刻画用户行为序列信息;之后通过待插入广告与序列attention操作,刻画匹配程度。此外在序列match模块,我们引入先验信息,产生强交叉特征,对attention进行补充;对于match权值通过CTR、是否命中、时间权重、TF-IDF等方式进行信息提取。

三、应用商店混排

3.1 商店混排介绍

接下来我们介绍应用商店混排模块。

商店混排的核心问题是实现广告队列与游戏队列的混排。而就像图中所示广告与游戏排序分定义方式不同,难以直接对比。此外联运游戏回收周期长, LTV难以估准,即使全部按照ecpm排序也较难保证效果。

梳理下应用商店面临的核心挑战

  1. 涉及业务方较多,需在满足用户体验、广告、游戏三方要求情况下实现综合最优。

  2. 商店混排往往有保量等相关诉求,保量无法关联到整体收益,追求整体收益势必改变保量的结果,并产生相互冲突。如何在既满足保量的情况下,又实现整体最优?

  3. 不同于信息流,商店为高成本消费场景,用户行为稀疏。很多用户很长时间内才会有一次下载行为。

  4. 游戏LTV预估是行业的难题,如何在混排侧为游戏LTV提供一定的容错空间?

回到vivo应用商店混排,整体迭代包含固定位混排、PID保量、带约束混排、混排精细化分流4个阶段。

3.2 PID保量

首先介绍PID的方案,PID最开始来源于自动化领域。初期为了相应业务侧诉求,参考业界主流方案,通过对广告和游戏进行保量,初步实现混排能力。但方案较为简单,且PID难以关联到收益目标,难以实现收益最优。

3.3 带约束混排

保量和收益最大化存在一定程度的冲突,满足保量约束下,如何实现业务综合收益最优是最大难点。

vivo商店混排采取流量拆分微调的思路,在PID保量后接重排,综合考虑用户体验、广告收入、游戏价值三者的平衡点。针对重排与PID保量冲突,重排只对部分位置生效,使得在部分流量如首屏下能够进行收益的探索,而又能满足保量需求。

在重排层我们一开始考虑沿用信息流的混排方案,使用强化学习进行混排。但是存在2个问题

  1. 重排只对首刷生效,缺乏常规强化学习的状态转移。

  2. 商店场景对比信息流场景涉及业务方较多,如何考虑用户体验、广告收入、游戏价值三方的权衡 是一个更为复杂的问题。

为了适应商店场景的特点,我们做了一些适配和优化

  1. 首先对于loss。有别于传统强化学习,由于商店场景行为稀疏且只对首屏生效,缺乏状态转移,我们将gamma置为0,整体变为类似监督学习的状态,提高系统稳定性。

  2. 在reward的设计上我们综合考虑了整个页面游戏收入、广告收入和用户体验等多方因素实现收益最优。

  3. 在action设计上一期仍然使用数值型方案。

该版本在vivo商店混排取得较好效果,已经全量。

3.4 混排精细化分流

在带约束重排基础上,我们思考能否进一步进行优化

  1. 首先重排候选集由PID保量产生,非全局最优。

  2. 其次候选集为全广告或全游戏时,当前重排无生效空间(这块线上占比过半)。

那么如何满足保量下更进一步实现收益最优?

我们开始尝试混排精细化分流,对于部分分支去除保量限制,进行约束放开。使得PID聚焦于满足保量等业务诉求,模型聚焦探索更优空间。

当前版本,当一个请求到来时,我们会根据分流模块判断是否为高质量流量,对于高质量流量通过混排模型探索收益,对于低质量流量采用PID进行保量,并将最终结果融合。这样重排策略能在部分流量对全请求生效,整体的保量也在正常范围。

目前我们当前尝试过的分流方式有商业价值分流、游戏偏好分流、广告位分流、体验机制分流等。

具体到重排模型上,我们也做了一些迭代。当前重排层,数值型模型存在一些问题:

  • 数值型混排依赖于上游打分,上游偏差变化影响混排模型准确性。

  • 未考虑上文信息和位置信息等listwise因素的影响。

为了解决问题:

  • 我们采用采用生成式模型替代数值型模型,直接生成混排结果,与上游打分解耦。

  • 借鉴context-dnn思想,我们采用context-aware方式,在生成方式和label设计中融入上下文影响。

该模型在实验流量上收益对比原模型更为明显,且不受上游打分影响,更为稳定。

四、未来展望

关于未来的展望,包括4个方面:

  1. 模型优化:深度优化混排,更精细化建模,融入更多实时反馈信号,提升模型效果,更为个性化建模。

  2. 跨场景联动:尝试跨场景联动混排等方案,实现最优兑换比,与全场景最优。

  3. 统一范式:各场景统一建立序列生成和序列评估的统一混排范式。

  4. 端上混排:尝试端上混排,更为及时捕获用户兴趣,提升用户体验。

异构混排在vivo互联网的探索过程中遇到了较多的挑战,也取得了一定的收益。

欢迎感兴趣的同学留言交流讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/83205.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于外业移动端GIS+CAD在工程行业中的应用

摘要: 本文以广东九建某某高校施工项目前期准备和施工验证工作为依托,以图新地球精准导入CAD为研究对象,总结了一套相对成熟且完善的应用技术。该应用技术能在实际地形和现状数据中迅速找到施工点的大致位置,为前期工程勘测争取足…

【云原生消息中间件】RocketMQ消费者启动(consumer start)流程

目录 一、前言 二、消费者启动(consumer start)流程 1、RocketMQPushConsumer初始化 1.1、InitializingBean的afterPropertiesSet() 实现 1.2、RocketMQPushConsumer初始化 2、DefaultMQPushConsumer#start()逻辑 3、defaultMQPushConsumerImpl.start()逻辑 3.1、预设置…

哈希表题目:“气球”的最大数量

文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目 标题和出处 标题:“气球”的最大数量 出处:1189. “气球”的最大数量 难度 2 级 题目描述 要求 给你一个字符串 text\texttt{text}text,你需要…

无线通信信号传输模型

1. 概述 在移动通信网的规划阶段和网络优化期间,最重要的传播问题是路径损耗,它代表大尺度传播特性,具有幂定律的传播特征。路径损耗是移动通信系统规划设计的一个重要依据,对蜂窝设计中的覆盖范围、信噪比、远近效应都有影响。因…

css色彩主题适配思路

网站主题,之前一直考虑的是通过替换css文件来实现,这种方式虽然可以,但不够方便。毕竟要写两套css主题,需要花费足够多的时间来适配。 后来琢磨出了一点东西出来,发现通过修改root里的css变量来实现,比较优…

计算机研究生就业方向之去银行券商信息技术部门

我一直跟学生们说你考计算机的研究生之前一定要想好你想干什么,如果你只是转码,那么你不一定要考研,至少以下几个职位研究生是没有啥优势的: 1,软件测试工程师(培训一下就行) 2,前…

NR HARQ(一)概述

HARQ是MAC层的快速重传机制,5G部分HARQ相关内容分布在38.331,38.321,38.213,38.214,38.212,38.211等spec中,这篇仅仅针对NR HARQ 进行简单的概括梳理。 NR中上下行HARQ均为异步HARQ;NR中每个HARQ反馈信息可以针对一个上/下行 TB块&#xff0c…

PDF文件怎么打印?分享两种打印方法

如何将PDF文件打印出来呢?大家在使用PDF文件的时候,在确定一份文件没有问题的时候,会选择将文件打印出来使用,有很多小伙伴身边有打印设备,但是不知道怎么打印,今天小编给大家分享两种打印方法,…

Resolution-robust Large Mask Inpainting with Fourier Convolutions 阅读笔记

基于傅里叶卷积的鲁棒分辨率大Mask修补 WACV 2022 论文链接 代码链接 图1:本文提出的方法可成功修复大区域,并很好处理具有复杂重复结构的图像。该方法在256256低分辨率下训练也能泛化到高分辨率图像上。 摘要: 现代图像修复技术主要受阻于大…

基于intel平台车载M12网管交换机方案,13路网口,支持bypass功能

概述:XM-5130是二层网管型以太网交换机,该产品前面板提供13路100M自适应以太网接口、4路车辆间带链路聚合及bypass功能的以太网接口,接口通过M12端子形式提供。该产品适用于振动、温度、湿度、电源波动变化大、电磁干扰复杂的恶劣工作环境。设…

传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题?

作者:王彬、杏祉尧、黄枫 项目背景 贵州酒店集团有限公司于 2019 年 2 月 28 日注册成立,是经贵州省人民政府批准并授权省国资委履行出资人职责的省管大一型企业,全资及控股子企业 23 家,自营及委管酒店(项目&#x…

Nacos的持久化和集群部署

###目前网络模式为:bridge 1.docker mysql:5.7的持久化存储及远程连接 1.下拉镜像 docker pull mysql/mysql-server:5.7 注:后面的mysql标签是版本号,可选择,有:5.5/5.6/5.7/8.0 2.在宿主机中相关目录&#…

单片机内部组成

目录 中央处理器(CPU) 内部数据存储器(128B RAM) 内部程序存储器(4KB ROM) 定时/计数器 可编程I/O口 串行接口 中断控制系统 时钟电路 中央处理器(CPU) 中央处理器是单片机的…

测试工作干了7年,却被实习生代替,是实习生太牛了,还是我们太弱了?

前几天有个朋友向我哭诉,说她在公司工作(软件测试)了7年了,却被一个实习生代替了,该何去何从? 这是一个值得深思的问题,作为职场人员,我们确实该思考,我们的工作会被实习…

详解文件篇(待更)

目录前言一、背景知识1.文件的真面目2.对文件进行的操作3.所谓的打开文件究竟是在干啥?4.文件可能存在的位置?5.文件操作的幕后主使者二、复习C语言中的相关文件操作1. 源代码:形成一个file.txt的文件2. 以"r"的方式打开文件3. 以&…

C++异常详解

文章目录前言一、C语言传统的处理错误的方式二、C异常概念三、异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3 异常安全3.4 异常规范四、C标准库的异常体系五、自定义异常体系六、异常的优缺点C异常的优点C异常的缺点总结前言 正文开始! 一、C语言传统的处理…

大数据:Hive3.x安装部署和配置

文章目录Hive 简介一,Hive 下载和安装1)下载hive2)安装hive二,Hive 部署1)添加hive-site.xml配置2)上传mysql jdbc驱动到hive安装包lib下3)初始化元数据库4)启动hive5)be…

数字时代,你还不了解数据仓库吗?

事实上,很多人在看到数据仓库的第一眼,就把数据仓库当成了数据库。当然这也很正常,毕竟从名字来看这两者确实区别不大,真正区分两者的是定位、作用等更深一层的东西。今天我们就来详细了解一下数据仓库,从概念、特点、…

【网络】一文带你了解计算机网络基础

我们在学校中,相信大家都学过计算机四门必修课之一的计算机网络,那么今天简单的总结一下计算机网络的基础和原理,有需要朋友,可以点赞收藏。 一文带你了解计算机网络基础1、 网络 7 层架构2、 TCP/IP原理2.1 网络访问层(Network A…

MongoDB的入门及使用

文章目录1、MongoDB组成2、基本指令3、安装Studio 3T4、操作语句db操作collection操作document操作document 查询5、开发使用1、MongoDB组成 MongoDB中有三个概念需要大家了解:数据库、集合、文档 数据库database: 数据库是一个仓库,在仓库中…