返回介绍

数学基础

统计学习

深度学习

工具

Scala

七、MOBIUS [2019](用于召回)

发布于 2023-07-17 23:38:24 字数 23024 浏览 0 评论 0 收藏 0

  1. 百度搜索作为中国最大的商业搜索引擎commercial search engine,每天为数亿在线用户提供服务,以响应各种各样的搜索query 。众所周知,广告一直是世界上所有主要商业搜索引擎公司的主要收入来源。

    论文 《MOBIUS: Towards the Next Generation of Query-Ad Matching in Baidu’s Sponsored Search》 重点解释百度搜索广告系统(在百度内部通常称为 “凤巢”Phoenix Nest )最近的一些令人振奋的发展development 和发明invention

    下图是手机上百度搜索结果的屏幕截图,它给出了一个搜索query “阿拉斯加的旅游” 的搜索结果。我们的sponsored 搜索引擎负责在自然organic 的搜索结果之前,在每个page 上提供有用的广告。

    凤巢在检索与用户query 相关的广告以吸引用户点击方面起着至关重要的作用,因为广告主advertiser 在广告被点击时付费。百度sponsored 搜索系统的目标是在线用户online user 、广告主advertiser 、以及sponsored 搜索平台platform 之间形成和培育nourish 一个良性的循环。

    传统的 sponsored 搜索引擎通常通过两步来展示广告:第一步是检索给定query 的相关广告,第二步是根据预测的用户互动user engagement 对这些广告进行排序。作为百度商业上使用的高效sponsored 搜索引擎,我们曾经采用三层漏斗形funnel-shaped 的结构(如下图所示),从数十亿个候选广告中筛选和排序数百个广告,以满足低响应延迟response latency 和低计算资源computing resource 限制的要求。如下图所示,给定用户query 和丰富的用户画像user profile ,最topmatching layer 负责向下一层提供语义相关的候选广告,而最bottom 的排序层ranking layer 更关心这些广告的业务指标(如 CPM,ROI 等)。这样从数十亿个候选广告中检索数百个相关的、高CPM 的广告是非常高效的。为了覆盖更多语义相关的广告,大多数情况下都利用 query expansionnatural language processing: NLP 技术。底部的 ranking layer 更多地关注经过前一层过滤后的广告的业务指标,比如 cost per mile:CPMCPM = CTR x bid )、return on investment: ROI 等等。

    然而,由于各种原因,matching 目标和 ranking 目标之间的这种分离separation /不同distinction 导致了较低的商业回报lower commercial return 。给定一个用户 query,我们必须使用复杂的模型,并花费大量的计算资源来对数百、甚至数千个候选广告进行排序。但令人失望的是:ranking 模型报告说,很多相关的 relevant 广告并没有高 CPM,因此不会被曝光。为了解决这个问题,百度搜索广告设立了 Mobius 项目,该项目的目的是在百度sponsored 搜索中研发下一代 query-ad matching 系统。该项目有望将不同的学习目标(包括 query-ad 相关性、以及很多其他业务指标)统一在一起,同时降低响应延迟、降低计算资源的限制,并最多仅对用户体验user experience 产生的很小的负面影响。

  2. 在本文中,我们将介绍 Mobius-V1,这是我们首次尝试在 matching layer 中将 CPM (训练 CTR 从而得到 CPM )作为除了 query-ad 相关性relevance 之外的其它优化目标。换句话讲, Mobius-V1 能够准确、快速地预测数十亿 user query & ad pair 对的点击率。为了实现这一目标,我们必须解决以下主要问题:

    • 不足insufficient 的点击历史:ranking layer 采用的原始的神经点击模型neural click model 是通过高频的广告和用户 query 来训练的。一旦出现高频广告或者高频query ,即使 query-ad pair 对的相关性很低,模型也倾向于以更高的点击率CTR来预估它们。

模型对高频广告或者高频 query 的记忆性太强,形成了固有的 bias 。这种 bias 可能是有利的,也可能是不利的,取决于具体的任务和场景。

  • 高的计算成本/存储成本:Mobius 有望预测数十亿的 user query & ad pair 对的多个指标(包括相关性、CTRROI 等),它自然面临着更大的计算资源消耗的挑战。

为了解决上述问题,我们首先设计了一个 teacher-student 框架,该框架受主动学习active learning 思想的启发,以增强augment 我们大规模神经点击模型large-scale neural click model 的训练数据,从而预测数十亿 user query & ad pair 对的点击率。

