精华内容
下载资源
问答
  • Google 展示广告

    2021-07-10 21:04:44
    1、Google 展示广告的价值主张 意图信号精准 效果可衡量 广告系列设置简单 覆盖范围极广 2、智能型展示广告系列的三大自动化要素是什么? 自动定位 自动制作广告素材 自动出价 3、Google Ads 如何助力...

    1、Google 展示广告的价值主张 

    1. 意图信号精准
    2. 效果可衡量
    3. 广告系列设置简单
    4. 覆盖范围极广

    2、智能型展示广告系列的三大自动化要素是什么?

    1. 自动定位
    2. 自动出价
    3. 自动制作广告素材 系统会自动利用您提供的广告组成要素(如标题、广告内容描述、徽标和图片)生成广告。这些广告采用自适应设计,能适应展示广告网络上的几乎全部广告空间。

    3、 Google Ads 如何助力您达成业务目标。

    提升销售额:提高线上销售额、应用内销售额、线下销售额和电话销售额

    挖掘潜在客户:吸引用户采取行动,提高转化次数。

    增加网站访问次数:吸引目标受众访问您的网站。

    影响钟意度:吸引用户了解您的产品和服务。 (自定义的意向受众群体,有具体兴趣的受众群体,类似受众群体)

    培养认知度:覆盖广泛的受众群体,尽可能提高曝光率。(兴趣相似的受众群体定位)

    推广您的应用:吸引更多用户安装您的应用并与之互动。

    4、Google Ads展示广告构建的三大原则来 :相关性、控制权和成效。

    5、每种 Google Ads 广告系列类型都可以帮助您达成您的特有业务目标。分别是

    • 展示广告系列:在用户在线浏览感兴趣的内容时提升品牌认知度。
    • 购物广告系列:宣传您的产品,分享您的产品目录详情以及为您的网店或实体店增加流量或客流量。
    • 搜索广告系列:在用户搜索类似产品或服务时吸引他们在您的网站上采取行动。
    • 视频广告系列:大规模覆盖您的目标受众群体,将您企业的故事生动道来。

    6、如果没有数据 Feed,可采用标准再营销

    7、Google 展示广告支持使用哪两种再营销选项?动态再营销 标准再营销

    8、什么是自动出价?影响的关键因素:效果、竞价、用户转化历程的复杂性

    9、Google Ads 自动出价的优势:

    1. 机器学习
    2. 节省时间
    3. 实时出价
    4. 所用信号的深度及交叉分析

    10、Google 展示广告系列支持使用哪两大广告格式?

    • 自适应型展示广告
    • 上传的广告

    11、使用自适应型展示广告有下列哪些好处?

    • 优化广告效果
    • 扩大覆盖面
    • 节省时间
    • 可与动态再营销结合使用

    12、效果规划师的组成部分?

    • 预测

    • 模拟

    • 机器学习

    • 验证

    13、Google Ads 效果规划师工具的主要目标是什么?

    它可以帮助您预测和确定预算,同时还可以提高您的投资回报率。

    14、Google Ads 自动出价的优势

    •  实时出价  利用竞价时出现的相关信号,根据每位用户所处的独特情境相应地进行出价

    •  机器学习 整合了丰富多样的信号,并将新出现的信号也纳入考量,以此来综合评估用户意向

    •  节省时间 通过自动完成更多手动任务,减轻营销人员的压力

    •  所用信号的深度及交叉分析 依托算法针对每一次竞价设置合适的出价

    15、自定义的意向受众群体。具体兴趣受众群中没有想要的受众群体,则可以使用自定义的意向受众群体

    16、自适应型展示广告的机器学习模型为您的广告位确定最合适的素材资源组合时,依据的是根据既往的效果数据作出的预测

    17、兴趣相似的受众群体 定位选项最有助于提高品牌认知度;采用“目标展示次数份额”出价策略;

    自定义的意向受众群体 定位选项最有助于影响钟意度。采用尽可能争取更多的点击次数

    18、选择标准展示广告系列,而不是智能型展示广告系列,可控性更强

    展开全文
  • 来源:DataFunTalk 本文约6500字,建议阅读15分钟本文将介绍校准算法在阿里妈妈展示广告中的应用和演进,将从背景介绍、校准算法演进、工程实践以及总结展望四个方面展开介绍。分...

    24bc4737e83aa6104f6545725b1e363d.png

    来源:DataFunTalk
    
    本文约6500字,建议阅读15分钟 本文将介绍校准算法在阿里妈妈展示广告中的应用和演进,将从背景介绍、校准算法演进、工程实践以及总结展望四个方面展开介绍。

    分享嘉宾:黄思光 阿里 高级算法工程师

    [ 导读 ]校准技术是可信机器学习领域的一个研究分支,它能够改善机器学习模型在预估准确度和置信度方面的不确定性,在医疗诊断、气象预测、自动驾驶以及计算广告领域具有重要的应用。本文将介绍校准算法在阿里妈妈展示广告中的应用和演进,将从背景介绍、校准算法演进、工程实践以及总结展望四个方面展开介绍。

    01 背景介绍

    首先介绍校准的概念,并举例说明在计算广告中为什么需要对预估值进行校准。

    1. 预估技术的挑战

    b8be540dead407947849af46353aa3d2.png

    用户行为概率预估技术(点击率、转化率、短视频3s曝光率等)是搜索、推荐以及计算广告领域的核心技术能力。随着深度学习技术的发展,预估模型在过去几年中也经历了快速的迭代,不断向更庞大、更精细、更准确的方向演进。但是预估模型真的变得更准确了吗?不失一般性,我们以计算广告中的点击率预估模型为例,思考以下几个问题:

    ① 用户的真实点击概率是可以被准确观测的吗?

    点击率是指“用户在某个时刻对曝光广告进行点击的概率”。理论上每条流量都存在一个潜在的点击概率,从统计意义上来讲,如果存在平行空间将广告曝光给某个用户的事件重复多次,则可以根据大数定律将用户的点击概率估算出来。但是在真实世界中,我们能且仅能观察到事件的单次发生(点击与否),所以是无法准确观测到任意样本的真实点击概率的。

    ② 点击率预估模型的准确性偏差原因是什么?

    因为真实点击概率是不可以被准确观测到的,所以点击率预估模型也不能直接对点击率进行回归预测。现有点击率预估模型通常从统计视角对问题进行抽象和简化,假设特征和点击事件的联合分布服从某种函数形式(不同模型的假设分布不同),然后以Data-Driven的方式训练模型,实现对点击率的预测。但是该预测值是对真实点击概率的猜测,其预估偏差根本取决于分布假设与实际情况的差异程度,并受限于模型的真实学习效率。

    ③ 预估模型的准确性如何度量,AUC指标是足够的吗?

    我们无法对预测结果从单样本粒度来度量其准确性(真实点击概率的不可预测性)。AUC是一种退而求其次从宏观层面对样本的比较关系进行度量的指标,反映了预测序关系对真实序关系的逼近程度。但是它无法表征预估值的“大小准确性”。大小准确性是指,如果广告点击率是1%,则意味着广告曝光10000次后将有100次被真实点击。如果低于100次,则意味着模型高估,反之则意味着模型低估。所以仅仅考虑序关系是不全面的,校准技术在本质上是一种在现有模型基础上进一步优化预估值大小准确性,使其尽可能逼近(近似)真实值的技术。

    2. 预估值大小准确性在计算广告中的必要性

    在计算广告中,模型预估值大小准确性的优化(预估校准)在出价准确性、稳定性(包括算法出价oCPX/Auto-Bidding等)、竟价公平性,计划冷启动等方面发挥重要作用。以下举两个简单的例子进行简要说明:

    766e8158955525bdfab8b4a11c7dc54f.png

    • 例1:纯CPC竞价的广告模式

    如上图所示,广告竞价排名由平台期望收益eCPM决定,ad3的pCTR为1.0%,排序为3。如果ad3的pCTR被高估30%,则eCPM将从10变为13从而获得展示机会,从而导致ad3的拿量能力变大,但平台的期望收入降低。

    • 例2:CPC(AD2&AD4)&CPM(AD1&AD3)广告混竞的模式

    如上图所示,如果AD2的pCTR从1.1%被高估到1.2%,那么在GSP拍卖机制下,仍然是AD1赢得曝光机会,但是其扣费却从11变为12,导致AD1被多扣费,平台收入增加;反之,AD1如果从1.1%被低估为1.0%,则AD1会被少扣费,平台收入产生折损。

    以上两个例子说明在模型预估值大小发生偏差的情况下会明显导致广告主或平台的收益受损。除此之外,随着广告业务形态的发展,更多的场景对模型预估值大小准确性提出了挑战,包括:① 多种Bid类型混竞:CPC、CPM、算法智能出价(Auto-Bid)、智能调价(OCPX)等Bidding方式繁荣发展,混合竞价,预估大小准确性和稳定性直接影响出价;② 多物料混合:图文、直播、短视频等各类内容形态广告混合,不同物料上的预估水平参差不齐;③ 广告与推荐流量混排:广告和推荐(自然)内容有各自独立的打分逻辑,预估大小的量纲和分布统一是能够保证混排公平性和高效性的基础。所以,预估值大小的准确性在广告领域至关重要。

    3. 校准目标及其相关工作

    • ① 校准目标

    校准技术的目标是:使用户行为的预估值尽可能逼近真实概率值。具体形式化表示如下,其中X为基础预估模型的输出空间(如预估点击率),Y为实际用户行为(如点击与否),f(x)为校准函数,f*为最优校准函数。在实际应用中,优化预估值大小准确性的同时,也会保证整体排序水平不会下降。

    2d3ca153c7fb97606834a594e91278ac.png

    • ② 相关工作

    现有预估模型在预估值上的不确定性,导致在实际应用中缺乏可信度(trustworthiness)和可解释性(interpretability),会导致次优结果甚至错误决策的风险,校准技术最早在气象预报和医疗诊断领域被提出和应用,近几年进一步延伸到自动驾驶和计算广告领域。具体校准方法总的来讲可以分为两大类:

    第一类是尝试将导致模型预估偏差的因素(如假设分布偏差等各类先验信息)反向引入特征处理或损失函数中,端到端优化预估值大小。

    第二类是后处理方法(Post-processing),即在基础预估模型的基础上串接一个校准模块,以后处理的方式得到校准结果。这种方式更具灵活性,是目前研究和应用最为广泛的形式。常见的后处理校准方法包括:Histogram Binning(将样本分为多个桶,每个桶内的样本Label均值作为该桶每个样本的校准结果)、Isotonic Regression(学习一个保序函数作为校准函数,它能够保证校准后的结果和基础模型预估值的排序能力是一致的)以及Scaling方法(基于某种参数化分布函数学习预估值到校准值的映射)等。近几年,也发展出上述方法的结合算法,并对校准技术进行了理论验证,本文不做过多展开,详细可参考:

    https://github.com/huangsg1/uncertainty-calibration

    阿里妈妈的校准技术采用的是后处理方式,主要考虑以下两点原因:1.我们希望在不改变已有基础预估模型的前提下,将校准技术解耦,做成灵活可插拔的形式;2.端到端的方法难以快速响应线上分布的剧烈变化,在阿里大促活动中线上环境的频繁变化是常态,更需要具备轻便灵敏的模型校准能力。

    • ③ 后处理方法的关键技术问题

    前面提到在实际环境中是无法观测到样本的真实点击概率的。但是我们可以采用近似的方法去逼近:针对观测样本,将各类特征相似的PV作为一个类簇,统计该类簇的整体点击率作为其中所有PV的真实点击概率(当类簇的数据量高于阈值时才认为是置信的);然后采用线性或非线性函数进行预估值和真实值的映射,该映射函数就构成了一种轻量级的校准函数。在这个过程中如何选择合理的类簇划分方式进行PV聚类就成为了问题的关键。经典的Isotonic Regression和Binning校准算法本质上是按预估值的大小进行样本划分,这种划分方式基于的假设是类簇划分精度的好坏与模型预估值的大小有关(或模型对于相近预估值大小的广告会具有相似的预估误差)。

    在实践中我们发现校准维度越精细,越有利于产出准确的校准函数,但同时样本量也变的稀疏,当数据量不具有统计意义时,反而会降低校准函数的准确度。所以算法设计中需要进一步权衡校准维度选择和数据稀疏的问题,我们的算法演进之路也是不断解决这两个问题的进化之路。

    4. 校准评价指标

    在介绍校准算法之前,先介绍一下校准效果的度量指标。

    • ① Predict click over click (PCOC)

    PCOC指标是校准之后的点击率与后验点击率(近似真实概率)的比值,越接近于1,意味着在绝对值上越准确,大于1为高估,小于1为低估,是一种常用的高低估评价指标。但是PCOC存在一定局限性,举个例子:2万个样本,其中1万个样本的预估概率是0.2,后验概率是0.4,计算出PCOC是0.2/0.4=0.5,是显著低估的,另1万个样本PCOC是0.8/0.6= 1.3,明显是高估的。所以校准效果并不好,但是样本放一起看,校准后概率是(0.2+0.8)/2=0.5,后验概率是(0.4+0.6)/2=0.5,整体PCOC是1.0,表现完全正常。所以单一PCOC指标不能表征样本各维度下的校准水平。

    99832346027ee564f2c14a9289d52933.png

    • ② Calibration-N(Cal-N)

    针对PCOC问题,我们设计了一个新的指标Cal-N,将样本集合按照自定义规则划分出多个簇分别计算PCOC,并计算与标准1的偏差作为校准误差。相比PCOC,Cal-N显然能够更好的表征细粒度的校准水平。

    d0e42077fe8bf51b7f3f80159303af51.png

    • ③ Grouped Calibration-N(GC-N)

    在广告领域中,通常会重点关注某一维度下的校准效果(如广告计划维度)。我们进一步提出了GC-N指标,能够在Cal-N基础上自定义各维度权重。

    8a5cf948b241ef5c2860fb09eb1d1953.png

    以上是对校准背景、概念、相关工作以及评价方法的简单介绍。

    02 校准算法演进

    从18年以来我们开始在校准算法上不断创新,实现了对点击率、转化率、收藏加购率、关注率等各类预估指标的校准能力。整个迭代路线以实际业务需求为导向,以轻量级、通用性和灵活性为设计目标。接下来详细介绍我们提出的各类校准方法。

    c14335ae5768ee3b3bbebda9d20306b3.png

    1. 保序回归平滑校准算法(Smoothed Isotonic Regression,SIR)

    c8d6578a2ca6927a8de140ad3dd150e7.png

    SIR算法是18年提出的,如上图所示,我们结合了Binning、Isotonic Regression和线性Scaling方法。具体思想为:模型原始打分相近的PV具有近似的真实点击率,PCTR大小区间可作为一个合理的校准维度(分桶);分桶数据量稀疏时,进一步利用模型本身的排序能力,对各分桶后验点击率与模型预估点击率做保序处理(保序回归);最后使用单调平滑函数拟合模型原始打分和后验点击率的映射关系(线性Scaling)就得到了校准函数。该算法的优势在于充分利用了保序和平滑思想缓解了数据稀疏的问题,而且具备轻量级和可解释性特点。对比各类校准算法效果如下(AB是两个数据集),在实际应用中RPM、CTR以及广告主ROI均有显著提升(详细可见论文:Calibrating user response predictions in online advertising)。

    6ccdc94d7feffdcc135eba2e00c94c51.png

    2. 贝叶斯平滑SIR校准算法(Bayes-SIR)

    97fdbf3e1fbdbe0ad710694f7444822b.png

    在SIR算法应用中,我们发现广告计划投放初期校准效果明显差于平均水平,并在实际业务中造成以下问题:1)影响新建计划初始阶段的投放表现;2)影响强时效性广告的全生命周期效果;3)小客户在整个投放周期里数据一直稀疏,得不到准确的校准,影响竞价公平性。这是SIR校准算法的冷启动问题,我们采用了Bayes平滑的思想进行优化(贝叶斯平滑方法最早在雅虎的一篇论文里面中提出,用于解决数据稀疏问题下的点击率预估优化)。

    34340962c9faa6a7248bde88089710d5.png

    Bayes-SIR的算法思想:如上图所示,首先从丰富的先验数据中估计出每个广告计划的点击率先验分布,然后依据该先验知识和新观测到的少量数据,根据贝叶斯定理计算得到更准确的后验点击率。这种估计方法能充分利用先验知识,具备置信程度过渡平滑的特点。将贝叶斯平滑CTR估计过程替换掉SIR算法的朴素CTR统计逻辑即构成了具有冷启动问题优化效果的校准方法。实际上线后,新广告的投放效果得到明显的提升。

    3. Bayes-SIR实时波动问题优化(RTW-BSIR)

    0736a73b594903c8c51f087cd337713a.png

    实际应用中,我们进一步发现Bayes-SIR校准算法整体表现稳定,但是不同时间段内效果却是不断波动的,这会加剧广告竞价环境的波动,并影响广告计划拿量的均匀性和算法出价的稳定性(如上图所示)。

    经分析,这是校准训练数据和应用时数据分布之间存在差异导致的,是一种典型的数据漂移问题。直接思路是将该差异进行消除,实现无偏的校准能力。考虑到时效性影响,数据分布一直在发生变化,如果直接对训练数据进行修正则无法避免后续模型训练链路延迟导致的偏差因素。所以我们借鉴了反事实学习的思想,通过实时计算应用数据和Bayes-SIR模型的分布偏差,直接修正Bayes-SIR校准函数,这样就实现了对现有校准效果时序波动性的优化算法(如下图所示)。上线应用后,能够有效保证校准效果的稳定性,尤其在大促活动等环境剧烈波动时,对流量分配效率极其稳定性起到明显的优化作用。

    1b0c4c07e5f37380e2f21f3b34956643.png

    上述内容介绍了SIR算法极其在冷启动和时序波动性方面的优化,该系列算法具备轻量级、可解释的特点,在阿里妈妈展示广告业务上得到了大范围的应用,并取得了非常显著的业务收益。

    413f9c4bf21370409bed7404fc7d5d62.png

    但是这些方法仍旧存在一些缺陷,比如Binning方式单一缺乏灵活性、排序能力上具备天花板而且无法自定义校准目标。针对这些问题我们也提出了新的算法方案,本文不再展开。下文进一步介绍校准算法在后链路指标校准方面的应用扩展。

    4. 后链路预估值校准(PCCEM)

    24e4c97798406b929b0f82fa0337e6d9.png

    后链路指标指的是曝光/点击之后的加购、收藏、转化、关注等指标(特点如上图所示)。面向转化或加购等优化目标的算法出价能力不断成为主流的广告投放方式,但是转化和加购的模型预估能力远不如点击率,这使得后链路预估值的校准存在极大的必要性和可优化空间。相比点击率校准,后链路预估值的校准存在新的挑战:数据稀疏性和延迟反馈,以转化为例,用户点击广告后不一定立即产生购买行为,这导致我们无法实时计算准确的后验转化率以指导校准函数的训练,而等待多天后再产出校准函数,预估模型的分布也可能发生了新的变化。

    c829a667d248efb4c99f4e4ffb5e3d1f.png

    我们提出了一种算法叫Post-Click Conversion Estimation Model,简称PCCEM。上图左侧的折线图反映了转化的延迟性以及短期中间指标与转化行为的相关性。所以,针对延迟反馈问题,我们可以构建用户点击后的短期行为(如浏览、停留时长等)与后链路指标之间的关系来预测用户长期的转化行为,该模型被称为PCEEM模型。在该模型基础上,结合前述点击率的校准算法即可实现对后链路指标的校准能力(算法如上图右侧伪码所示,具体可参考论文:Calibrating user response predictions in online advertising)。在线上应用后广告转化率以及广告主ROI均有显著提升。

    03 工程实践

    1. 广告系统模块结构

    d795ce3347b1d000a857b604f3723be4.png

    如上图所示,我们在实际应用中,Calibration模块在预估和策略排序模块之间,和其他模块是独立和解耦的,有利于校准的灵活性。

    2. SIR/PCCEM-Based算法数据流程图

    87425d39f1a36643015b3947bc3da706.png

    如上图所示,其中绿色部分是广告的召回排序预估链路,校准模块部分如果是浅层预估指标校准,直接基于Tracked Data,应用SIR系列校准算法即可完成校准;后链路指标则需要先进行点击质量预估(如蓝色区域),再进行算法校准。

    04 总结与展望

    7e4879d91d03d37b8cc4a386114b619c.png

    我们对校准技术做了详细的调研,上图中简要列了目前被广泛应用的校准算法,其中Platt Scaling方法早在1999年就被提了出来,后续也不断有别的方法被提出,但是一直到近几年才有计算机相关的论文从理论层面对校准技术进行证明和探讨(ICML/NIPS会议有相关文章)。阿里妈妈展示广告从18年开始在预估中引入校准方法,对广告系统的稳定性、效果的保障性以及算法出价能力等方面起到了显著的优化作用。但是过去几年中我们一直走轻量级的迭代方式,缺少一些向更复杂更精细化方法的探索,而且在发展过程中一直以业务需求为导向,在理论层面缺乏深入的探索,这些问题将是我们未来重点优化的方向。

    校准技术在气象预报、医疗诊断、自动驾驶、计算广告以及工业应用等领域都有实际的落地应用。也有学者将校准技术归纳可信机器学习的一个研究分支,它可以为机器学习模型的确定性、可信度以及可解释性起到优化作用,辅助提升机器学习模型在各领域的实际应用价值。

    05 问答环节

    问:请问Bayes-SIR里面先验数据和观测数据的区别是什么?

    答:先验数据是过去历史上所有能获取到的用户行为数据,也可能是专家经验。先验数据的粒度可以比较粗,范围可以比较大,时间也可以比较长,是对待校准数据表现的一个预判。观测数据是指待校准广告的即时表现,是短期的小部分可观测数据。

    问:数据偏移一般是什么原因造成的,是链路延迟吗?

    答:有很多影响因素,特别是在广告系统中,除链路延迟外,广告主的行为以及用户习惯和兴趣都在不断发生变化,这些都会直接影响系统内数据分布的稳定性。

    问:校准模型是小时级更新的吗,还是天级更新就可以?

    答:因为基础预估模型的高低估程度在一天之内也在发生不断的波动,而且是不可预测的。所以校准模型理论上更新响应速度越快越好。

    问:校准模型训练数据的时间窗口是多长?

    答:窗口越短,模型反应越灵敏,但是数据量越稀疏,影响校准的准确性。在实际应用中会根据实际数据量级进行折中来确定窗口时长。

    问:校准技术可以用在推荐系统中吗?

    答:可以。如果推荐系统的优化目标是绝对值效果(如绝对点击量,GMV等),排序策略中需要系统保证预估值大小的准确性,此时校准技术能够起到优化作用。

    问:SIR方法的分桶数量应该如何确定,有经验取值吗?

    答:这还是一个精细度和置信度权衡的问题。分桶数越多绝对值误差问题越能够被充分的暴露,校准效果也能做的越精细。但是桶内的样本量也就越少,统计上更不置信,影响校准结果的准确度。理论层面有一些对不同分桶数下的误差Bound的证明,在实际应用中是结合实验对比来确定的。

    编辑:王菁

    校对:林亦霖

    dd681803175da9d55abf926087d66668.png

    展开全文
  • ▐导读实时竞价是在线广告的经典问题,是广告商获得目标流量的重要工具。在本文中,我们将广告商对流量需求进行整合,提出了带预算以及KPI约束下最大化流量价值的带约束出价建模框架,并推导出了...

    ▐  导读

    实时竞价是在线广告的经典问题,是广告商获得目标流量的重要工具。在本文中,我们将广告商对流量需求进行整合,提出了带预算以及KPI约束下最大化流量价值的带约束出价建模框架,并推导出了通用的最优出价公式,利用 rl 算法调节该公式中的参数,实现了实时流量环境下广告商的流量效果最优。目前,该方法已应用于阿里妈妈展示广告场景,基于该工作撰写的论文已发表在 KDD 2021。本文将对在线展示广告约束出价问题的通用解决方案展开介绍,希望可以对从事相关工作的同学带来启发或帮助。

    论文🔗:https://dl.acm.org/doi/pdf/10.1145/3447548.3467199

    ▐  背景

    在线展示广告场景下,广告主通常以实时竞价的方式获取曝光机会。在大多数广告平台,广告主最常见的需求就是在预算及某些KPI约束下最大化竞得流量的价值(如在预算和点击成本约束下最大化点击量)。每个广告主的投放需求在营销目标(如点击、曝光)、KPI约束类型(如点击成本上界、点击率下界)以及KPI约束数量三个维度上都有很大不同。现有的研究通常局限于某个特定的投放需求,缺乏通用性,或者很难达到最优投放结果。

    在本文中,我们将广告主的各种投放需求形式化为约束出价问题,并推导出了通用的最优出价策略。对于每个广告投放计划来说,其最优出价公式由m个参数组成,m为约束数量。然而在实际应用过程中,由于参竞环境不断波动,确定每天的最优出价参数是很困难的事。针对该问题,本文提出了一种强化学习方法,该方法会在计划投放过程中根据投放状态动态调整出价参数,使其尽可能逼近最优参数。其中,我们基于约束出价问题的子问题特性,对强化学习训练过程进行了优化,使其能够更快地收敛到最优解。我们将这种方法称为 Unified Solution to Constrained Bidding in Online(以下简称:USCB)。USCB在工业场景真实数据集上取得了很好的效果,与此同时,该方法已经在阿里妈妈广告投放策略平台成功部署,为各个业务线提供出价参数调控服务,为平台收入与广告主投放效果带来了显著提升。

    ▐  形式化建模

    在预算及某些KPI约束下最大化竞得流量的价值(如在预算和点击成本约束下最大化点击量)可以建模为带约束的优化问题。

    在一段时间内(例如一天),假设有𝑁个按顺序到达的流量(下标为i)。在一个 SPA(广告流量将分配给出价最高的出价人,成本为第二个的最高出价)计费模式、CPM(按照展现扣费)扣费方式的 RTB 系统(实时竞价系统)中,广告商提供出价 以实时竞争每条流量。代 表了广告主是否能够赢得流量 i。如果广告主出价 高于最高出价 ,则将赢得流量 𝑖(此时 ),最终展现的成本为 .

    在获取流量过程中,广告计划的目标是最大化赢得流量的总价值,即最大 , 其中 代表流量i的价值。预算B和KPI约束对于控制广告效果至关重要。预算约束可视为 ,即获取流量的总成本要不大于预算B。KPI约束更为复杂,可分为两类。第一类是成本相关(CR)约束,它限制广告的平均单位成本,如 CPC(平均点击成本)和 CPA(平均转化成本)等。第二类是非成本相关(NCR)约束,它限制了广告的平均效果,如 CTR(平均点击率)。KPI 约束的统一表达𝑗 可由式(1)表示:

    dd455bc3f74f64e8577806635a6d5ebd.png

    其中,k𝑗 是广告商设置的约束j的上界, 和 根据约束不同而具体定义,例如点击成本约束时,为,为,为广告商设置的点击成本上限。点击率约束时,为,为,为广告商期望最小点击率的倒数。

    因此,考虑到广告目标、预算和 𝑀 个 KPI 约束,计划的诉求可以通过(LP1)表示为统一的带约束竞价问题。

    9ba3e7b75d3917aa3bdb9358544510f7.png

    如果知道完全的流量集合,即知道该计划能触达的每条流量i的流量价值 ,成本 等,则可以通过一般的求解线性规划问题(LP1)的解法可得到最优解 。然而,在实际应用中,需要在流量集未知的情况下进行实时竞价,而且由于在线展示广告每日访问用户和每日参竞计划数量众多且随机性很大,也很难通过准确的预测输入流量的方式构造出流量集,因此常规的线性规划求解方法无法应用。本文则构造出了一个最优出价公式,将问题转化为求解最优出价公式里的最优参数的问题,大大降低了在线情况下求解该问题的难度。

    ▐  最优出价公式

    最优的出价公式为:

    其中, 是常数项, 是参数,其范围为:。如果约束j是CR,则 ;如果约束 j 是 NCR,则 ,证明过程详见论文。

    最优出价公式共包含 m+1 个核心参数 𝑤𝑘, 𝑘 ∈ [0, ..., 𝑀],公式中剩余项为在线流量竞价时可获取的流量上的信息。由于最优出价公式的存在,针对此类具有预算约束和 M 个 KPI 约束,且希望最大限度地提高竞得流量的总价值的问题,最优解可以通过找到 M+1 个最优参数依据公式来进行出价,而不是为每个流量分别寻找最优的出价。

    ▐  参数调整方法

    定义了最优出价公式后,剩余的挑战是计算最优参数𝑤𝑘, 𝑘 ∈ [0,...,𝑀]. 因为流量在不同时段波动很大,通过离线日志求解获得的历史最佳参数不能完美适用于当前的流量环境。因此,在实际应用中,需要开发一个参数调整模块,该模块使用调控策略将𝑤𝑘 修正到能适应当前环境(即广告的状态,包括预算支出状态、KPI 约束满足状态等)的最佳 。该过程可以描述为一个马尔可夫决策过程 MDP,并通过强化学习的方法求解最优调控策略,r=1,..,T 时刻下,通过感知广告的状态,调节 𝑤𝑘 到最优,使得整体获得最大的流量价值:

    • St: 广告 t 时刻预算消耗和满足约束的状态,如剩余时间、剩余预算、预算消耗速度、约束的当前 KPI 比率等。

    • At: 参数 的调节幅度

    • 𝑟𝑡 : t 时刻中,竞得流量的总价值。

    由于模型 T 是广告状态转移的过程,我们采用强化学习的方法为 model free 的方法,可将其看作黑盒。

    利用 MDP 对该问题进行建模后,使用强化学习的经典算法 DDPG[1] 对该问题进行求解,强化学习算法一般需要大量的样本,且收敛速度较慢,为了加快 RL 的收敛速度,我们结合带约束的竞价问题的自身特性,设计最优策略的模式,缩小了策略空间。为解释该优化逻辑,我们首先引入子问题特性的概念:

    由于流量在一天之内依次到达,在任意 t 时刻,最优化整体的流量价值的建模可以转化为如下形式:

    3eab52b8947b29f23c78e9960dec9a18.png

    其中 v#,c#,p# 等表示 t 时刻之前已经获得流量价值,总成本等。可证明该子问题的最优出价公式为:

    其最优出价公式的形式与原问题 LP1 是类似的。想要达到该子问题的最优解,需要在t时刻求的最优参数,并一直持续下去。因此最优的策略为调整当前的参数 直接到最优参数 ,并且在后续流量上保持不动。

    在此最优策略的基础上,我们将 critic 网络优化目标定义为最小化 G 与 之间的差距。G 为整个决策周期,策略真实的归一化累积奖赏,即:

    其中,R 为累积到 t 时刻的流量价值,V 为使用当前的参数并固定不动后剩余流量上能产生的价值。pj 为约束的惩罚项。为模型预估的累积奖赏。与传统的 DDPG 算法利用 来更新 critic 网络相比,我们的方法会让 Q 学的更容易,能提升整体网络的收敛速度。最终算法为:

    ef9460e31468c350ecd5997e1004ad8e.png

    ▐  实验效果

    淘宝广告系统当前包含三种典型的带约束的最大化价值的出价产品:

    • CB{click}:预算约束下最大化点击量。出价公式为:

    • CB{click-CPC}:预算和 cpc 成本约束下最大化点击量。出价公式为:

    • CB{conversion-CPC}:预算和cpc成本约束下最大化转化量。出价公式为:

    选择三种类型的计划构建实验数据集为:

    87ca8fa193c6a3b04cf33a8432a3ae30.png

    其中,imporession 代表计划日均参竞流量的大小,deviation 指标表征计划的最优出价参数的天级差异。

    03439a9ed1378773c0e849db5cb2db3c.png

    在最优出价公式下,对比三种调控方法:

    • FB:用历史固定参数。

    • M-PID:《Bid optimization by multivariable control in display advertising》里的基于模型的 pid 方法[2]。

    • DRLB:《Budget constrained bidding by model-free reinforcement learning in display advertising》里提出的解决预算约束问题的 rl 方法[3]。

    效果指标为R/R*,其中 R 为利用调控算法获得的流量价值,R* 为利用线性规划求解出的最优流量价值。

    934c8ccbffd059f03b99a23fcbaafe6c.png

    在不同的最优参数离散程度及不同的产品类型下,USCB的效果都是最好的。

    ▐  在线部署

    在淘宝显示广告系统中,已经部署了约束性竞价的通用解决方案(USCB)并进行了合理的论证。该在线部署策略为成千上万的广告客户提供服务,每天影响数百万的收入。算法应用程序的架构显示在图中。模型的培训和部署是并行的,这使得模型能够有效地重复,并且可以轻松地应用于大量的广告活动。

    85ca2911b365f78718434cb6ce38f3bc.png

    ▐  结论

    本文针对在线展示广告中的带约束竞价问题提出了通用有效的解决方案。首先抽象出了广告商的核心需求,并将其表述为一个约束竞价问题,利用对偶方法推导了 SPA 下的最优竞价函数。最优竞价函数通过调整有限的参数为广告商提供在所有流量上实时竞价的服务。为了解决环境变化过快导致参数在连续几天之间出现偏差的问题,本文进一步提出了一种 RL 方法来动态调整参数。此外,本文还发现约束竞价问题是一个递归最优问题,这一性质显著地促进了学习过程的收敛过程。通过全面的实验验证了我们的解决方案的有效性。本文中推导的公式和 RL 方法一起被称为约束竞价通用解决方案(USCB),该方案已在淘宝广告平台上部署并验证。

    ▐  关于我们

    我们是阿里妈妈展示广告机制策略算法团队,致力于不断优化阿里展示广告技术体系,驱动业务增长,推动技术持续创新;我们不断升级工程架构以支撑阿里妈妈展示广告业务稳健&高效迭代,深挖商业化价值并优化广告主投放效果,孵化创新产品和创新商业化模式,优化广告生态健壮性;我们驱动机制升级,并已迈入 Deep Learning for Mechanisms 时代,团队创新工作发表于 KDD、ICML、CIKM、WSDM、AAMAS、AAAI 等领域知名会议。在此真诚欢迎有ML背景的同学加入我们~

    投递简历邮箱(请注明-展示广告机制策略):alimama_tech@service.alibaba.com

    参考文献

    [1] Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J]. arXiv preprint arXiv:1509.02971, 2015.

    [2] Yang X, Li Y, Wang H, et al. Bid optimization by multivariable control in display advertising[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019: 1966-1974.

    [3] Wu D, Chen X, Yang X, et al. Budget constrained bidding by model-free reinforcement learning in display advertising[C]//Proceedings of the 27th ACM International Conference on Information and Knowledge Management. 2018: 1443-1451.

    END

    7b3be018b30632a9554b9e383e71a678.gif

    欢迎关注「阿里妈妈技术」

    eb9a7925b0f8fc11f28c2a36008d3408.gif

    疯狂暗示↓↓↓↓↓↓↓

    展开全文
  • 为了突破模型结构的束缚,一些同时建模索引结构与模型的一段式召回方案被提出,其中以我们阿里妈妈展示广告团队此前提出的 TDM 系列算法为代表,通过显式建模索引结构来提供高效的剪枝能力,减少在线打分量进而承载...

    ▐ 1. 背景

    随着整个互联网行业的发展,各大互联网公司作为服务提供商,积累了越来越多能够服务用户的优质内容,如电商领域的各类商品、视频领域丰富的视频、直播等。而随着信息量的爆炸,算法技术作为连接内容和用户的桥梁,在服务质量的提升上发挥着至关重要的作用。随着业界在搜索、推荐、广告技术上多年的迭代积累,逐步形成了较为稳定的召回(匹配)、粗排、精排这一多阶段的系统架构,而召回模块及其相关的算法,在各类业务中处于链路最前端,其决定着整体服务质量的天花板。

    就召回技术而言,其核心问题是如何从大规模的候选集中,找到一个足够优质且大小有限的子集供后链路做进一步处理。因此,召回阶段与其他模块的本质差异,在于其面对的是极大的全量候选集。业界在解决这一问题的过程中,经历了启发式规则类召回、协同过滤类召回、模型类召回等多个阶段。近年来,随着机器学习,尤其是深度学习技术的发展,学术界及工业界已经全面进入到了 model-based 召回算法的研究与应用阶段。目前,业界存在两种主流的模型召回解决思路:两段式解决方案和一段式解决方案。其中以向量检索为代表的两段式解决方案将模型结构限定为双塔结构,然后通过高效的大规模内积近邻检索来完成 Topk 查询。其主要问题是模型能力受到了较强的限制,因此模型能力天花板受限。为了突破模型结构的束缚,一些同时建模索引结构与模型的一段式召回方案被提出,其中以我们阿里妈妈展示广告团队此前提出的 TDM 系列算法为代表,通过显式建模索引结构来提供高效的剪枝能力,减少在线打分量进而承载复杂模型,打开了召回精度的天花板。

    在持续的大规模召回算法探索与迭代过程中,我们逐渐发现,类似 TDM 的一段式解决方案,在具备高精度召回能力的同时,由于索引结构与模型训练的强耦合,导致离在线链路过于厚重,对维护、迭代以及快速的业务支持带来了比较大的挑战。因此在2021年,我们一直在思考的一个主题是:有没有一种更进一步的召回解决方案,能在支持复杂模型的同时,实现对模型训练与索引结构学习的解耦。基于这一理念,我们研发了二向箔算法体系,在保留复杂模型召回能力的同时,将索引学习和模型训练解耦,提供了轻量化的任意复杂模型召回解决方案。二向箔算法体系已在阿里妈妈展示广告业务中全量上线应用,成功支持了双十一大促,相关算法升级带来了信息流核心商业化场景 RPM+3.1%/CTR+2.4% 的业务效果提升。

    ▐ 2. 模型召回的形式化目标及主流解法

    2.1 模型召回的形式化目标

    召回模型技术由于其应用模式,天生具备“集合属性”,即在单纯的“预估”概念之上,还需要更进一步地基于预估结果从全量候选集中拿到优质子集。首先给召回模型技术的目标做一个简单的形式化定义:假定函数 为一个针对用户 和候选项 的价值度量函数,则召回目标可以定义为

    其中 为全量候选集。总的来说,这一目标可以概括为:对于每一次请求,从候选集中找到给定价值度量下价值最高的一个子集。当然,在实际的召回系统与算法迭代中,也还存在一些启发式的召回模式如 i2i 召回,以及对于集合的多样性等指标要求等,本文暂不进行探讨。从上述的召回目标定义中不难发现,召回阶段的模型技术迭代,需要考虑两个重要的问题:1)对于召回模型而言,如何通过更好的网络结构、训练样本或loss设计,使得模型能更好地拟合或者反映真实的价值度量函数,即如何让模型预估 更接近 ground truth 的 ;2)当训练好的预估模型 给定时,如何得到更精准的 集合,即常规意义上的检索问题。

    业界的召回模型技术发展,在根据上述召回目标进行优化时,迭代出了两种主流的解决思路。可将其概括为两段式的解决方案和一段式的解决方案,接下来会进行一个简单的介绍。

    2.2 两段式解决方案

    所谓两段式的解决方案,是将目标中的 部分和 训练部分完全分开来考虑,其代表做法是向量检索的模式,即通过特定的模型结构设计,将价值度量函数表达成用户表征向量与候选 item 向量内积计算的模式,然后通过高效的大规模内积近邻检索来完成 Topk 查询。针对向量内积的 KNN 检索,有不少通用高效且成熟的解决方案,如开源的 Faiss[1] 和阿里内部的 Proxima[2]。因此,对于两段式的召回方案,大家迭代的重点一般都聚焦在模型结构、训练样本、损失函数的迭代上,比如:MIND[3]、ComiRec[4]、CurvLearn[5] 等优秀的工作,都是在这一框架下往不同的方向做了一些尝试和突破,如用户多兴趣表征、内积之外的相似度量空间等。

    这类两段式的召回解决方案,由于其对召回问题分阶段的建模思路非常清晰,且各阶段都有相对成熟的工具和方法来支持迭代,因此在实际系统中被广泛使用。但是对于这一类建模方式,在原理上存在两个不足:

    1)第一阶段向量形式的 模型训练过程中,一般不会考虑第二阶段检索过程的精度损失,因此可能会导致近似近邻检索(ANN)的误差较大,这也是通常所说的两阶段目标不一致的问题。针对这一问题,业界有一些工作已经尝试解决,例如在模型训练阶段就把检索误差纳入考虑[6]等。但是在实际应用中,即使训练阶段不考虑检索误差,一些ANN检索工具如 Proxima[2] 一般都能将精度做到 95% 甚至更高。所以在实际应用中两个阶段目标不一致并不算是一个严重的问题;

    2)由于 ANN 检索的需求, 模型结构最终需要被设计成用户向量与 item 向量之间直接计算的模式,而这一要求对模型能力造成了较大的限制。事实上,如果不考虑检索模式对模型结构的要求,召回模型结构设计与后链路的一些模型如点击率、转化率预估模型等,可能并没有太本质的差异,但正是由于向量结构限制的存在,使得召回模型能力的天花板受到了较大限制。虽然目前还没有发现严格的证明与推导,能够论证向量结构到底在多大程度上影响了模型能力,但很多的实践结果都表明了这一限制切实存在且影响很大。下图中,我们给了一个简单的实验数据验证,来说明模型结构限制对模型能力的影响程度。不难发现,当结构从内积升级成带 target attention 的 DIN 结构后,模型精度有了一个大的提升。

    844558b0be23940a44f99c95bf3b8e60.png

    2.3 一段式解决方案

    鉴于两段式解法存在的目标不一致、模型结构受限的问题,业界在技术迭代的过程中,也发展出了一段式的召回解决方案,其中代表性的工作为我们团队之前提出的 TDM 系列算法[7-9]和字节跳动提出的 Deep Retrieval 算法[10]。所谓的“一段式”,是相较两段式的价值度量模型训练、Topk 检索分开考虑而言,直接面向检索目标来同时学习索引结构和检索模型。这类方法一个比较大的特点是需要定义“参数化的索引结构”,并在训练中和模型进行同步优化。像 TDM 中的树结构、DR 中的多层编码结构,以及索引结构中虚拟节点的 embedding,都属于索引结构参数的一部分。此外,在 TDM、DR 中,item 与树的叶节点、与最底层编码节点之间的挂载关系映射函数,同样属于索引结构参数的一部分,是需要通过训练过程来优化的。正是由于索引结构与模型联合优化的模式存在,这类一段式解决方案通常不存在两阶段目标不一致的问题。同时,显式建模的检索过程往往能实现高效的候选集剪枝,所以可以使用计算力要求更高的复杂模型结构,而不局限于向量计算的模式。

    1b461495406cedf03a387182e3b989ff.png

    一段式的解决方案同时解决了两段式中存在的两阶段目标不一致、模型结构受限两大问题,但在长期实践过程中,也发现了这一方式存在的不足,主要也是有两点:

    1)索引结构与模型联合训练,从原理上实现了对召回目标的 end-to-end 一致优化,但是也给训练带来了额外的系统、时间成本。在 TDM 和 DR 中,都是通过 EM 算法来交替优化索引结构、检索模型,最终实现索引和模型的共同收敛,这一过程通常需要过多轮训练,相比两段式方案中的 模型训练及训练后的一次性索引构建而言,一般会需要更多的时间。此外,在训练引擎中实现索引结构训练算法,并同时考虑新增item在索引中的引入问题,会带来不少额外的工程成本;

    2)模型结构不再局限于内积形式,是一段式解决方案在召回精度上最大的优势,但是实际上对模型结构依然有一些要求。由于索引结构中间节点是虚拟节点,因此不能方便地使用一些在向量模型中普遍应用的目标 item 侧的 side information 特征,如淘内的商品类目属性、店铺属性、title 等,而这类特征通常在实践中被证明是非常有效的。虽然在实际工程应用中,依然有一些办法能利用上这类特征,如进行 top 特征上溯等,但同时也意味着额外的系统复杂性。

    ▐ 3. 二向箔算法体系

    3.1 为什么叫二向箔

    二向箔是科幻小说《三体》中的一种降维打击武器,能将空间结构从三维压缩成二维。将上述两种召回解法和维度做一个简单类比:对于基于向量的两段式解决方案,由于检索范式比较固定,因此大家在迭代的过程中主要考虑的是如何在向量结构的框架下,去迭代模型能力,近似于在一维空间中做优化,技术轻量但天花板受限;而对于一段式的解决方案,由于显式索引结构和复杂模型的引入,在迭代中通常需要同时将索引学习、模型结构优化、系统可提供算力的约束这三者同时纳入考虑,近似于在三维空间中做优化,效果天花板高但系统过于厚重。在过去的算法迭代中,通过对上述两类方案的长期探索与应用,我们愈发频繁地在思考一个问题:有没有一种更简洁有效的解决方案,能够在保持一段式解决方案中复杂模型召回能力的同时,不需要在训练中考虑索引结构的优化,进而降低整个系统的复杂度并提升迭代效率?这也是“二向箔(Dual Vector Foil, DVF)”算法体系名称的由来,我们希望在新的体系下,召回算法可以不受限制地迭代 模型,同时只需要考虑系统可提供的算力这一唯一约束。面对这一问题,我们找到了一个可行路径:保留索引的同时,将索引和模型训练解耦,即给定任意召回模型 ,通过模型无感知的索引结构构建及相对应的检索能力,来支持高效、高质量的 KNN 检索,返回模型打分最高的 K 个结果 。

    3.2 Post-training的索引构建

    为了使模型训练不再依赖于索引,我们选择在模型训练后再构建没有任何虚拟节点的索引。一种很自然的想法是,将 TDM 树索引构建方式修改为通过层次 k-medoids 聚类的方式构建,其中叶节点依然为所有 item,但中间节点不再是虚拟节点,而是类簇的中心 item。但是,这种索引构建方式要求 item embedding 有层次化的类簇结构,实际上模型在训练时并没有加入相关约束,因此学出的 item embedding 并没有层次化类簇结构。从离线实验结果来看,这种索引构建方案的效果也比较差。

    5b18f224345ff82c7992c12574ac43c4.png
    k-mediods层次聚类构建树索引

    因此,我们的目光转向了对模型和 item embedding 都没有任何约束的图检索。具体来说,我们选用检索精度较高的 HNSW 检索图[11]来根据所有候选项的 embedding 构建索引(构建算法见原始论文)。如下图所示,HNSW 检索图是一个层次化的图检索结构,第0层包含所有节点,上层节点为下层节点的随机采样,每层采样比固定(如32、64);每层都是一个近似 Delaunay 图 [12],图中每个节点都有节点与之相邻,且相邻节点距离相近(如欧式距离)。

    44940effca16a36f2208ebd3c6e0cd9a.png HNSW层次化图检索结构

    3.3 检索实现

    检索过程如下,给定打分模型 、HNSW 检索图 、用户,从上往下逐层检索(通过 SEARCH-LAYER 函数)得到每层打分最高的候选项 ,作为下一层的检索起始点;最后,将最底层的检索结果中打分最高的 个候选项作为该用户 的最终检索结果。

    420d62f970a5d5c27882a686b7b5c3e4.png

    每层的检索算法如下,给定打分模型 、用户 、检索起始点 。使用 记录本层访问过的节点, 记录待拓展近邻的候选集, 动态记录本层检索结果。初始化 、、 均为检索起始点 。

    核心检索过程包含多次循环。每次循环中,首先获取候选集 中所有节点的所有未访问过的近邻 ,并将 中所有节点设为已访问,然后维护 为旧 和 中打分最高的 个节点,最后更新待拓展近邻的候选集 为 ,即 中打分较高的节点集。因此,每层检索共包含 次近邻查询、模型打分和集合交并差操作,这些操作在 Tensorflow 中可以高效实现。

    ae67f0858741c605a31739922e8bf0bb.png

    3.4 模型结构

    采用的打分模型结构如下图,其主要由以下四部分构成:

    • 用户聚合特征提取: 用户聚合特征包含用户性别、nickname 等聚合特征。在获取原始 embedding 后采用 transformer 提取 user 侧深度特征。

    • 用户行为序列特征提取: 用户行为序列特征与目标 target 间采用了 target attention 的方式进行交互,以获取与目标 target 最相关的行为特征。该部分模型结构见下图右边,将序列特征中的 item 和 target 都通过 MLP 进行特征提取后,利用 Scaled Dot-Product Attention 得到最终用户行为序列特征。

    • Target 特征提取: 使用多层 MLP 进一步提取 target 侧的特征。这是与 TDM 等一段式召回方案中模型结构区别最大的部分。由于 TDM 中模型训练与索引强耦合,且索引中存在虚拟中间节点,因此 item 侧 side information 特征比较难以直接应用,需要一些类似 top 特征上溯的机制来支持。在二向箔算法体系对模型结构没有任何限制,因此可以很自然的加入各种 item 侧特征。

    • MLP 打分: 将上述三路深度特征合并后,经由多轮 MLP 得到最终打分。

    5310ea91ee8076deeb915fb339d808ef.png
    二向箔模型结构

    ▐ 4. 二向箔工程链路

    4.1 整体链路

    从链路设计上, 我们将索引与模型两个部分放入模型推理模块中,实现模型推理模块的“features in、tokens out”,减少了请求的传输成本,相较之前的链路,通信部分 rt 减少 12ms。从整体链路上看,“features in、tokens out”的方式简化了链路,即召回模块只负责特征生成及对返回 token 的正/倒排查询,将所有打分及检索逻辑在模型推理模块完成。该设计与排序模型的做法是一致的, 这种简化的链路设计完全兼容向量 ANN 检索。与此同时,索引与模型在同一模块进行部署避免了跨模块同步更新时出现系统卡顿或者版本一致性问题的可能。

    4524e7e85759be083665498d810b747d.png

    4.2 在线检索与打分流程

    4.2.1 图表示

    我们利用 Tensorflow 的不规则张量(ragged tensor)来表示检索图 的节点及邻居关系。ragged tensor 主要由 values 和 row splits 两个 tensor 构成,对应到二向箔的场景,values 是 flatten 了所有节点的邻居节点的集合,同时用 row splits 的下标来表示节点 本身。举例说明:

    • values:[7, 8, 10 ,12, 15, 5, 6, 3]

    • row_splits:[0, 3, 6, 8]

    其表示的图关系如下:

    b071caf6cce592dff58cd20f693d26d1.png

    4.2.2 检索

    如下图所示,在实际运行时,在 CPU 端进行检索以得到扩展且未曾打分的邻居集合 ,然后在 CPU 端 gather 出对应的 embedding,通过 PCIe 将 embedding 由 host 传至 device(GPU),在 GPU 上完成打分,并同样通过 PCIe 将打分结果从 GPU 传至 CPU,然后进行 TopK 运算,进而进入下一轮检索。具体实现中,将检索过程归纳为了多个算子,如:set difference、set union等。针对原生 Tensorflow 没有或者性能较差的 Op 进行了定制化,整个检索过程均由 Tensorflow Op 构成。此外,set 相关 Op 也经历了多轮迭代,最终采用了 bitmap 来实现了 set difference/set union 相关逻辑,详细的压测数据将会在后文给出。

    1b67e4ef7cb1257d3fffa90a389a725c.png

    4.2.3 打分

    采用了 DNN 模型进行打分,该 DNN 模型由 user 侧的 transfomer、target attention、多层 fc 构成。模型结构见 3.4 节。在打分过程中,target 没有实时特征,也没有 feature generation 的过程,而是在离线计算所有 target 侧 embedding,并在 host 上以 tensor 的形式缓存。而 user 侧则接入了实时序列特征来保证兴趣捕捉的实时性。

    ▐ 5. 离在线实验及性能指标对比

    5.1 离线实验

    5.1.1 实验设置

    • 样本构造: 我们采用用户兴趣最大化召回样本进行模型训练和效果测试。正样本包含两部分,一部分是用户在手淘首页猜你喜欢场景点击过的 item,另一部分是用户在全网存在收藏、加购、购买行为对应的样本。训练时,一条样本仅包含一个 ground truth,而负样本是从其他用户的 ground truth 中带权重随机采样得到。

    • Recall计算: 在测试时,根据离线 recall 来评估检索效果。由于一条样本只有一个 ground truth,因此 recall 其实与正样本的命中率等价。在下述离线实验中,采用召回 top-1500 item 中正样本的命中率作为 recall。

    • 训练、测试流程: 通过多机多卡同步训练模式对模型进行训练。训练结束后,计算所有 item 的经过网络变换后的 embedding 并保存。接着根据保存的 embedding 构建索引,并基于索引对十万条测试样本进行检索,计算平均 top-1500 recall。此外,为了验证索引检索的有效性,还测试了线上不可行的全库打分方案的 recall 作为对比。

    5.1.2 实验结果

    • 内积形式对召回模型能力的限制

    2ff1f87e5e6c39092544f6ecf8316fcf.png

    为了高效进行大规模内积近邻检索,现有两段式解决方案的模型结构被限制为用户向量与 item 向量之间直接内积计算的向量结构,而这一要求大幅限制了模型表达能力。而在二向箔算法体系下,模型结构没有任何限制,可以和后链路的点击率、转化率预估等任务用相似的模型。上述结果对比了 DNN 结构和向量结构的离线 recall。其中 DNN 结构为本文采用的模型结构(见第 3.4 节);多兴趣向量结构与DNN结构拥有相同的特征输入,同时采用 transformer 来提取用户的多峰兴趣向量(参考 comiRec[4]),然后多个兴趣向量分别召回 top-1500 再统一排序产出最终 top-1500。由上表可知,去掉向量结构限制后,召回模型的检索精度天花板获得大幅提升,全量打分情况下离线 recall 绝对值提升 5.71%,DNN 结构下二向箔检索的离线 recall 也比向量结构下的全量打分 recall 高 3.03%。

    • 不同打分量的离线recall

    69b41d91a7524b0faefd3c72c060c976.png

    在二向箔算法体系下,仅需 1.9% 打分量就可以达到 95% 的检索精度(51.55% / 54.23%)。说明虽然构建索引时只基于 item 侧 embedding,没有引入 user 侧和 ad 侧的交互或者打分信息,但是也足以胜任检索过程中大幅减少打分量的需求。

    • 目标item侧的side information特征的重要性

    9fd92e457aa344ad3ff378e4045a6d23.png

    虽然 TDM 和 DR 等一段式解决方案的模型结构不再局限于内积形式,但由于索引和模型强耦合,且索引中存在虚拟中间节点,导致不易使用目标 item 侧的 side information 特征 。而在二向箔体系下,由于图索引对模型结构没有任何限制,因此可以很自然的加入 item 侧的 side information 特征。由上表可知,去掉 item 侧的 side information 特征后,全量打分 recall 和 DVF 检索 recall 都大幅下跌(绝对值约 9%),这一定程度体现出了二向箔算法体系相对于 TDM 和 DR 等一段式解决方案的优越性。

    5.2 在线性能优化

    在线性能优化主要是分为如下几个阶段:

    • TF Raw Op:利用 TF Raw OP 串联了整个流程,离线验证了二向箔算法体系的正确性与可行性。

    • +Set Op: TF Raw Op 中涉及到检索的 Op(例如,Set/Where)性能较差,替换为了自己开发的 Custom Op 等。

    • +Linear attention: 针对模型打分部分性能较差的问题,通过 linear attention 的方式解决了模型 GPU 访存的短板。

    • +Bitmap OP: 在 Set Op 基础上,对检索 Op 再升级,进一步升级了性能。

    62ac0e89a89e954cae7ab9163bf1f0f2.png

    注:以上数据压测环境及设置为:T4 单卡、半精度推理、开启 XLA 优化、单次召回打分总量约 1.7 万

    5.2.1 索引

    索引优化主要分为两个阶段:

    1)Set Op

    通过对 TF Raw Op 版本 profiling,发现最大的性能瓶颈是检索相关的 Op。因此,我们将检索过程归纳为了多种 Set Op,包括 set difference、set union等,并以 Tensorflow Custom Op 的形式实现了相关功能,保证检索与打分是在同一个 TF Graph 中完成。通过这种方式,将性能从 RT 39.8ms、QPS 68 提升至 RT 16ms、QPS 241,达到基本可用的状态。

    2)Bitmap Op

    Bitmap Op 是在模型优化为 linear attention 结构后对检索部分的再升级。在模型优化为 linear attention 后,此时单机压测发现,极限 QPS 下 GPU 利用率会在 77% 左右无法继续提升,分析可得此时 CPU 的检索能力成为整个模型的瓶颈。由上文介绍可知,整个在线检索所用图的节点是用下标来作为唯一 id 的,即每个节点 对应一个 int32 的正整数 。基于此特点,我们利用 bitmap 来重构了模型检索过程中所涉及到的集合操作,包括 set difference、set union。

    具体而言,我们生成一个 size 为 的 tensor 其数据类型位 int32。对于节点 ,其对应的 bit 位是 tensor 中下标为 (整除)的数值的第 (取余)位。在线初始化时将整个 tensor 置于 0,一旦被检索则将被检索的节点所对应的 bit 位标记为 1,从而实现了 set difference、set union 等功能。该改进使得模型在极限 qps 下 GPU 的利用率可以达到 95%,解决了模型检索的短板,使得最终版本在单次召回打分总量 1.7w 的情况下,T4 单卡 RT 6.5ms、QPS 608。

    5.2.2 模型

    二向箔项目在模型侧的最根本改变之一是引入了 target attention 结构,这是召回端引入复杂模型的最大优势之一,即通过 attention 机制来建模 user sequence 与 target 之间的关系。但 attention 结构会制约模型 GPU 打分的性能。以召回模型所用的 attention 结构举例:

    • :即模型的 target,shape 为[batch, dim]

    • :即用户的行为序列,shape 为[seq, dim]

    • : 与一致

    对于大规模召回问题而言,batch 维度往往是非常大的,当前 DVF 模型的单次打分最大可达万级,因此 batch 的维度很容易成为性能的瓶颈。常规的 attention 结构,在产生最终 attention score 的过程中会多次生成有 batch 维度的中间结果。而当前,妈妈在线 GPU 服务主要以 T4 卡集群为主,对于 T4 卡而言其 DRAM 带宽较低,使得数据访问很容易成为性能瓶颈。而在召回场景下,其实际情况也是如此,尤其是在引入了 attention 结构后,不可避免的会产生第0维为 batch 的 tensor。解决这个问题的途径分为两种:1)通过 kernel fusion,尽量少的产生中间结果,直接生成最终的 attention score;2)从算法上设计访存更友好的 attention 结构,减少中间结果的产生。其中,方案一虽然可以减少访存和 kernel launch 开销,但是不够灵活,且由于 attention 机制中往往涉及到很多非线性操作,因此 kernel fusion 的难度较大。因此,最终我们采用了方案二,借鉴了 NLP 领域中的 linear attention 方式,减少了第0维为 batch 的中间结果的产生,优化了模型在 GPU 部分的性能。最终,我们通过 attention 结构的优化将性能由 RT 16.4ms、QPS 241 优化至 RT 9.6ms、QPS 473,满足了在线扩流需求。

    5.2.3 XLA auto-padding

    XLA(Accelerated Linear Algebra)是 Google 推出的高性能机器学习领域编译器,它可以在不更改源代码的条件下,通过 kernel fusion 的方式加速 Tensorflow 模型。

    阿里妈妈展示广告从去年开始就大量使用 XLA  技术进行在线加速,对于我们的模型而言,XLA优化可以带来2倍以上 QPS 的提升。但 XLA 代码生成有一个限制:整个 Tensorflow graph 中不能出现 dynamic shape。然而,在现实生产环境中,dynamic shape 无处不在,一旦在线出现未曾 cache 的 shape,XLA 机制会触发 Just-In-Time (JIT) 代码生成,这会导致在线服务出现强烈抖动,会影响共同部署的所有模型的性能。之前,阿里妈妈RTP团队通过 padding + warmup 的形式来解决这个问题,即在模型输入时(对应 Tensorflow 的 placeholder)对输入维度进行 padding,在线只会将几种固定的shape输入到模型中,从而绕过了 JIT。

    但对于召回模型而言,其情况要复杂的多。召回模型 dynamic shape 的出现并不是在模型输入时(placeholder),而是在检索过程中,也就是前文提到的每一轮扩展出来的打分的集合N,其 size 是不固定的,且完全由流量控制。为了解决该问题,我们与阿里妈妈RTP团队共建了 XLA auto-padding 功能。其主要工作原理如下:

    • 在线: XLA auto padding 会将 shape 变化相同的 tensor(例如,召回模型的batch维度)统一 padding 到某一个事先规定的维度(事先规定了多组 padding 维度,在线根据 batch 大小,padding 至其距离最近的维度),然后调用对应的已 cache 住的经由 XLA 优化的模型结构(由 warmup 过程产生),在模型执行到某一个 XLA cluster 外后,对其按照原来维度进行 slice,从而得到正确结果。

    • Warmup: XLA auto-padding 功能的 warmup 过程实际是为了生成 XLA cluster 输入端的 shape 信息。在模型上线前,会在试验田利用压测流量,直接触发模型的 JIT,将事先规定好的 padding 维度所对应的的 XLA cluste r输入的 shape 信息落盘,并进行打包作为模型文件随模型一起上线,相当于利用压测流量进行 warmup。模型上线时,会在加载模型时利用 warmup 过程生成的 XLA cluster 输入的 shape 信息对在线模型进行 warmup 并 cache 在 GPU 中,这样在线就无需利用流量进行 warmup 了,进而规避了在线 JIT 过程。

    通过 XLA auto-padding 功能,将 XLA 能力拓展至了 dynamic shape 的场景,从而使得 XLA 加速能力可以更好的应用至生产环境中。

    ▐ 6. 总结与展望

    6.1 总结

    从模型角度看,二向箔算法体系在大规模召回场景中做到了真正意义上的任意复杂模型的 KNN 检索。此外,Post-training 的索引构建模式使得整个解决方案非常轻量级,模型迭代更为高效,即在迭代模型结构的过程中无需考虑模型与索引的联合优化,从而可以将精力更多的投入到样本和目标构建、特征体系设计及模型结构迭代上。从检索角度看,二向箔范式的检索效率较高且精准,虽然不是端到端地将检索与模型一起训练,但从实验结果和实际应用看,非端到端的训练对召回精度的影响并不大。并且,正是由于索引构建与模型训练的解耦,使得离在线链路均变得更简洁清晰。从技术沉淀角度看,二向箔范式沉淀了一系列解决召回问题的技术栈,并且完全基于 Tensorflow 框架,可以很容易的迁移到其他业务场景中,具有较高的推广潜力。

    6.2 展望

    对于模型迭代而言,未来二向箔范式将从模型结构升级与在线算力优化两个方面进行迭代。模型层面,我们将迭代更为精准的模型结构,并在召回模型的学习目标上更加对齐业务需求。算力优化层面,目前在 T4 卡上基于 CuBLAS、XLA 等优化手段的性能升级已基本见顶,未来将在召回端引入阿里自研的 NPU 计算能力,提升算力的经济性。

    对于索引迭代而言,二向箔发展的方向是打分量与检索精度的双向优化。从算法角度来说,当前的检索模式还是具有较大的探索空间的。例如,当前用 L2 距离建图是否有可以改进的空间,是否可以通过部分采样样本的模型打分建图;检索过程中一旦陷入局部最优会有较多的 quota 是重复的,是否可以进一步扩大有效的 quota 减少 overlap 等。从算力角度看,二向箔范式将会进一步支持更大规模的检索问题,从提升检索量及打分量的角度,释放在线效果。

    下一步,我们将会推广二向箔算法体系的业务服务范围,更进一步地,二向箔模式完全基于 Tensorflow 框架,因此具有较高的推广及开源潜力。未来,希望可以为开源社区提供一套轻量级的支持任意复杂模型的大规模召回解决方案。

    7. 引用

    [1] https://github.com/facebookresearch/faiss

    [2] https://www.alibabacloud.com/blog/proxima-a-vector-retrieval-engine-independently-developed-by-alibaba-damo-academy_597699

    [3] Multi-Interest Network with Dynamic Routing for Recommendation at Tmall

    [4] Controllable Multi-Interest Framework for Recommendation

    [5] https://github.com/alibaba/Curvature-Learning-Framework

    [6] Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index

    [7] Learning Tree-based Deep Model for Recommender Systems

    [8] Joint Optimization of Tree-based Index and Deep Model for Recommender Systems

    [9] Learning Optimal Tree Models under Beam Search

    [10] Deep Retrieval: An End-to-End Learnable Structure Model for Large-Scale Recommendations

    [11] Efficient and Robust Approximate Nearest Neighbor Search using Hierarchical Navigable Small World Graphs

    [12] https://en.wikipedia.org/wiki/Delaunay_triangulation

    END

    d70043617afd1bcacc68b6bd1e001722.gif

    欢迎关注「阿里妈妈技术」,了解更多~

    64e75205660f3ed98ca55479fad7d720.gif

    疯狂暗示↓↓↓↓↓↓↓

    展开全文
  • 本实用新型属于广告箱领域,具体地说是一种循环展示广告的广告箱。背景技术:广告灯箱将不断的闪动结合停留,有效的提高了人们的视觉冲击力;提高了广告单位面积利用率,和变换灯箱及滚动灯箱一样广告效果不言而喻。...
  • Yahoo(雅虎)广告平台和其他搜索平台一样,都有着搜索广告以及原生广告,很多新手小伙伴都不知道这两个位置该怎么选择!现在就给大家简单讲解一下,Yahoo的搜索广告以及原生广告。 Yahoo搜索广告其实就是搜索词...
  • 转自:http://blog.csdn.net/yangbutao/article/details/42084861...广告投放给用用户展示,最重要的是排序,之前的排序公式是ctr*Bid,其中ctr是广告的历史点击率,Bid是广告主的出价。缺点是存在广告的冷启动和...
  • 前后台切换进行展示广告通过监听app的切换的方式进行实现 通过ActivityManager.RunningAppProcessInfo判断进行监听应用 可以在MainActivity进行测试,然后在MainActivity的onResume()和onStop()方法中进行判断应用...
  • 本实用新型属于广告箱领域,具体地说是一种循环展示广告的广告箱。背景技术:广告灯箱将不断的闪动结合停留,有效的提高了人们的视觉冲击力;提高了广告单位面积利用率,和变换灯箱及滚动灯箱一样广告效果不言而喻。...
  • 就是截图里圈出来的“包括google搜索网络合作伙伴”和“包括谷歌展示网络”。 经过很多优化师测试后,这里的流量特别杂,转化低,转化费用高,比谷歌的流量差了不少。所以一般是不建议点的。 谷歌广告的建议里经常让...
  • 额外新号下来2日内放的广告是无法展示的,这是谷歌之前改的新政策。 解决 首先要确保广告代码已经插入到网页上了。 最后就只要等它显示就可以了。 所以最佳解决方法就是,先手动添加个广告广告单元->创建...
  • 为什么要使用自适应搜索广告? ...这种广告会将您的广告创意与机器学习技术的强大功能组合起来,帮助您向更多用户展示更相关的广告。该组合的威力不容小觑:广告客户弃用加大型文字广告并改为使用..
  • 1、需求 wx私信问题:Elasticsearch 如何实现类似百度广告置顶显示给定商品数据的效果?置顶显示某特定数据就是:搜索某关键词,出现关联广告置顶显示的效果。举例:百度搜索“电动汽...
  • 我最近在做一个手机端展示全屏广告的demo,广告素材的尺寸是320x480,是标准的全屏尺寸。我在屏幕小一点的手机可以全屏显示图片,但是针对一些大的屏幕就会最下面有一段是空白的。我想问下怎么设置可以让这些广告...
  • 计算广告中的CPM和eCPM

    2021-01-22 15:21:19
    是针对广告主说的,你要花多少钱,购买一千次广告展示的机会。类似的还有CPC (Cost per Click) 每次点击付费、CPT(Cost Per Time)每段时间付费、CPA(Cost Per Action)每行动成本、CPS(Cost Per Sales)每销售...
  • ▐前言随着号称“地表最强”的千亿参数规模GPT-3模型在 NLP 领域横扫各大数据榜单,大力出奇迹的暴力美学似乎成为了大数据场景建模的不二法门。搜索、推荐和广告场景的 CTR 模型也不...
  • 华为广告平台则为开发者提供了高效的流量变现解决方案,华为广告与海量优质的广告主合作,能为开发者带来优质的广告资源,拥有具有竞争力的eCPM(每1000次展示所带来的收益);此外,平台秉承业界最具优质的分成政策,...
  • 广告展示量 = 广告请求 x 填充率 x 展示率6个提升广告展示率的方法上一篇已经介绍过,在本篇中,我们将结合用户表现层的各项指标,对影响展示量的另外两个关键因素,请求量和填充率,进行展开解读,并一一给出相应...
  • 点击上方,选择星标或置顶,每天给你送干货!深度学习自然语言处理原创出品签约作者:奋斗喵微信id:cg19951102(有问题联系我呀~)1、在线广告综述在线广告,指的是在线媒体上投放的广...
  • 腾讯社交联盟广告

    千次阅读 2021-06-03 14:02:19
    简介:激励视频广告是指将短视频融入到app场景当中,成为app“任务”之一,用户观看短视频广告后可以得到一些应用内奖励权限等级:开放适用场景:常见于游戏内的广告样式,多出现在游戏的复活、登录等位置,或者网服...
  • SEM广告展示排序规则

    2021-05-17 11:41:35
    给大家介绍了SEM是什么,这次就来介绍下SEM广告如何获得更好的排名在首页展现,排序的规则是怎样的。 一 SEM广告展现位置:SEM广告分移动端和PC端,主要分布在搜索页面的顶部和底部。一般顶部会有三个广告位,中间...
  • 轮播广告因最近又被困在了OSGI技术POC,更新进度有点慢,希望大家不要怪罪哦。上节 我们实现了登录之后前端的展示,如:接着,我们来实现左侧分类栏目的功能。商品分类|ProductCategory从上图我们可以看出,商品的...
  • 用CSS3实现广告展示动画特效,不需要用JS哦,大家可以学习下,很多地方都可以用到,还在等什么呢,代码奉上啦!展示图:DEMO代码:html>用CSS3实现广告展示动画特效-Web前端之家html,body{margin:0px;}.gwd-...
  • 本篇主要内容大纲:一、信息流广告基本介绍(一)信息流广告的定义和特点(二)信息流广告的行业发展(三)信息流广告在产业链中的主要角色(四)信息流广告常用术语二、广告投放流程(一)开户(二)充...
  • 我们在与APP开发者接触时常常会被问到:我的广告要设计成什么样?什么样的广告形式收益比较高?我的广告收益为什么远远低于行业水平? 这些问题很大程度上是因为广告位设计问题引起的,不同的广告形式对广告主的...
  • ▐ An Adaptive Unified Allocation Framework for Guaranteed Display Advertising 一种合约展示广告自适应分配统一框架 摘要: 合约保量广告(Guaranteed Display, GD)被广泛应用于电商营销中,为广告主提供...
  • Unity接入穿山甲广告SDK教程

    千次阅读 热门讨论 2021-03-21 17:01:39
    Unity接入穿山甲广告SDK教程准备工作开始Unity工作了Android平台相关配置适配Anroid7.0以上provider配置运行环境配置(可以不用配置,使用Unity默认就可以)Android初始化Unity插件初始化接口说明初始化配置参数说明...
  • 其实有个话题由来已久,最远可以追溯到超过20年前,互联网广告平台通过对用户的识别和追踪,提供更精准的用户定位和广告投放,从而实现传统广告所无法比拟的转化效果。但这个优势是有代价的,这个代价...
  • 简介: 很多用户都不知道云开发壁纸小程序订阅信息怎么设置,现在就给大家来讲解一下,无论新版壁纸小程序还是旧版小程序都是该教程设置方法 网盘下载地址: http://kekewangLuo.cc/x2T16J63vwL0 图片: ...
  • 我刚才说想要个戴森吹风机,头条APP里的广告展示了戴森的广告,我要去投诉,侵犯了我的隐私。 不知道你是不是也会遇到这个情况,当你在京东的搜索框里搜索了蒸锅后,你的其他软件可能就被蒸锅攻陷了。 头条广告里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 94,770
精华内容 37,908
关键字:

展示广告