深度学习时代的到来给搜推广业务带来了一波巨大的红利,一方面是深度学习模型带来的技术红利,另一方面是GPU/NPU等硬件带来的算力红利。但是随着业务的不断发展,技术水位的不断提高,深度学习时代的技术和算力红利也渐渐耗尽,级联排序系统的召回/粗排/精排/重排等各模块的独立迭代也逐渐遇到瓶颈。后深度学习时代如何进一步破局,技术如何进一步突破,成为很多团队亟待解决的问题。
我在2019年将阿里妈妈展示广告的粗排排序系统从向量内积模型升级成实时深度全连接模型COLD之后,也遇到了同样的问题,粗排和精排PCTR模型的差距已经很小,进一步的优化升级难以取得进一步的线上收益。
为了解决这个问题,我站在整个系统链路的角度,在考虑模块自身特点和算力约束的情况下,提出了全链路联动这一全新的技术方向,解决了各模块因为目标不一致带来的链路损耗和目标对齐问题,同时解决各模块因为训练和在线推理不一致带来的的样本选择偏差问题。目前这个工作已经在阿里妈妈展示广告所有核心业务场景(手淘猜你喜欢/购后等信息流广告场景)落地并全量,给展示广告大盘收入带来累积10%以上的巨大增长。
阿里妈妈展示广告采用多阶段级联排序架构,对于前链路系统(召回/粗排)来说,需要在满足算力RT约束的情况下,选出满足后链路需求的集合,各模块情况如下:
近些年,深度学习技术在搜索推荐广告等场景取得巨大成功。技术和算力上的红利极大的促进了业务的发展。但是随着存量红利逐渐消耗殆尽,很多模块的单点迭代和技术创新都逐渐进入深水区,逐渐遇到瓶颈。
我在2019年推动将阿里妈妈展示广告的粗排排序系统从向量内积模型升级成实时深度全连接模型COLD,在引入交叉特征的基础上可以进行实时训练,实时打分。此后因为粗排和精排PCTR模型能力差距得到显著缩小,粗排PCTR主模型在技术上的单点迭代升级开始遇到瓶颈。为了给粗排以及整个展示广告技术打开发展空间,我的目光从粗排转向整个级联排序系统,站在全链路的视角重新审视整个展示广告的技术,我发现因为打分规模/算力RT/独立迭代等因素影响,各模块存在技术水位差以及目标不一致带来的链路损耗问题:
召回:很多召回通道都是先兴趣最大化再RPM最大化,和系统平台侧的主要目标RPM存在gap,有可能会导致一些中低兴趣但是高RPM的广告无法进入到后链路。
粗排:按照ecpm=pctr*init_bid的方式进行排序,粗排使用的是广告主的原始bid,但是精排会基于多目标模型打分(点击率/收藏加购率/成交率模型)以及策略调价模块(基于广告主和平台诉求对广告出价进行调整)对广告主出价进行调整,因为在bid上和精排存在gap,同时粗排在pctr模型能力上和精排也存在差距。
同时整个级联排序系统还存在明显的样本选择偏差问题(SSB,Sample Selection Bias):因为模型训练基于的展现反馈样本空间和线上打分样本空间存在较大的分布差异,影响了模型的推理效果。越靠近前链路,这个问题就越严重。
解决技术水位差和目标不一致问题的一条传统技术路线,是将精排的精准值预估能力向前链路迁移。粗排的发展历史很好的诠释了这条路线:从LR等传统机器学习模型到向量内积模型,再到现在的实时全连接结构COLD,这些技术均先在精排落地,后面再结合粗排的算力RT特点进行迁移适配。
但是随着迭代进入深水区,这种方式的弊端也逐渐显现。一方面是因为精排内部逐渐复杂化(预估目标越来越多,模型越来越复杂,调价策略等逻辑也越来越多)。另一方面是越往前面临的打分规模也越大,特别是召回阶段打分规模在千万级别。将精排技术向前链路迁移面临的算力RT代价及维护成本越来越高,边际效应递减也越来越明显,导致很多精排技术难以直接落地。如果继续沿着这条技术路线迭代,是否存在新的破局空间?
除了精准值预估技术路线之外,是否存在另外一条算力RT代价较低,迁移成本可控的技术路线呢?
前链路的目标是选择满足后链路需要的集合。是否可以放弃对值的精准预估,以集合选择为目标,从而释放一部分算力?
精排阶段的排序结果,是通过用户反馈数据->
模型训练->
多目标模型打分->
策略调价这样一条复杂路径处理之后得到的。是否可以跳过精排内部复杂的处理过程,以排序结果本身为学习样本和目标,直接进行端到端的学习?这种精排加工处理后的数据,和用户反馈数据相比,学习难度可能更低。
基于上面的特点,我提出了一条全新的以学习后链路为目标的集合选择技术路线,改变了全链路技术体系只依赖用户展示反馈数据的现状,将精排阶段的排序样本引入到前链路召回和粗排的模型学习过程中,在基本不增加算力RT的情况下提升了全链路的目标对齐能力。我在召回提出了通过端到端Learning to Rank的方式,以学习后链路的序为目标的召回技术LDM(Learning to Rank based Deep Match Model),并在一定程度上解决了召回阶段的样本选择偏差问题。
召回LDM的成功证明了以精排阶段的序为目标,通过LTR技术端到端进行学习,在在展示广告业务是可行的,也给粗排的进一步迭代打开了思路。因此我进一步提出了通过端到端Learning to Rank方式,以学习后链路的序为目标的粗排LBDM(Learning to Rank based and Bid-Sensitive Deep Pre-Ranking Model)模型,同时创新性地解决了LTR技术在bid敏感性上的问题,保证了广告主bid对排序的单调翘动能力。
对于样本选择偏差(Sample Selection Bias,SSB)问题,在缺乏监督信号的情况下想要完全解决是很难的。同时精排模型由于模型能力更强,对于未曝光样本的打分更准确。
对于级联排序系统中的前链路模块来说(召回/粗排),样本选择偏差问题可以拆解成两个子问题:
这里先解决第一个子问题,即提升前链路模型和精排模型在模块自身打分空间上的一致性问题,这样可以在不动精排的情况下也能拿到线上收益。后面再集中精力攻克精排的样本选择偏差问题。
直接目标:如CTR。这类目标一般可以直接基于线上的feedback反馈数据用全库召回的模型进行预估。例如对CTR来说,因为仅仅需要保证点击样本排到未点击样本前面,甚至不需要保证模型的PCTR预估准度,在构造样本的时候一般可以用点击样本作为正样本,随机采样作为负样本。
间接目标:如RPM (RPM=CTR*Bid) ,GMV (GMV=CTCVR*Price)等。这类目标的排序公式,往往存在一个或多个加权因子,难以直接用线上的反馈数据(点击,转化等)表示。这个给召回建模带来了很大的困难。
RPM是一个很典型的间接目标,也是展示广告在平台侧最重要的指标之一。如何在千万召回规模下,在满足算力RT约束的情况。