具体而言:

  • 离线数据生成器offline data generator 负责在给定数十亿 user query 和候选广告的情况下,构造人工合成的synthetic query-ad pair 对。

  • 这些 query-ad pair 对由一个 teacher agent 不断地进行判断,其中该teacher agent 是从原始 matching layer 派生的、并且擅长度量 query-ad pair 对的语义相关性semantic relevance

    它可以帮助检测合成的 query-ad pair 对中的不良情况(即高 pCTR 但是低相关性relevance)。

    出现高 pCTR 但是低相关性的原因:粗排模型认为相关性较低,但是由于存在热门query 或者热门广告,精排模型得到的 pCTR 较高。

    • 作为student,我们的神经点击模型是通过额外的bad case 来提高对尾部query 和广告的泛化能力。

    为了节省计算资源并满足低响应延迟response latency 的要求,我们进一步采用最新的state-of-the-art 近似最近邻搜索 approximate nearest neighbor:ANN 和最大内积搜索Maximum Inner Product Search: MIPS 技术来更有效地索引indexing 和检索retrieving 大量广告。

    为了应对上述挑战,作为我们下一代query-ad matching 系统的第一个版本,Mobius-V1 是上述解决方案的集成,并已在百度sponsored 搜索引擎中部署。

7.1 百度 SPONSORED 搜索

  1. 长期以来,漏斗形funnel-shaped 结构是 sponsored 搜索引擎的经典架构。主要组件包括 query-ad matchingquery-ad reanking

    • query-ad matching 通常是一个轻量级模块,它度量用户query 和数十亿个广告之间的语义相关性 semantic relevance
    • 相比之下,query-ad ranking 模块应该关注更多的业务指标,如 CPM, ROI 等,并使用复杂的神经网络模型对数百个候选广告进行排序sort 以进行展示display

    这种解耦decoupled 的结构是在早期节省昂贵计算资源的明智选择。此外,它还可以促进科学研究和软件工程,因为这两个模块可以分配给不同的研究/开发团队,以最大限度地实现各自模块的目标。

  2. 百度 sponsored 搜索曾经采用三层漏斗形结构,如下图所示。

    顶部matching layer 的优化目标(以 $ \mathcal O_{\text{Matching}} $ 来表示)是最大化所有 query-ad pair 对之间的平均相关性得分relevance score

    $ \mathcal O_{\text{Matching}} = \max \frac{1}{N}\sum_{i=1}^N \text{Relevance}(\text{query}_i,\text{ad}_i) $

    但是,根据我们对百度 sponsored 搜索引擎性能的长期分析,我们发现 matching 目标和 ranking 目标之间的分离separation /不同distinction 往往会导致更低的 CPM 。而 CPM 是商业搜索引擎的关键业务指标之一。当 ranking layer 中的模型报告 matching layer 提供的许多相关广告不会展示在搜索结果中的时候,这是让人不满意的unsatisfactory ,因为这些广告的预估CPM (由 ranking layer 预估)较低。

  3. 随着计算资源的快速增长,百度搜索广告团队(即“凤巢”)最近建立了 Mobius 项目,该项目的目标是在百度sponsored 搜索中实现下一代 query-ad matching 系统。

    如下图所示,该项目的蓝图blueprint 预期将多个学习目标(包括query-ad 相关性relevance,以及很多其他业务指标)统一到百度sponsored 搜索的单个模块中,从而降低响应延迟、降低计算资源的限制,并最多对用户体验user experience 产生很小的负面影响。

    本文将报告 Mobius 的第一个版本,即 Mobius-V1 。这是我们首次尝试将 CPM 作为除query-ad 相关性之外的其它优化目标来训练 matching layer 。这里我们将 Mobius-V1 的目标形式化为:

    $ \mathcal O_{\text{Mobius-V1}} = \max \sum_{i=1}^N \text{CTR}(\text{user}_i,\text{query}_i,\text{ad}_i)\times \text{Bid}_i\\ s.t.\quad \frac{1}{N}\sum_{i=1}^N \text{Relevance}(\text{query}_i,\text{ad}_i)\ge \text{threshold} $

    因此,如何准确预测 Mobius-V1 中数十亿对 user query 和候选广告之间 pair 对的点击率成为一个挑战。在本文的其余部分,我们将详细描述我们如何设计、实现和部署 Mobius-V1

    目前,我们已经部署了Mobius 的第一个版本(Mobius-V1),它可以更准确地预估数十亿user query & ad pair 对之间的点击率。

