Fork me on GitHub

阿里妈妈搜索广告预估模型 2021 思考与实践

来源: https://zhuanlan.zhihu.com/p/446993392

1. 前言

搜索广告直通车作为阿里妈妈营收大盘的中流砥柱,十年来通过产品和技术层面的不断自我革新升级,每年都能够保持业务高速增长。搜索广告预估模型方向(全链路多阶段CTR&CVR&CXR等预估模型)作为提效主力军,今年在技术上持续深耕和创新,在如此大规模业务体量的基础上依然交出了业务指标增速两位数的答卷。本文将从三个方面(模型深耕、模型联动和系统效能)回顾和总结2021年所做的工作,想交流更多的是技术背后的思考与想法,有些已经落地、有些正在践行、有些尚未成熟,希望尽量清晰的思考路径可以让每一次的迭代都有迹可循,让每一次的创新不是昙花一现。主要围绕以下几个技术问题展开:

  • 深度学习算力红利逐年消减的背景下,预估模型如何极致无损压缩打破算力瓶颈,助力算法进一步升级?
  • 用户行为建模方向的技术红利吃的差不多,全域行为、实时行为和长周期行为等序建模和图建模的技术体系逐渐完善,下一个建模增长点是什么?
  • 直通车以点击计费的广告场景,围绕点击率预估模型的迭代升级已经筑起较高技术水位,业务提效较为艰难,是否存在尚未精心开垦的技术洼地有机会让业务二次增长?
  • 全链路预估模型统一布局和规划的背景下,除了技术栈对齐和工程基建打通以外,还有哪些不同阶段的模块联动新玩法可以打破局部优化的边界?
  • 随着高性能计算硬件和加速算法的盛行,大规模稀疏离散特征的搜推广模型如何升级新的迭代范式,享受到超高训练加速比(1天训练时间消费30天样本,训练加速比就是30)的迭代新时速?

2. 概览

阿里妈妈搜索广告预估方向负责全链路多阶段的CTR&CVR&CXR等预估模型的优化与升级,与业界大多数系统架构一样,受到计算性能的约束限制,直通车也是采用多阶段“打分-排序-截断”的级联架构**(详见下图)** 。同是多阶段架构设计,广告技术与搜索推荐还是有本质上的差异:搜索推荐的主体是平台,平台对候选集合进行导向性地排序展示;广告技术的主体是广告主,平台只是制定了统一的竞拍规则,广告主根据自身述求和实际情况在竞拍规则下进行不同阶段的合理参竞。所以广告技术本身的特殊性使得每个阶段“漏斗”生效策略主要由出价算法和机制算法所完成,CTR预估准度是机制算法的基石,CVR预估准度是出价算法的灵魂。所以预估方向的优化目标就是为各个阶段提供准度较高的模型打分预估值,供下游出价和机制所使用,保证全链路商业化运转状态往更优的方向前进。

预估方向面向业务提效的迭代思路在过去一年是较为清晰的,在有限的机器资源和人力资源约束下,尽可能防内卷,把迭代共性和差异化特性充分提炼。总结来说,1)精排CTR模型作为技术攻坚排头兵,死磕技术瓶颈,勇于突破创新;2)其他预估模型(包括粗排、重排、CVR模型等)借助精排CTR模型沉淀下来的迭代基建(包括特征中心和模型训练范式等)快速技术对齐,同时专注聚焦自身独有的技术问题进行深入优化;3)全链路各阶段进行紧密联动,打破局部优化的狭小境地。通过以上3个环节的全面发力,预估方向在过去一年取得业务提效和技术创新的双丰收。

考虑到阅读习惯,下文按照以下3个方面进行技术总结与展望:1)模型深耕:精排预估模型死磕技术瓶颈,勇于突破创新;2)模型联动:全链路多阶段预估模型充分联动拒绝局部优化;3)系统效能:系统优化和效能算法助力模型加速迭代。

3. 模型深耕 - 精排预估模型死磕技术瓶颈,勇于突破创新

精排CTR模型经过长年累月的迭代升级,已经处于非常高的技术水位,层出不穷的算法创新按照模型组成结构的特点来划分,可以分为Embedding Layer和Hidden Layer两个不同层面的优化。今年我们在这两个方向上持续探索,思考“前言”提到的问题1和问题2,取得阶段性创新成果**(详见下图)** ,使得整个CTR建模体系更加完善。同时,我们也开始以迭代精排CTR模型的决心和态度升级精排CVR模型,重点聚焦CVR建模独有的延迟反馈问题,和出价算法紧密结合,找到了业务提效的二次增长曲线,回答了“前言”提到的问题3。

3.1. Embedding Layer - 模型极致无损压缩打破算力瓶颈

