▐ 摘要

阿里妈妈展示广告需要为大量的场景提供广告排序能力,在业务场景数急剧膨胀的背景下,我们开始研究多场景联合建模。本篇文章主要介绍,我们在多场景建模下遇到的挑战、挑战背后的思考以及算法工程 co-design 的解决方案——多场景下的星型 CTR 预估模型 STAR。该项工作论文已被CIKM 2021接收,欢迎交流讨论。

论文下载:https://arxiv.org/pdf/2101.11427

▐ 背景

随着业务的演进,阿里妈妈展示广告rank团队需要在越来越多的广告场景提供广告排序能力,包括淘宝首页猜你喜欢,购后(包括购物车订单页等八大场景),阿里系引流的各大活动场景以及对外部流量竞价成功后的跳转到淘内的广告浏览页面。

以往我们通常在各个场景单独建模,之所以多场景联合建模,主要是从算法和效能两方面考虑。算法层面,各个场景独立建模受限于数据量,长尾场景学习不充分,而简单共享模型难以建模场景差异性;效能方面,我们需要考虑系统资源和人力成本限制。

多场景建模的一个难点是,不同场景分布不同,如何同时建模场景共性和差异性。具体来说不同场景具有用户差异,即使是同一用户,在不同场景下的心智也不同,页面呈现的形式和内容,进入页面前的用户状态也有很大的差异。这两点反映在数据里的现象是,同一广告在不同场景下的展现频次、平均点击率等均有较大的差别。也就是说,尽管不同场景之间的共性和关联性可以共享信息,但与此同时,受产品形态和引流方式的影响,各场景也存在一定的差异性。

我们总结了多场景建模的三个挑战:1)场景数多且存在长尾问题;2)不同场景样本分布差异大;3)人力和资源的限制。我们的建模重点是有效利用场景间共性并建模不同场景差异性,同时打造一套兼顾效能,可快速迭代的建模体系。

▐ 问题定义

现在我们形式化多场景建模这个问题,并与单场景 CTR 预估进行对比。传统单场景 CTR 模型是对于样本 x 进行预估,数据从单个场景中采样得到,这背后的假设是样本独立同分布。但在多场景建模中,模型对于样本 x, p 进行预估,其中 p 是 domain indicator。在多场景建模中,数据是从多个相关但分布不同的场景中采样得到,样本只在场景内独立同分布。

和多场景建模很相似的任务是多任务学习,但这二者关注点不同。多任务学习解决相同场景/分布下的不同任务,而多场景建模解决不同场景/分布下的相同任务。例如:推荐场景下的多任务学习通常是单个样本对于 CTR,CVR 等目标同时预估,而多场景建模是对不同场景样本预估相同的 CTR 目标。直接采用多任务学习的方法解决多场景建模也会存在一些问题。

对于多场景建模,如果采用各场景独立的方式,会忽视场景共性,导致长尾小场景难以学好,同时每个场景维护一个模型极大地增加系统资源开销和人力成本;如果直接将样本混合,训练共享模型,会忽视场景差异性,导致预测准度下降。

▐ STAR

对于多场景建模问题,我们的核心想法是同时学习场景内特定行为和场景间的共性行为。沿着这个想法,我们提出了 STAR 模型,通过场景私有参数和场景共享参数同时建模场景差异性和共性。场景私有参数以及场景共享参数最终聚合得到每个场景的模型。STAR 的结构如下图所示。

STAR 主要包含三部分,星型拓扑结构的全连接网络(STAR Topology Fully-Connected Network),Partitioned Normalization 以及辅助网络。我们接下来会依次介绍。

STAR Topology Fully-Connected Network

在STAR中,对于每一个FC层,都有中心的共享参数和场景私有参数,每个场景最终的参数通过二者进行element-wise product得到:

假设FC层的输入是,那么输出由下式计算得到:

通过这样的实现方式,STAR的共享参数被所有场景样本的梯度更新,学习场景共性,而场景私有参数只被场景内样本更新,建模场景差异性。

Partitioned Normalization

为了加快模型收敛,现在很多 CTR 模型都会采用 BN。展示广告之前的CTR模型中在 embedding 之后会过一层 BN,同时 FC 激活函数 DICE [2] 还会有BN。但是 BN 在多场景中会有一些问题,我们提出了 Partitioned Normalization(PN)。

回顾 BN,我们可以发现 BN 其实假设所有样本 i.i.d. 并使用所有样本的共享统计量进行normalization。但在多场景建模中,样本只在场景内独立同分布,使用共享统计量/参数混淆了分布差异,不利于更加精细的建模。

对此,PN 的解决方案是对不同场景采用私有统计量和可学习参数。具体来说,PN 累计 domain-specific 的滑动均值 以及方差 并且进行 domain-specific 的变换。

通过这种方式,PN 实现了对不同场景进行自适应的 normalization,保留场景差异信息,进行更加精细的建模。