7.2 模型

  1. Mobius 是这个项目在百度内部的代码。无独有偶,著名的莫比乌斯环 Mobius Loop 也是北京百度科技园的鸟瞰图。

    Mobius-V1 是我们首次尝试(已经成功部署)将我们的神经点击模型迁移到直接面对数十亿用户query 和广告的 matching layer 。随着输入数据规模的急剧增加,我们需要离线重新训练我们的神经点击模型,并更新广告索引indexing 和广告检索retrieving 技术。

7.2.1 主动学习的 CTR 模型

  1. 六年多以来,百度 sponsored 搜索引擎一直使用深度神经网络DNN 作为 CTR 模型(规模巨大)。最近,Mobius-V1 采用了一种创新的新架构。

    构建 Mobius-V1 模型的一个直观而简单的方法是重用 ranking layer 的原始CTR 模型。这是一个大规模的、稀疏的、有利于记忆memorization 的深度神经网络DNN。然而,它在长尾的用户 query 或长尾的广告上的点击率预估存在严重的bias 。如下图所示,考虑同一个用户在搜索日志中请求的两个queryTesla Model 3White Rose

    • 对于过去采用的漏斗形结构,query Tesla Model 3 和广告 Mercedes-Benz (梅赛德斯奔驰)的相关性首先由 matching layer 来保证。

      这里相关性得分是如何得到的?论文并没有给出具体的方案。

      然后,我们在 ranking layer 的神经点击模型往往会在 query-ad pair 对上预测较高的点击率,因为 Tesla Model 3 是一个高频query,并在我们的搜索日志中留下了关于广告 Mercedes-Benz 的丰富点击历史。

    • 但是在 Mobius-V1 中,我们尝试使用我们的神经点击网络来直接处理数十亿个缺乏相关性保证的 query-ad pair 对。很自然地会出现很多不相关的 query-ad pair 对,如图中的 query White Rose 和广告 Mercedes-Benz 。然而,我们已经发现:我们的神经点击模型仍然倾向于为那些不相关的 query-ad pair 对预测更高的点击率。

      这是一个典型的 bad case。由于ranking layer 采用的神经点击模型最初是由高频的广告和高频的 query 训练的,因此一旦出现高频广告(例如,本例中的 Mercedes-Benz),模型往往会以更高的点击率来预估一对query-ad pair 对,尽管 White RoseMercedes-Benz 没有什么相关性。

      这个现象的本质是:ranking layer 的样本都是(经过 matching layer 筛选之后的)高相关性的 query-ad pair 。如果将 ranking layer 直接处理全部样本空间(包含大量不相关的query-ad pair ),则训练空间和预测空间不一致。

  2. 为解决这个问题,我们提出使用 matching layer 中的原始相关性判断器judger 作为 teacher,以使得我们的神经点击模型意识到低相关性low relevancequery-ad pair 对。作为student,我们的神经点击模型以主动学习的方式从增强的augmented bad case 中获得额外的、关于相关性的知识knowledge on relevance

    下图给出了利用增强数据augmented data 主动训练我们神经点击模型的流程图,其中分为两个阶段:数据增强data augmentation ,以及 CTR 模型学习。

  3. 数据增强data augmentation阶段:从将query 日志中的一个 batch 的点击历史记录(即 user query& ad pair 对)加载到数据增强器data augmenter 开始。

    每当数据增强器接收到 query-ad pair 对时,它将将pair 对分为两个集合:一个 query 集合、一个 ad 集合。然后我们计算这两个集合的笛卡尔积,以构造更多的 user query & ad pair 对(即使这些 pair 对没有出现在点击历史记录中)。假设在一个 batch 的点击历史记录中有 $ n $ 个 query 和 $ m $ 个广告,那么数据增强器可以帮助生成 $ m\times n $ 个人工合成的 query-ad pair 对。

    在列出所有可能的 query-ad pair 对之后,相关性判断器relevance judger (即原始的 matching 模型作为 teacher)介入并负责对这些 pair 的相关性进行评分。由于我们想发现低相关性的 query-ad pair 对,因此设置了一个阈值以将这些pair 对保留为候选教材candidate teaching materials 。这些低相关性的 query-ad pair 对作为教材,首次被输入到我们的神经点击模型(作为 student )中,并且每个pair 对都被分配上一轮迭代更新模型预估的 CTR

    核心问题:teacher 模型(原始 matching 模型)怎么训练?个人猜测很多是基于相似性或者相关性得到的,如 item-2-itemterm match 等方式。

    为了教我们 3-class(即clickunclickbad)的神经点击模型学会识别 “低相关性但是高点击率” 的 query-ad pair 对,我们可以直觉地intuitively 设置另一个阈值来过滤掉大多数低点击率的 query-ad pair 对。然而,我们考虑一个更好的选择来平衡对于增强数据augmented data 的探索exploration 和利用exploitation :我们使用数据采样器data sampler ,根据人工合成的 query-ad pair 对上的预估CTR 来计算采样率,从而选择和标记label 增强数据。一旦一个query-ad pair 对被采样为我们的神经点击网络的 bad case,该pair 对就被标记为一个 bad 类别。

    阈值过滤是硬过滤,数据采样是软过滤。

  4. CTR 模型学习阶段:click/unclick 历史记录,以及标记的 bad case 都被作为训练数据添加到augmented buffer 中。

    我们的神经点击网络是一个大规模的多层稀疏DNN 模型,它由两个子网组成,即 user query DNNad DNN

    • 左侧的 user query DNN 将丰富的用户画像和 query 作为输入,而右侧的 ad DNN 将广告 embedding 视为特征。

    • 两个子网都产生一个 96 维的分布式representation,每个representation 向量被分段为 3 个向量(96 = 3 x 32 )。

    • 我们对 user query DNNad DNN 之间的三对向量应用三次内积运算,并采用 softmax layer 进行 CTR 预估。

      三次内积运算分别计算:非归一化的click 概率、非归一化的unclick 概率、非归一化的bad 概率。

    一旦 buffer 中的增强数据augmented data 被使用,我们就清空buffer,等待加载下一个batch 的点击历史记录。

    总体而言,我们贡献了一种学习范式,在百度 sponsored 搜索引擎中离线训练我们的神经点击模型。为了提高模型对长尾数十亿个query-ad pair 对的 CTR 预估的泛化能力,神经点击模型(student)可以主动向相关性模型(teacher) 询问query 标签label 。这种类型的迭代式监督学习被称为主动学习active learning

    这种方式将相关性知识迁移到 CTR 预估模型中。 另外,这里创新性的将 label 分为三类:点击、不点击、badcase,这相比传统的点击/不点击更符合业务需求。

    badcase 是从当前训练 batch 中人工构造的,依赖于相关性判断器relevance judger 来判断相关性、前一轮 CTR 预估模型来预估点击率。

  5. 算法:用于训练神经点击模型以预测数十亿个 query-ad pair 对的点击率的主动学习过程active learning procedure

    • 输入:

      • 历史点击信息Click_History
      • 相关性判断器Relevance_JudgerTeacher
      • 神经点击模型Neural_Click_Model (Student)
      • 最大迭代epoch $ N $
      • 收敛误差阈值 $ \epsilon $
    • 输出:训练好的神经点击模型

    • 步骤:

      while 迭代 $ \text{epoch} <= N $ 或者 $ \text{err}\ge \epsilon $ do

      • 加载一个 batchClick_History

        $ \text{data} = \{(\text{user}_i,\text{query}_i,\text{ad}_i,\text{(un)click}_i),i=1,2,\cdots,n\} $
      • 构建 query 集合、广告集合:

        $ \text{querySet} = \text{Set}(\text{List}(\text{query}_i)),\quad \text{adSet} = \text{Set}(\text{List}(\text{ad}_i)) $
      • 生成增强数据augmented data

        $ \text{augData} = \text{querySet}\otimes \text{adSet} $
      • 获取低相关性low-relevance 的增强数据:

        $ \text{lowRelAugData} = \text{Relevance_Judger}(\text{augData}) $
      • 获得低相关性增强数据的预估CTR

        $ (\text{lowRelAugData},\text{pCtrs}) = \text{Neural_Click_Model}(\text{lowRelAugData}) $
      • 根据预估CTR 从低相关性增强数据中采样bad case (低相关性且高 pCTR ):

        $ \text{badCases} = \text{Sampling}(\text{lowRelAugData})\;s.t.\;\text{pCTRs} $
      • bad case 添加到 Click_History 的训练 buffer 中:

        $ \text{trainBuffer} = [\text{data},\text{badCases}] $
      • 基于训练buffer 中的数据来更新 Neural_Click_Model 的模型参数:

        $ \text{Updating}(\text{Neural_Click_Model})\;s.t.\;\text{trainBuffer} $