作为《阿里妈妈搜索广告CTR模型的“瘦身”之路》的姊妹篇,本章将结合团队发表的CIKM2021两篇论文,详解我们在模型瘦身之路上的延续性思考与实践。姊妹篇已经总结搜推广的模型迭代开始步入“业务发展对算法提效的述求持续高涨与算法提效所依赖的算力红利日益消减”的矛盾深化时期,我们较为坚决地通过系统性的算法优化将模型迭代路径由“资源狂魔的大模型”逐渐转变为“资源友好的小模型”,打破模型迭代的算力瓶颈。数T模型摇身一变几十G模型,轻装上阵之后,多人多场景多模型多版本的“顺畅、效、敏捷”的迭代节奏又重新回来。

欣喜之余我们开始回顾与思考,纵然模型参数规模决定了信息容量和预估上限,但简单粗暴的“参数扩容”如果考虑到资源的投入产出比,那么边际效益会越来越不划算。偌大规模的模型参数必然存在着信息冗余和不利于泛化性表征的部分,这是可以被精巧设计和低碳瘦身的破局点。Embedding Layer在大规模离散稀疏特征场景下无论是规模还是效果均起到了主导性作用,自然而然模型低碳瘦身的关键也在于此。Embedding Layer形象来看就是一张二维big table,行方向就是对应Feature Volume,列方向就是对应Embedding Dimension,这两个方向的维度共同决定了Embedding Table的大小。我们正是从这两个角度分别展开优化:

3.1.1. [CIKM2021-BC] Binary Code based Hash Embedding

搜推广的模型和感知类的模型(NLP和图像等)有较大的差异,后者模型规模主要由Hidden Layer的参数所决定,但是前者基本和特征的规模成正比,所以从Embedding Layer的行方向即Feature Volume进行优化,会有立竿见影的效果。不同的特征域,值域范围有很大的差异,其中ID类的类别特征例如userid、queryid和adid等往往规模很大,且动态更新非常频繁,也是模型预估精度的基本保障。这一类特征常见的处理思路往往在无冲突表达和有冲突表达之间寻找平衡,背后的取舍就是在于信息表达是独占还是共享。

无冲突表达认为每一个id的独特性需要充分保留,通过参数分布式建设等系统能力的提升将所有id都做到一一映射,以One Hot编码方式为代表,这类方法对工程基建要求较高且需要设计复杂的特征准入准出策略来适应特征的分布动态变化,从而模型规模一直维持较为均衡的高水位状态。该方向为了可以进一步压缩Embedding Table,开始研究更为紧凑的编码方式。其中基于KD[1]编码的技术发展最为热闹,包括后面延伸出来的MCNE[2]、DPQ[3]和MGQE[4]等技术,核心思想就是引入编码和解码机制将一个大矩阵近似拆成两个小矩阵,从而达到模型压缩的目的。但是这一类方法拆解完的第一个小矩阵可以发现依然采用无冲突的id映射表达,这在高维且动态更新的实际环境中,参数规模依然不小且仍然需要复杂的特征更新换代策略,部署维护较为繁琐。

有冲突表达是指在有限的系统能力下牺牲一部分信息独特性,通过设计合理的共享组件使得模型规模保持恒定的低水位状态。冲突的设计分为两种模式,人为和随机。人为冲突设计一般以id的频次作为阈值,高于阈值部分依然保持无冲突的一一映射关系,低于阈值部分或者统一冲突到相同默认值、或者设计学习模式让低频和高频id产生关联[5]等。人为冲突模式阈值设置较为讲究,且特征动态准入准出使得表征切换不够平滑。随机冲突一般以Hashing Trick技术为典型代表,通过控制“模”长来控制模型规模,为了解决单Hash[6]的冲突率较高的问题,后面延伸出来MultiHash[7] 全局多Hash、HybridHash[8] 高频无冲突低频多Hash、QR trick[9] 互补商余法等技术都能够降低冲突率,使得id特征的信息独特性保留完整一些。Hashing Trick技术因为非参数化数据不依赖,实现起来较为简单,冲突率要是控制到位,模型压缩比和效果保留率之间可以取得不错的平衡。

考虑到系统简洁高效鲁棒性好,我们选用Hashing Trick技术路线作为实际算法迭代方向,并在姊妹篇中已经提到我们复现MultiHash技术且做了适配升级并开始服务生产。我们进一步思考,现有的Hashing Trick都依赖取“模”操作,该操作是产生冲突的主要原因。我们提出一种新颖的基于二进制转化的分组合并操作来升级取模操作,该技术BC(Binary Code based Hash Embedding)不仅能够做到理论上保持id表征的唯一性、大幅度降低冲突率,还能够统一现有Hashing Trick的实现方案,并且通过分组合并策略的调整能够适配不同模型压缩比从而适应不同场景的应用需求(例如端上模型等)。实践表明该方法能够获得极高的模型压缩比,依然保持较完整的模型预估效果。

论文 -> [CIKM 2021]Binary Code based Hash Embedding forWeb-scale Applications

