论文解读 | 莫比乌斯:百度凤巢提出的新一代广告推荐系统

1、写在前面

广告是绝大多数互联网公司的商业变现方式,但是在广告推荐领域,一直面临这很多的挑战。百度凤巢在精确匹配推荐方面积累了很多丰富的经验。从2010年以来,百度在广告技术中做的一系列世界领先的AI创新工作:
1、2010年,百度开始使用分布式超大规模机器学习模型和分布式参数服务器存储学习模型。
2、2013年,百度开始使用分布式超大规模深度学习模型,参数达到了千亿级。
3、2014年以来,百度开始开展大规模向量近邻检索(ANN)技术和最大内积检索(MIPS)技术研究并用于商用。(注:百度科学家因MIPS工作获得AI顶级学术会议NIPS2014最佳论文奖。)百度广告AI团队开始广泛使用ANN与MIPS技术来提高广告召回质量。
4、2017年以来,百度广告AI团队开始尝试使用分布式GPU系统(4-8块GPU卡)来取代已经在百度使用了10多年的MPI CPU集群。

在2019年夏天美国阿拉斯加州举办的数据挖掘顶级学术会议KDD上,百度发表了使用近邻检索和最大内积检索技术来极大提高百度广告效果的论文:MOBIUS: Towards the Next Generation of Query-Ad Matching in Baidu’s Sponsored Search。论文来自百度研究院李平老师团队(CCL实验室),一作范淼老师也是数据挖掘领域的大牛。论文地址:https://dl.acm.org/doi/pdf/10.1145/3292500.3330651

image.png

2、背景


目前的商业搜索引擎通常采用两步来召回广告,也就是我们所说的广告召回和广告排序,第一步是根据给定的query检索出相关的广告,第二部是考虑商业指标和用户体验等进行排序。百度凤巢广告系统采用三层系统架构图,如下图。第一层是matching层:利用用户的 query 和用户画像,包括进行一系列query 的处理,从十亿级的广告库中召回跟用户 query 相关的千级别的广告队列, 第二层和第三层是ranking 层,粗排和精排,粗排的性能比精排好,粗排从千级别的广告候选中中召回top 的上百条,精排选出 top 的前几条。ranking 关注的是业务指标以及用户体验指标,比如 cpm、roi 等。


image.png

为什么采用这样的三层漏斗架构?主要是作为每天提供几亿人查询的在线系统,以及十亿级的广告库,每次检索需要从上亿的广告中筛选出相关的出来。工程架构上要求低响应延迟,同时有计算资源的约束,通过三层漏斗架构,达到工程架构和算法效率上的一个折衷。

3、问题

这样的漏斗架构存在什么样的问题呢?最主要的一个问题是matching 层和 ranking 层的优化目标不一致,matching 层侧重优化相关性,而 ranking 层主要优化商业指标 ctr、cvr、roi 等。两层的目标不一致导致,matching 层相关性较低但是 cpm 高的广告被挤占,matching 层召回的广告在 ranking 层由于 cpm 比较低被截断,从而影响展现。为了解决这个问题,百度提出了一种基于多任务的下一代广告推荐系统Mobius。这个项目是将广告召回和广告排序层融合,统一不同的学习目标,兼顾相关性和业务指标。


image.png

4、挑战

将 matching 层和 ranking 层融合,Mobius 就需要有能力针对数十亿的 query-ad 进行精确的 ctr 预估。要实现这个目标,需要解决两个问题:
<1>点击样本不足:ranking 层的训练数据大多是高频的 query 和高频的 ads,在 matching 层,很多 ads 之前都没有展现机会。只要高频展现的 ad 或者 query 出现,模型就明显的高估,这样长尾样本的泛化能力不好。

Mobius 最开始是直接复用之前的 ctr 模型,之前的 ctr 模型包含了千亿级别的特征,但是对于低频样本的预测,比如长尾和冷启动的用户和广告,会存在比较严重的预估偏差。因为模型去掉了之前的 matching 层的相关性约束,模型容易预估出高 ctr 但是 相关性很差的结果。

比如,用户查询Tesla model3white rose两个query。传统的漏斗型架构,首先通过matching 层保证Mercedes-BenzTesla model3的相关性,
然后 ranking 层预估 ctr很高,从而得到展现。
但是在用 mobius 预估时,广告库是上亿量级的候选集,自然很多是出于长尾的,
white rose是长尾,但是Mercedes-Benz出现频繁,但是如果query和或者ad中有一个频繁出现,那么ctr模型也会认为这个query-ad pair的ctr很高,那么Mercedes-Benz可能跟很多query组合都会被认为ctr很高,从而针对white rose系统也会召回相关性没那么高的Mercedes-Benz广告,这就出现不正确的召回了

image.png

<2>高计算和存储成本:传统广告推荐系统采用多层漏斗架构,减少每一层需要预估的条数,从而缓解性能问题,Mobius 预计要预测数十亿用户 query 和广告的多个指标(相关性、ctr、roi 等),面临这计算资源消耗更大的挑战。

5、问题表达

原来的 ranking 层的目标是:


image.png

而 mobius 的目标是:


image.png

6、方法

为了解决上面的问题,文中认为主要是怎么让模型识别出低相关性并且高 ctr 的 query-ad 作为 badcase。为了学习 badcase 的稀疏样本,就要构造出足够的 badcase 样本,再通过模型的目标函数中加上额外的 badcase 进行学习。
Mobius 采用了如下的方法,将原来三层结构中的相关性模型用来做 teacher 模型筛选 query-ad 对,同时指导 mobius 的排序模型 student 在引入额外主动学习进行数据增强后的 badcase 样本上更好地训练。

整体流程分为数据增强和点击率模型学习。

数据增强
目标是希望模型有更多的低相关性高 ctr 的样本,拿到训练样本,得到 query-ad 对,然后拆分出 query的集合 和 ad 的集合,做笛卡尔积。假设用户的点击样本中有 m 个query 和n 个 ad,那么数据增强之后可以得到 m x n个 query-ad 对。然后 teacher 对每一个 query-ad 评分,用一个门槛把相关性低的 query-ad 找到,再把 query-ad 给 ctr 模型,找到相关性低但是高 ctr 的数据作为 badcase


image.png


在模型训练阶段,点击历史中点击数据、未点击数据和数据增强中的 badcase 都被输入给模型,模型由 user query DNN 和 ad DNN组成双塔模型,两个子网络分别产出三个32维的向量,然后三个向量分别去做内积,得到的三个结果输入给 softmax 层得到概率

image.png

对于一个查询 query,mobius 必须从数十亿个广告候选中检索出最相关和cpm 最高的广告,暴力搜索是不现实的,因为在线服务往往具有有限的延迟约束,广告检索必须在短时间内完成。文中采用ANN(Approximate Nearest Neighbor)和MIPS(Maximum Inner Product Search)算法来加快计算速度


image.png

7、未来工作

将优化用户体验和业务目标统一起来
引入更多的业务目标
采用 GPU 的快速神经网络系统

欢迎经验交流


qrcode_for_gh_e6ca5e404568_258.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343