7.2.2 快速广告检索

  1. 在百度的 sponsored 搜索引擎中,我们一直在使用上图所示的深度神经网络(即user query DNNad DNN)来分别获取 query 和广告的 embedding

    给定一个 query embeddingMobius 必须从数十亿个候选广告中检索最相关most relevantCPM 最高的广告。当然,尽管从理论上讲暴力搜索brute-force search 可以发现我们要找的所有广告(即 100% 的广告召回率),为每个query 穷尽计算是不切实际的。在线服务通常有受限的延迟限制,并且广告检索必须在短时间内完成。因此,我们必须利用近似最近邻搜索approximate nearest neighbor:ANN 技术来加快检索过程,如下图所示。

    下图为快速广告检索框架fast ad retrieval frameworkuser query embeddingad embedding 首先被压缩以节省内存空间,然后可以采用两种策略:

    • 通过余弦相似度进行ANN 搜索,然后根据业务相关的权重business related weight: BRW进行重排re-rank
    • 利用权重进行排序,这是一个最大内积搜索Maximum Inner Product Search:MIPS 问题。

  2. ANN 搜索:映射函数通过余弦相似度将用户向量和广告向量组合在一起,然后余弦值通过 softmax layer 产生最终的点击率。这样,余弦值和 CTR 是单调相关的。在模型训练之后,就会清楚余弦值和 CTR 是正相关还是负相关。如果是负相关,我们可以通过对广告向量乘以-1 ,从而很容易将它转换为正相关。这样,我们把CTR 排序问题简化为余弦相似度排序问题,这是一个典型的 ANN 搜索setting

    近似最近邻ANN 搜索的目标是:对于给定的 query 对象,通过只扫描语料库中的一小部分对象,从大的语料库中检索 most similar 的对象集合。这是一个基础fundamental 的问题,从计算机科学早期就开始积极研究。

    通常,ANN 的流行算法是基于空间划分的思想,包括tree-based 方法、随机哈希random hashing 方法、quantization-based 方法、随机划分树random partition tree 方法等等。对于这个特殊的问题(处理稠密的、相对较短的向量),我们发现随机划分树方法相当有效。除了其它变体之外,还有一种叫做 ANNOY 的随机划分树的已知实现。

  3. 最大内积搜索MIPS:在上述解决方案中,在用户向量和广告向量matching 之后,需要考虑业务相关的权重。实际上,这个权重在广告排序中至关重要。为了在排序中更早地考虑权重信息,我们通过加权余弦问题将快速ranking 过程形式化为:

    $ \cos\left(\mathbf{\vec x},\mathbf{\vec y}\right)\times w = \frac{\mathbf{\vec x}^\top \mathbf{\vec y}}{\|\mathbf{\vec x}\|\times \|\mathbf{\vec y}\|}=\left(\frac{\mathbf{\vec x}}{\|\mathbf{\vec x}\|}\right)^\top \left(\frac{\mathbf{\vec y}\times w}{\|\mathbf{\vec y}\|}\right) $

    其中:

    • $ w $ 为业务相关的权重。
    • $ \mathbf{\vec x} $ 为 user-query embedding 向量。
    • $ \mathbf{\vec y} $ 为广告embedding 向量。

    注意,加权余弦构成了内积搜索问题,通常称作最大内积搜索Maximum Inner Product Search: MIPS 。在这项工作中,可以应用多个框架来快速搜索内积。

    基于内积的搜索要比基于模型(如 XGB 模型、DNN 模型)的搜索要快得多,这也是为什么主流的召回阶段采用基于内积的搜索的主要原因。

  4. 向量压缩:为数十亿个广告中的每一个存储一个高维浮点特征向量将会占用大量的磁盘空间。如果这些特征需要在内存中进行快速 ranking ,则会带来更多的问题。

    一个通用的解决方案是将浮点特征向量压缩为随机的二进制binary (或者整数)的哈希码 hash code 或者量化码quantized code 。压缩过程可能会一定程度上降低检索召回率,但是它可能会带来显著的存储优势。

    对于当前的实现,我们采用了一种基于量化quantization-based 的方法(类似于 K-Means 来聚类我们的索引向量),而不是对索引中的所有广告进行排序。当query 到来时,我们首先找到query 向量被分配到的簇cluster,然后从索引中获取属于同一个簇的广告。

    乘积量化product quantization: PQ 的思想更进了一步,将单个向量划分为几个子向量,并分别对每个子向量进行了聚类。在我们的 CTR 模型中,我们将query embeddingad embedding 分割为三个子向量。然后,可以将每个向量分配三个 cluster 质心centroid,每个质心对应于一个子向量空间的聚类。例如,如果我们为每组子向量聚类到 $ 10^3 $ 个质心,则可以利用 $ 10^9 $ 个可能的 cluster centroid ,这对于十亿规模的广告multi-index 需求来说是足够的。在 Mobius-V1 中,我们采用了一种称作 Optimized Product Quantization: OPQ 的变体算法。