3.1.2. [CIKM2021-AMTL] Adaptively-Masked Twins-based Layer

前文提到ID类特征是Embedding Table的重中之重,而且因为特征值域范围非常广,亿级别的ID量(userid、queryid、adid等)需要更高维度的Embedding来进行丰富的信息表征,实践中我们会赋予百量级的Dimension。常规Embedding Dimension的设置是固定且统一的,对于符合二八定律的ID特征来说(例如前20%的adid贡献了80%的展现)这种设置方案对于大量低展现的id来说不仅浪费存储空间还容易带来过拟合的次优效果。

目前有较多工作开始优化这个问题,我们梳理认为主要分为两类:基于规则和基于NAS(Neural Architecture Search)。基于规则的方法,例如GroupReduce[10]、Mixed Dimension Embedding[11]等,根据特征值的频次预先设计几个不同维度的可选项,基本原则就是高频高维度、低频低维度,这类方法过于依赖人工经验和粗暴的选择方式不容易获得最优解;基于NAS的方法,Automated Embedding[12]、NIS[13]、AutoDim[14]等,依赖一个训练以外的精心设计的超参搜索(不同维度可选项)策略,迭代效率较低且不支持“继承训练”(有别于从头训练)实用性较弱。

针对已有解法存在的改进空间,我们提出一种新颖的端到端自适应的Embedding Dimension选择技术ATML(Adaptively-Masked Twins-based Layer)。在原始Embedding上增加一个掩码转换层,该层引入先验的特征频次信息,借鉴条件计算的建模思想,利用松弛技术将离散维度选择问题转变为可微可导可直接SGD训练的高效模式,并且专门设计孪生门控网络有效缓解样本分布不均衡(二八定律)问题,使得模型具备高精度的Dimension选择能力;而且ATML技术对热启动需求友好,可直接应用在长时间训练到接近收敛状态的Embedding(实际应用中从头训练Embedding往往资源和时间成本非常高)。实践表明该技术不仅能够大幅压缩模型规模,在低频ID样本上还能进一步提升泛化性。

论文 -> [CIKM2021]Learning Effective and Efficient Embedding via an Adaptively-Masked Twins-based Layer

3.2. Hidden Layer - 寻觅用户行为建模方向以外新的技术增长点

3.2.1. 自适应动态参数精排模型 - 千X千模 AdaptPGM

近年来,作为预估模型中Hidden Layer部分优化最成功的研究领域之一,用户行为建模在用户兴趣挖掘方面做出了不少贡献,为千人千面的个性化算法能力提供了强有力的技术支持。全域行为、实时行为和超长周期行为等建模技术的创新层出不穷,我们也在这个优化方向上持续投入并为业务提效带来显著收益。但是随着技术体系的不断完善,技术红利的边际收益在逐渐递减,围绕着个性化算法能力的诉求,有些触及本质乃至有悖直觉的问题开始逐渐引起重视,让我们进一步思考背后可能的技术破局点。

现有大部分的用户行为建模工作的个性化能力均是体现在特征的千人千面上,模型仍然是千人一面,且直通车场景下30%活跃用户提供了70%训练样本,导致同一套模型参数非常容易受活跃用户的行为分布所影响,使得模型整体有偏(第一次听到这个观点是在三桐老师的一个讲座上,深受启发,但当时因为特征层面这一低垂的果实尚有较大的摘采空间,所以时至今日才开始重新审视这一问题)。另外,长期以来模型优化目标一直往个性化方向狂奔,我们需要反直觉地从更高维度反思个性化是不是用户电商需求的全部?随众和逐热也是用户在某些侧面的常见需求,尤其是搜索场,对于较为明确的搜索意图和用户新发起的搜索品类,也许大众型的热销款和经典款才更加符合用户现阶段的消费述求。所以我们认为下一阶段的模型能力,应该具备以下2个特点:1)千人千模,模型参数个性化且高效率解决学习分布有偏问题;2)模型根据流量特性自适应决定个性化能力的程度,使得集体认知和个性认知的合理交融。

目前有两类思路可以优化上述问题,1)基于Meta Learning技术,包括端智能和云端协同方案等,这一类方法虽然可以个性化定制模型参数,但是兴趣共性部分刻画不足且模型参数规模增长较大与用户数成正比,系统复杂性也是一个挑战;2)预定义模式,无论是隐式预设置Expert数的MMoE方案,还是显性基于场景预定义相应参数的STAR方案,这一类方法虽然可以很好地解决信息共享和私有之间如何合理分配与交互的问题,但是因为模型参数扩容的手段是基于人工先验设定,所以模型个性化精度有限且模型容量弹性与可扩展性不足。