Auxiliary Network

除了 STAR FCN 和 PN,我们还设计了一个 Auxiliary Network。我们认为好的多场景模型应该具备丰富的场景特征并能让场景特征能够直接影响最后的 pctr,学习场景差异性。因此,类似于 wide and deep 的做法,我们引入一个额外的小辅助网络,将场景相关特征送进去,并将 auxiliary network 输出与 STAR 网络相加得到最终 pctr。这样能够让场景相关特征直接影响最终预测值,捕捉场景差异性。

对比 MMoE

我们也注意到,业界很多技术部门采用了 MMoE 的方式建模多场景。其实在多场景建模问题上,STAR 相对 MMoE 更具优势

  • MMoE 对不同任务采用独立的 FC 层,缺少共享参数,而 STAR 的 FC 层共享参数可以学习场景共性行为。

  • MMoE 通过可学习 gate 隐式的建模场景间的关系,这样会丢失显示的 domain-specific 知识,而 STAR 引入场景先验,通过场景私有/共享参数 而不是 gate 显示建模场景间的关系,保留显示的 domain-specific 知识(保留在场景私有参数内)。

  • MMoE 通过 gate,需要计算每个场景的 expert,相对共享模型 FC 层会有 M 倍的计算开销 (M 为场景数,通常较大,在展示广告下可达上百),而 STAR 稀疏激活的特性不引入额外计算,和原来计算开销持平。

  • 由于 gate 的学习存在冷启动,MMoE 对于新场景不友好,而 STAR 更易于接入新场景,只需将新场景私有参数全初始化为1即可开始 fine-tune 接入,更加符合展示广告场景动态变化的需求。

在离线实验

我们在展示广告生产数据集上进行了实验,对比方法包括 Base (共享模型),Shared-Bottom, MulANN, MMoE, Cross-Stitch。实验结果显示,STAR 可以一致的提升各个场景的表现。我们也进行了 Ablation Study 分析了每个模块的效果。

在真实生产环境的流式训练环境下,我们重新设计了样本管线,将样本流拆分为多个场景,轮流输出进行训练,每个 batch 仅包含一个场景样本。为了缓解不同场景流量高峰不同的 “跷跷板”效应,ODL 会缓存并 shuffle 样本,确保每个时刻样本分布不会发生突变。STAR 上线后,在不额外增加特征、算力、RT 的情况下,取得了 ctr+8% rpm+6% 的效果。

▐ Beyond多场景建模

“业务没有多场景,STAR还能用吗?”

事实上,STAR 开启的视角远比多场景建模宏大,STAR 提供了一个混合多分布下的差异化精准建模方案。我们发现,推荐广告样本往往是多个子分布混合的数据,例如在电商场景下,男女用户的点击行为具有很大差异,不同场景下的用户心智显著不同。在这种混合多分布数据下,采用同样的模型参数混淆了不同分布的差异,不利于更精细的CTR建模,而 STAR 恰好提供了一个混合多分布下的差异化精准建模方案,而场景是划分样本分布的一种重要方式。它把我们对通用建模中一些细微的、先验认为具备特征间/样本间差异性的信息,如场景,通过对应的输入特征设计独立的网络结构,把d omain knowledge 变成网络结构引入,实现更加精细的建模。我们实验发现,STAR在不同样本划分方式均有一定提升,如用户性别,年龄,广告类目等均有 GAUC +0.2% 以上的提升。我们也期待后续有更多工作沿着这条思路走下去,构建“一人一世界”的模型。

References

  1. Xiang-Rong Sheng, Liqin Zhao, Guorui Zhou, Xinyao Ding, Binding Dai, Qiang Luo, Siran Yang, Jingshan Lv, Chi Zhang, Hongbo Deng, and Xiaoqiang Zhu. 2021. One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction. CIKM 2021. https://arxiv.org/pdf/2101.11427

  2. Guorui Zhou, Xiaoqiang Zhu, Chenru Song, Ying Fan, Han Zhu, Xiao Ma, Yanghui Yan, Junqi Jin, Han Li, and Kun Gai. 2018. Deep interest network for click-through rate prediction. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 1059–1068.

关于我们

阿里妈妈展示广告核心算法团队负责广告系统的核心召回及排序算法迭代和创新研发,致力于利用人工智能前沿技术打造超大规模体量下的工业级深度学习框架和创新解决方案及相应的基础设施。团队在用户兴趣建模、深度树匹配范式等技术持续深耕,并在工业级领域的深度学习框架上有着深厚的积累。近年在SIGKDD、SIGIR、NIPS、CIKM、AAAI等学术会议上发表多篇论文。欢迎感兴趣同学加入我们~

投递简历邮箱:

alimama_tech@service.alibaba.com

END

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

疯狂暗示↓↓↓↓↓↓↓