7.3 实验

  1. 在将 Mobius-V1 集成到百度sponsored 搜索引擎之前,我们进行了彻底的实验。具体而言:

    • 我们首先需要对我们的点击率预估模型和新的广告索引indexing 方法进行离线评估。我们需要确保我们的 CTR 模型和检索广告的新方法能够发现更多相关性、更高CPM 的广告。
    • 然后我们尝试在线部署,处理百度搜索中的一部分query 流。

    Mobius-V1 在通过线下评估和在线 A/B test 之后,我们在多个平台上启动了它,并监控了 CPMCTRACP(平均点击价格average click price) 等统计信息。

  2. 离线评估:我们加载了搜索日志来收集 click/unclick 历史记录,并构建了一个包含 800 亿个样本的训练集。我们还使用搜索日志来构建测试集,该测试集包含 100 亿条广告 click/unclick 历史记录。

    我们比较了我们主动学习的 CTR 模型和两种 baseline 方法的有效性。

    • 一种方法是原始 ranking layer 采用的 2-classCTR 模型,该模型仅由点击历史记录来训练而不使用任何增强数据augmented data

    • 另一种方法是一个 3-classCTR 模型,它使用随机的增强数据训练,其中增强数据不使用相关性模型(teacher)来判断。

      增强型数据随机被标记为 bad

    如下表所示,我们的模型可以保持与原始 ranking 模型相当的 AUC,但是显著提高了相关性模型得分relevance model score (这个得分是通过我们的相关性模型来度量):得分从 0.312 提升到 0.575 。换句话讲,在 Mobius-V1 模型中,低相关性但是高 CPMquery-ad pair 对被我们的新的 CTR 模型成功地识别为 bad case

    此外,我们将每种方法预测的点击率最高的 top 100000query-ad pair 对交付给百度的众包团队,以便由人类专家对 query-ad pair 对的相关性进行人工评分,评分范围从 0~40 表示无相关性,4 表示非常相关)。人工评分的报告还表明:我们Mobius-V1 中的点击率模型在发现相关的 query-ad pair 对上表现良好。

    下表中,REL(Relevance Model) 表示由原始的 matching 模型评估的、测试集 query-ad pari 对之间的平均相关性得分;REL(Human Experts) 表示人类专家手工评分的、测试集 query-ad pari 对之间的平均相关性得分。

    此外,对于相同的给定的广告集合,我们使用两个广告索引系统 indexing system 来检索广告:随机划分树random partition treeANN+Re-Rank)驱动、OPQCompressed Code+MIPS)驱动。下表显式,OPQ 将广告覆盖率Ad Coverage Rate提升了 33.2%

  3. 在线评估:在线 A/B test 是从平均响应时间Avg Response Time和内存使用率Memory Usage的角度来看 Mobius-V1 的两种不同广告检索策略之间的差异。下表显式了 OPQ 可以提供比随机划分树方法低得多的延迟,并将平均响应时间减少 58ms/query

    此外,我们检查了 top 3% 的高 CPM 广告的平均响应时间,这些广告具有更大的商业价值,但是需要更多的计算资源。数据表明:OPQ 减少了 75%query 延迟(从 120ms 降低到 30ms),并大大节省了内存消耗。

  4. 系统发布:在 Mobius-V1 成功地通过离线评估和在线 A/B test 之后,我们决定在百度内部和外部的多个平台上启动它。这些平台包括手机版的Baidu AppPC 版的 Baidu Search、以及我们sponsored 搜索引擎服务的许多其他关联网站和app 。根据我们对整个在线流量的 7 天监控,下表给出了 CPM, CTR, ACP 的统计数据。

    CPM 是评估 sponsored 搜索引擎性能的主要指标。和以前的系统相比,Baidu AppCPM 显著提高了 3.8%Baidu SearchCPM 显著提高了 3.5% 。其中 Baidu Search 是我们 sponsored 搜索引擎的主要门户网站。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文