针对上述两类优化思路存在的问题,我们提出一种新的基于条件计算模式的具备流量特性自适应能力的动态参数预估模型。新设结构包括两部分,参数动态合成器和参数条件生成器。1)参数动态合成器:模型结构的Hidden Layer参数不再是固定静态、全流量统一的,而是由一套共性静态参数和一套私有动态参数两者组合计算而成,这样可以协调处理信息共享和私有的交互问题,且组合形式可根据实际情况自由调整;2)参数条件生成器:上一点提到的私有动态参数不再是人工先验预设定,而是对流量特性相关特征进行在线实时推理、动态生成的,这样仅需增加较少的模型参数就可以大幅提升模型容量,且可根据不同粒度的条件选择策略调节模型个性化精度,另外实现上有借鉴矩阵分解的近似思想优化计算效率。

通过上述模型结构的全新设计,我们精巧地打开了模型参数容量的天花板,模型的参数规模往往决定了模型的能力上限,纵观历年来的模型提效之路,诸多流派和方法其实本质都是基于人对学习作业的深刻理解,合理地增加了一些模型参数,让模型往希望的学习方向针对性地生长。自适应动态参数生成法是相对经济且高效,通过较少的参数增量让模型具备了样本粒度的敏感性,分辨率更高,我们相信这个优化方向可以有更加深远的影响,不仅在精排预估模型,有机会再分享。

3.2.2. [SIGIR2021-PCFGNN] Pre-trained Cross Feature learning-GNN

交叉特征对于点击率预估模型而言至关重要,实际建模提效的过程会将交叉特征的设计分为两类:1)隐式语义建模,两个id特征共现交叉完对应的Embedding表征,例如<user_age,item_id>交叉特征对应的Embedding隐式语义向量;2)显式语义建模,两个id特征共现交叉完对应的历史统计值等,例如<user_age,item_id>交叉特征对应的显式统计历史14天CTR。

现有大多数方法(例如DeepFM、DCN等)主要聚焦在前者,通过模型结构的设计来充分拟合隐式语义表征;但很少有工作会通过模型结构设计来处理后者,事实上显式建模信号对CTR任务非常有效,是业界提效的“公开的秘密”。然而,直接利用交叉特征的统计值作为显性建模信号存在两大挑战:1)算法侧泛化性能较差,交叉特征的统计值依赖历史出现的共现特征,非共现特征表达无能为力;2)系统侧存储规模开销巨大,存储开销对应特征笛卡尔积的量级,在线需要配备额外的分布式存储引擎,通信时延又会进一步影响计算性能。

针对上述挑战,我们提出一种基于预训练图神经网络的交叉语义特征学习模型(PCF-GNN)。图节点表示特征,边表示交叉特征的历史交互信息,通过链边预测的方式拟合交互节点的边权重信息,从而显式建模交叉语义表征。我们在内部数据和外部公开数据上均进行了大量实验,实验结果表明该建模方案不仅可以大幅压缩模型存储规模,还能显著提升模型的泛化能力,取得不错的正向收益。

论文 -> [SIGIR2021]Explicit Semantic Cross Feature Learning via Pre-trained Graph Neural Networks for CTR Prediction

3.3. CVR升级之延迟建模新突破 - 蓦然回首下一个业务增长点

3.3.1. 完备无偏的CVR延迟反馈建模 - 项目代号“哪吒”

直通车作为以点击计费为主的广告场景,点击率预估模型固然极其重要,不断演进的机制策略均已CTR预估(pCTR)准度为前提且pCTR在机制公式中占据最主要的地位。每一次CTR模型升级带来不同维度的准度提升都会使得机制策略更加合理,从而业务指标就会提升,提效是立竿见影的。所以过往CTR模型的优化承载了太多责任与重视,但是单点优化总会遇到增长乏力的那一天,即使作为C位的CTR模型也不例外,越来越高的技术水位使得如今每次优化升级都需要精雕细琢但依然边际效益越来越低。我们不禁发问,还有尚未精心开垦的技术洼地能够让业务二次增长吗?蓦然回首,身边的转化率预估模型(包括泛转化预估,收藏、加购、入会等)就是答案。

为什么说转化率CVR预估模型可以让业务效果二次腾飞呢?两方面视角来看,1)直接收益视角,虽然机制策略公式中pCVR的因子权重占比非常低,但是pCVR直接影响bid的智能调价,而智能调价算法灵不灵对于pCVR的准度要求和机制策略对于pCTR的准度要求是一样的苛刻,所以更准的pCVR可以借助智能调价算法帮助广告主以更合理的高出价拿到优质流量,从而平台也能获得相应收益;2)间接收益视角,增加预算是流量变现另外一个重要思路,对于直通车效果类广告而言,广告主非常关心转化和投入产出比,而CVR模型的升级对于这两项指标提升非常助益,效果好了广告主才会愿意加大预算投入,这样平台的收益才能打开天花板。