CIKM 2021 | 多场景下的星型CTR预估模型STAR相关推荐

  1. 阿里妈妈技术:多场景下的星型CTR预估模型STAR

    阿里妈妈技术:多场景下的星型CTR预估模型STAR 1.背景 问题定义 2.建模方案(STAR) 2.1.STAR Topology Fully-Connected Network 2.2.Parti ...

  2. 【多场景建模】CIKM2021 阿里妈妈多场景CTR预估模型STAR 论文精读

    文 | Youngshell 审 | bindingdai 多场景建模是推荐系统CTR预估领域比较热门的一个研究方向,本次给大家分享的论文是: <One Model to Serve All: ...

  3. CIKM 2021 | AutoHERI: 基于层次表示自动聚合的 CVR 预估模型

    本文主要介绍阿里妈妈大外投广告算法团队在 CVR 预估模型与多任务学习方法上的一些探索.我们提出了一种基于层次表示自动聚合的 AutoHERI 模型(Automated Hierarchical Re ...

  4. 【DBMS 数据库管理系统】多维数据模型 ( 星型模式 | 雪片模型 | 事实群模型 | 度量 | 分布型 | 代数型 | 整体型 )

    文章目录 一.星型模式 二.星型模式 缺点 三.雪片模型 四.星型模型 雪片模型 折衷方案 五.事实群模型 ( 仅做了解 ) 六.度量 一.星型模式 星型模式 是 多维数据模型 的表现形式 ; 星型模 ...

  5. 创意视角下的数字广告CTR预估挑战赛_catboost_score0.51

    创意视角下的数字广告CTR预估挑战赛baseline_catboost版本_score0.51 1. 赛事任务 2. 数据处理 3. 模型训练与评估 比赛链接 1. 赛事任务 广告的CTR预估需要强大 ...

  6. EMNLP 2021 | ST-ToD:小样本场景下的任务型对话预训练

    ©PaperWeekly 原创 · 作者 | 褚维芜 单位 | 北京邮电大学研究生 研究方向 | 自然语言处理 论文标题: Self-training Improves Pre-training fo ...

  7. CIKM 2021 | 基于异质图学习的搜索广告关键词推荐

    丨目录: - 摘要 - 背景 - 问题定义 - 方法 - 在离线实验 - 结语 - 相关文献 ▐ 摘要 近年来,在线广告在消费者侧的大量工作受到了广泛关注,对广告平台来说,广告主营销优化工作在广告系统 ...

  8. 阿里妈妈技术团队 6 篇论文入选 CIKM 2021

    关于 CIKM CIKM(The Conference on Information and Knowledge Management ) 是由ACM主办的信息检索和数据挖掘等领域的国际顶级会议,在相 ...

  9. 广告深度预估技术在美团到店场景下的突破与畅想

    猜你喜欢 1.如何搭建一套个性化推荐系统? 2.某视频APP推荐详解(万字长文) 3.微博推荐算法实践与机器学习平台演进 4.腾讯PCG推荐系统应用实践 5.强化学习算法在京东广告序列推荐场景的应用 ...

最新文章

  1. 微信小程序把玩(四)应用生命周期
  2. WCF系列(四) -- 也谈序列化(上)
  3. 阿里架构师眼中Dubbo的过去,现在以及未来
  4. WEB前端 前端开发者 如何突破技术瓶颈
  5. MySQL 8.0 数据字典有哪些变化?
  6. 问题六十:怎么用ray tracing画回旋体(rotational sweeping / revolution)
  7. 毕业设计 ASP.Net+EasyUI开发 X X露天矿调度管理信息系统(一)
  8. Ubunu16.04安装CPU版本Tensorflow
  9. gitlab怎么将建好的项目移到某个组下
  10. 使用hping3进行DoS攻击
  11. 路由器,交换机和猫的区别
  12. 网络数据爬取实例教程
  13. 第六届苏州·张家港全球创新创业大赛等你来赛!
  14. 多测师肖sir_高级金牌讲师_项目介绍之保险项目的案例
  15. OSChina 周一乱弹 —— 无双什么都好,但不是芙妹
  16. winscp使用教程 linux,WinSCP使用方法教程
  17. ubuntu14.04LTS安装steam
  18. 一套仿英雄联盟大型多人联机实时对战游戏源码(包含完整服务器和客户端源码)...
  19. 与众不同的微前端设计思维
  20. 04 Python | 写入古诗并复制到新文档

热门文章

  1. java环境变量path好长_java环境变量设置
  2. android浮于上方布局,android-在FrameLayout中使RecyclerView上方的视图...
  3. java线程runnable_Java 线程状态之 RUNNABLE
  4. matlab中nlfilter函数,matlab的一些关于块分类的函数~~~
  5. the job was canceled什么意思_宇宙中的第一种颜色是什么?
  6. 基于CAD/CAM的三维控件
  7. Android开发之Android性能优化记录
  8. com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGI
  9. android开发之Glide加载图片之url转bitmap的方法
  10. 配置bond和vlan