综上,技术服务于业务,一方面随着大淘宝流量越来越稀缺,任何一个流量贱卖都是一种罪过,另一方面广告主对于用户电商链路上的多行为报价述求也越来越强烈,所以转化率预估模型必然会成为下一个技术发力点,助力业务增长。我们以优化CTR模型的决心和态度重新拾起CVR模型的升级之路,基于过往CTR模型优化沉淀下来的较为成熟的迭代基建,我们将CVR模型能力快速对齐CTR模型技术栈,取得了业务方面老树开花的新局面。于此同时,我们开始关注CVR模型和CTR模型的差异之处,延迟反馈(转化行为不是即刻发生,分钟、小时、几天不等的延迟周期)是CVR模型独有的特点,我们不仅在算法理论方面有新突破,在ODL链路建设方面也是艰难攻克,使得CVR建模技术又往前走了一步。

延迟反馈的优化本质是在样本的时效性和label的准确性之间做平衡,传统优化延迟反馈有两个思路,1)设计时延模型来判断成交是否发生在观测窗口外,联合建模从而起到label纠偏,但是时延建模较为困难且稀疏宝贵的延迟正样本未有效利用,工业界应用较少;2)工业界主流的方法是基于样本回补策略,通过重要性采样(Importance Sampling)技术进行样本分布纠偏,现有的FNC/FNW、ES-DFM、DEFER等技术都是通过设计不同的回补策略衍生出不同的重要性采样权重表达,从而起到部分纠偏效果。我们延续工业界工作深入思考,发现已有方法由于未考虑回补过程引起的标签值变化,使得单纯考虑分布调整是无法做到真正意义上的无偏估计,我们不仅理论上完整证明,还专门设计了一套基于标签修复的完备无偏的延迟反馈模型。后续有机会详细分享。

项目代号“哪吒”的含义:哪吒的技能三头六臂,寓意转化&泛转化类多目标任务多头的形象特点。

4. 模型联动 - 全链路多阶段充分联动打破局部优化

全链路多阶段预估-排序-截断的漏斗结构是目前大规模搜推广场景主流的系统架构,粗排、精排和重排各自为政,按照既定目标负责好自己环节的预估任务即可。但是各阶段的自由发展拿完最容易采摘的低垂果实之后,诸多问题开始突显:1)发展阶段的不同使得各环节模型能力参差不齐,提效会出现相互拖累的现象;2)数据-特征-模型等重复建设,不仅耗费本身就捉襟见肘的资源,还会出现各环节应用没对齐的现象;3)虽然有些外围的全链路优化工作开始展开,但目标联动不够紧密,改造力度不够深入,使得跨越局部优化的愿景仍然较难转化为实际业务提效。

为此,今年我们开始全链路统一布局和规划预估模型,消除低成本的竞争和高耗能的重复建设,专注各阶段差异化优势和全链路内在紧密的联动红利。数据通、基建通和策略通是基础,我们联合工程同学一起全面改造预估服务(详见下图),取得阶段性的业务收益,系统性能的大幅提升也正在路上,这部分以后分享。同时在互通互联的基础上,我们关注以下三方面的算法建设:1)前链路和后链路要互相看,包括结果和中间信息;2)曝光样本和未曝光样本在各环节要妥善应用;3)创意优选和广告排序要紧密融合。

4.1. 粗排和后链路的联动 - 项目代号“刘备”

全链路多阶段排序-截断-漏斗框架是目前大规模搜推广场景的主流系统框架,在优化目标一致的情况下,考虑到系统性能约束,排序链路会分成粗排、精排和重排等环节。粗排阶段作为召回和精排之间承上启下的重要环节,一方面要求高性能地统一衡量多路根据不同指标召回的ad,另一方面要求高质量地为精排模型提供优质ad。广告场景的每个排序阶段都是由预估模型、出价策略和机制策略所组成,粗排阶段也不例外。传统做法是点对点分别向精排技术栈对齐,其中预估模型就是沿着这个优化方向持续迭代了多轮,每一次升级都是为了更好地平衡效果和效率。我们在SIGIR2021发表的新粗排模式提出通过引入计算性能指标作为参数先验知识,将粗排预估模型由表征式建模升级为交互式建模(更加贴合精排预估模型结构),设计新的兼顾效率的特征选择技术,使得效率和效果达到极致平衡。

论文 -> [SIGIR 2021]Towards a Better Tradeoff between Effectiveness and Efficiency in Pre-Ranking- A Learnable Feature Selection based Approach

但是点对点孤立地向精排技术栈对齐的优化思路(预估模型、出价策略和机制策略分别向精排靠齐)在计算性能约束的前提下有其内在的迭代瓶颈。本质而言,广告场景下基于后验的优化目标(营收最大化或者社会效益价值最大化等),出价和机制策略对预估模型的准度要求很高。精排技术栈的坚实基础就是精排预估模型高精度的值预估能力,但是粗排阶段由于特征和模型复杂度有限,粗排预估模型的值预估能力天然存在较低的天花板,使得依然沿用基于后验的优化目标建设的出价和机制策略存在较大的优化空间。于此同时,前链路的一些特性会进一步加剧次优状态:1)粗排预估模型会面对更加广阔的候选集合,预估值准度会和后验分布有较大差距;2)出价和机制公式涉及到的超参优化由于链路较长,使得反馈调节难度加大。

我们进一步思考,照搬精排设计的出价和机制策略存在设计过度的嫌疑,前链路尚未涉及到坑位分配、行为计费和失准赔付等,所以出于均衡态势下后验指标最大化的考虑应该是过于严苛的,那么对于预估模型的准度要求也是可以适当放宽的。于是,我们保留出价和机制策略中适合前链路的部分特性(例如出价方面保证智能调价的方向与pcvr单调,机制方面保证序的调整方向与bid单调等),融合预估、出价和机制三方面的能力,设计粗排阶段的端到端排序模型,优化目标由直接面向后验效果调整为排序能力和后链路对齐。反过来想前链路优化目标与后链路对齐这件事儿,因为最终的排序结果是有后链路所决定,所以前链路按照自己的理解无论怎么排序都影响不了最终结果,更何况自己做不好还会导致截断供给给后链路的质量较差,倒不如相信后链路的排序能力。

这里需要额外重点强调一下,排序不是广告技术的终极法门,现有的排序方案是基于一套完备的拍卖理论推导和化简出来的一种经济高效的实现方式而已。《MechHME:面向搜索营销生态健康的机制设计》详细介绍了对带约束的线性规划问题进行对偶松弛的变换推理过程,最后按照rankscore进行从大到小分配就是一种最优分配策略。事实上,结合商业化特性的集合组合优选技术会是一种更优的分配策略,我们仍在探索完善中。这里依然是在传统的基于rankscore排序的技术框架下介绍我们进一步的改进工作。

基于数据驱动的具备商业化特性的端到端粗排排序模型RDPR(Ranking Distillation based Pre-Ranking model),有以下特性:1)采用ranking distillation技术,直接面向后链路rankscore(综合后链路的预估、出价和机制的复杂特性的最终排序分,包括pv和unpv数据)的排序结果进行学习,由于引入unpv数据所以对未充分曝光的样本友好即更加适合粗排阶段;2)整体模型架构依然采用级联模式,前半部分增加用户真实反馈ctr的loss约束,减小求解空间,提升求解效率;后半部分设计单调网络保证排序与出价之间的正向激励关系,满足商业化特性。实践的第一版,考虑到效果的稳定性,做了一些实现上的取舍,例如级联模式的设计、仅考虑营收最大化、自动调价部分尚未囊括等,后续会进一步完善系统实现。

项目代号“刘备”的含义:三国杀中刘备惟贤惟德的技能,给同伴发他想要的牌,辅助助攻的角色,寓意粗排给后链路推送优质候选集合。

4.2. 精排和重排预估的联动 - 项目代号“先知”

广告系统的重排阶段作为全链路多阶段排序的最后一站,商业化属性最强,有一套完整的基于拍卖理论的多目标优化机制,简单来说就是在满足一系列约束(例如买家体检和商家营销诉求等)的条件下使得平台营收最大化,且在分配和计费策略上需要具备激励兼容等博弈均衡的性质。这一套机制策略运行是否良好非常依赖预估模型的预估值的准确性,所以重排预估模型的优化非常重要。

实际常见的广告重排系统的业务逻辑是先分别获得商品引擎和广告引擎的排序结果,然后在不改变商品排序的情况下决定将广告插入哪个位置,不同的位置对应的外部性(商品对于广告就是外部性信息)上下文信息也不同,从而进一步调整广告内部的序关系,最后将商品和广告的融合结果返回给前端。其中不同的位置和不同的外部性上下文对当前广告的点击率影响非常大,传统的优化方向就是对重排预估模型进行改造升级,使得这两部分信息可以更加合理的应用(例如Transformer结构等)。但是受系统计算性能约束,重排预估模型的打分候选集合非常有限,导致能够发挥的空间并不大,于是几轮优化迭代下来,技术就遇到了提效瓶颈。

我们思考最理想的情况是将上述和预估准度紧密相关的两类信息(位置和外部性上下文)在更大的候选集合上建模生效,所以既然单独重排预估模型受性能所限较为困难,那是否可以借助精排预估模型的能力圈?但是这两类信息对于精排预估模型而言都是事先未知的,运用起来挑战非常大。为此我们提出新的解决方案,通过增强版的具备先知能力的精排模型与重排模型联合训练的方式来打破提效瓶颈:联合训练就是系统层面保证精排模型的中间隐层和最后输出可以与重排模型互联互通,使得重排模型无需引入额外的原始信息,增强数据复用、提高计算效率;而增强版的具备先知能力的精排模型主要体现在以下两个方面。

位置信息的先知性。无他,合理高效地暴力遍历。在广告业务场景的分坑位拍卖机制下,不同位置的点击率会直接影响广告主的付费成本。所以不管是何种解位置bias的优化手段,最后都要求把真实位置特征带上,而且实际迭代会发现位置特征出现在模型底层,效果是最优的。最后我们依然延用【算力极致释放】提到的分化网络结构,结合推理引擎的优化,踏踏实实地将每个位置的价值都计算了一遍。

外部性上下文信息的先知性。广告引擎的精排阶段是无法提前知晓商品引擎的排序结果(重排阶段才能知晓),我们数据分析发现虽然精确地知晓具体的商品非常困难,但是泛化性的信息(价格、品类和关键属性等)还是可以根据流量特性(搜索词特征和用户特征)来揣测商品引擎的大体返回结果。基于这个业务感知,我们借鉴知识蒸馏和生成对抗的思想,设计针对外部性上下文的生成网络子结构,使得精排预估模型能根据当前流量特性具备一定的先知性。

项目代号“先知”的含义:黑客帝国中Matrix之母先知(Oracle),寓意空间和时间维度均能够掌握足够多的信息,精排预判重排的外部性上下文信息。

4.3. 创意优选和广告排序的联动 - 项目代号“万花筒”

创意在广告系统中非常重要,好的创意就是要把商品的核心卖点以非常有吸引力的形式展现在用户眼前,对于点击率影响很大。一个完整的创意投放系统包括创意生成、创意优选和投放策略三个环节:1)创意生成要求系统能够透彻地理解商品,将商品核心卖点包装成创意元素,丰富性很关键;2)创意优选要求系统能够深刻地理解消费者的购物意图,从众多创意候选集合中挑选出匹配度最高的创意展现给用户,精准性很关键;3)投放策略要求系统能够低成本高效率做好新老创意的频繁更迭,探索和利用的平衡性很关键。今年直通车在创意优选环节持续深耕,将广告内部intro-ad的创意优选和广告之间inter-ad的广告排序进行深度结合,打开CTR预估的新空间。

现阶段通常inter-ad的广告排序已经做到千人千面,使得不同用户看到不同的商品,流量匹配效率最大化。结合intro-ad的创意优选能让个性化能力更为极致,使得不同用户看到的不同商品,展现形式还有所不同(不同用户对相同商品的核心卖点关注点不同),流量变现效率更上一层楼。但是极致个性化在效率和效果两方面都面临巨大挑战:1)如何高效率支持在线大规模创意实时优选?2)如何提高多模态融合的学习能力保证优选质量?我们在系统架构层面和模型结构层面都做了相应升级,取得不错实验效果。

4.3.1 系统架构升级:Cascade Architecture of Creative Ranking

直通车创意按照产品形式来分,包括白盒创意、黑盒创意和灰盒创意:白盒创意是指广告主自主上传的素材和内容,黑盒创意是指系统自动生成的模板和元素,灰盒创意是指系统基于广告主自主上传的素材再智能生成完整创意。一个完整的创意由一套模板样式所决定,模板样式选择包括图文、短视频或者直播等,在模板样式确定的前提下再由各种元素按照既定布局进行排列组合而成,例如图文模板需要挑选搭配合理的图片、标题和摘要等。上述产品逻辑使得一个ad会有多种创意,素材的组合计算空间非常大(例如元素之前的叉乘关系:白盒+黑盒 & 图片+标题),给计算性能强约束的在线优选环境带来不小压力。

传统系统架构往往将创意优选环节安排在广告排序链路的最末端,这样在广告排序完的展现集合上进行创意元素的组合优选,候选集合规模可控,在计算性能影响不大的情况下获得部分极致个性化的能力,弊端就是最优的创意内容无法让排序链路感知到,使得广告排序并非最优状态。去年我们尝试将创意优选嵌入到排序链路中,和精排预估模型相融合,通过分化网络的结构设计缓解算力瓶颈,从 而在满足计算性能的前提下取得不错的极致个性化能力。但带来的问题也非常明显:1)模型设计较为复杂,精排模型既要负责创意优选又要负责ad预估,算力冗余、耦合性强、预估能力相互制约;2)算力瓶颈依然存在,导致创意优选的候选集合规模很小(实际上线只有4组),需要通过离线策略剪枝进行妥协。

针对上述问题,今年我们对整个系统架构做了全面的升级,依然坚持要将最好的创意让排序链路充分感知,但同时又要有可观的算力支撑大规模的创意优选候选集合。我们提出Cascade Architecture of Creative Ranking架构,将创意优选模块独立出来,放在精排预估模型前面,且采用经典的双塔结构全职且高效地负责intro-ad的创意优选工作(仅挑选创意优选相关特征),同时级联结构会将最优创意以数据或中间结果形式共享传递给精排预估模型,使得精排预估模型能充分感知创意内容,提升inter-ad的排序效果。该架构可以高性能支持在线大规模创意个性化优选,解决前文提到的第一个挑战。

4.3.2 模型结构升级:Adaptive DropNet

无论是intro-ad创意优选还是inter-ad广告排序,都涉及到如何设计一个简洁高效的多模态融合结构做好内容信息的建模。传统多模态处理方式能够较好地解决图像和文本等内容侧的融合,但是实际建模中遇到的问题更多的还是如何处理好id特征和内容特征的交互问题。id特征(创意id、元素id等)作为预估精度的可靠保障,不可或缺,但其不足是一方面需要有充分的样本支撑,另一方面本身泛化性较弱。简单地引入内容特征,并不能显著改善泛化问题,且在id特征的强势影响下,内容特征会被弱化,导致模型无法充分学习到内容本身质量的好坏。

对此,我们在创意优选模型和精排预估模型都设计了Adaptive DropNet作用于id特征,出发点是为了在模型训练阶段,以一定的概率丢弃id特征强迫模型独立学习内容侧特征的重要性,而且将id特征的曝光量作为dropout的概率先验,使得曝光量越大的id丢弃率越高,减少id特征对内容特征的影响。通过该模型结构的升级,不仅依赖id特征保留模型的高精度,还充分挖掘到内容侧特征孰重孰轻,提升模型泛化性,保证创意优选结果的高质量,解决前文提到的第二个挑战。

项目代号“万花筒”的含义:万花筒的特点是五彩斑斓,图形组合五花八门、自由变换,寓意创意元素的组合优选和万花筒一样多彩缤纷。

5. 系统效能 - 模型迭代新范式新时速

这几年深度学习蓬勃发展离不开算力红利的加持,但是所谓的算力红利我们需要高分辨率来看,狭义的计算算力尤其是AI硬件GPU/NPU/TPU等确实遵循摩尔定律迅猛增长,但是存储(内存和显存等)和通信能力(内存带宽和网络带宽等)却严重拖后腿。所以深入剖析广义算力的组成结构,我们会发现算法的发展其实一直受到存储和通信瓶颈的制约。于是,训练加速的关键就是提高计算/通信比,增加计算占比或者降低通信占比,这样才能持续打破算力瓶颈。

传统PS架构一直以来通信占比居高不下,随着高性能计算的兴起,如何不让通信成为瓶颈、可以充分利用上高配置硬件的计算能力是下一个算力增长的破局点。专门针对搜推广大规模稀疏模型特点设计的全新的Ring-AllReduce和ALL2ALL等架构因为对通信开销更加友好开始在业界盛行开来,包括NVIDIA的HugeCTR、腾讯的DES和百度的HierPS等。XDL团队在XDL2版本中也开始研发和推进高性能计算HPC同步训练模式,同时双方紧密合作我们从算法视角去设计和实现更加兼容与适配的模型结构与训练范式,使得训练加速比迈向新台阶。

首先前文有介绍我们将预估模型的底座Embedding全面升级成多hash模式,使得模型规模大幅度降低,生产主模型压缩至30G,这样使得HPC模式下GPU显存可以完全塞下,大部分OP可以直接在GPU上实现,使得CPU-GPU的通信开销可以节省。在此基础上,我们做了很多加速优化的工作:1)增加计算占比方面,我们采用大Batch模式,且设计专门的优化器使得同步大Batch模式效果能够持续稳定,另外将部分算子的实现逻辑进行等效变换降冗余等;2)降低通信占比方面,我们实现多hash的等效实现模式和通信fp16量化等。经过算法和工程全面且深入的性能优化,直通车的模型迭代有了新时速,目前进度是每天40亿样本的主场景,训练加速比30的时速不再遥不可及。

项目代号“索尼克”的含义:索尼克卡通形象,小巧飞速,寓意模型能力精悍小巧且训练速度非常快。

6. 总结与展望

直通车作为老牌劲旅十年来能够一直保持每年两位数的业务增速实属不易,每年开玩笑都觉得要做不动了,但是每年都有新突破。上述内容仅仅是最凝练的思考部分,而不是提效全部。提效的背后是我们沉下心来躬身入局看数据、看业务、看系统、看算法,细节决定成败。Elon Musk在SpaceX基地的一次采访中关于研发方法论他的论述非常精彩:1)设计要简洁合理;2)保证流程正确性;3)开始优化;4)加速迭代;5)自动化。仔细想来,最朴素的成功法门往往最容易被忽视,我们努力依此践行每一次可持续的提效迭代,让直通车走的更远。

7. 压轴大戏

团队目前有大量社招hc,可年前聊年后入职,欢迎对预估模型方向感兴趣和有经验的同学一起来搞事情!

另外还有2个面向博士生的日常实习生hc,每一届实习生我们都是用心培养,欢迎前来体验!

简历投递:pengjie.wpj@alibaba-inc.com


本文地址:https://www.6aiq.com/article/1641336937112
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出