阿里妈妈展示广告多场景下的星型CTR预估模型STAR

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 多场景下的星型CTR预估模型STAR 阿里妈妈-展示广告-RANK 盛祥荣 2021-12-19
2. 目录 • 多场景建模STAR • 多分布建模Branch-STAR • 样本个性化预估 • 总结
3. 业务背景 阿里妈妈展示广告需要为不同的广告场景提供排序能力 首页猜你喜欢 场景共性 • 相似的用户和广告集合 中小场景 购后 场景的差异性 • 用户和广告集合存在一定差异 • 广告内容展示形式有差异 • 用户不同场景心智不同 外投
4. 背景 业务目标 • 以最好的效果和最少的成本来服务各个场景 场景大类 场景数 流量来源 首猜 1 淘宝首页 购后 8 购中购后 中小场景 60+ 阿里系产品引流 外投 100+ 外部媒体引流 场景数多如何建模? • 100+场景
5. 多场景(联合)建模 为什么多场景建模? • 算法:独立建模受限于数据量长尾场景学习不充分,简单共享模型难以建模场景差异性 • 效能:系统资源和人力成本限制 首猜 购后 中小场景 不同场景分布不同,如何同时建模场景间共性和差异性? 外投
6. 多场景建模:挑战 挑战 • 场景数多且存在长尾问题 • 不同场景样本分布差异大 • 人力和资源的限制 建模重点 • 有效利用场景间共性并建模不同场景差异性 • 一套兼顾效能,可快速迭代的建模体系
7. Problem Formulation
8. 多场景建模 多场景建模对于样本?, ?进行预估,其中 ? 是domain indicator • 数据从多个相关但分布不同的场景中采样得到 • 假设:样本只在场景内独立同分布 传统单场景模型对于样本?进行预估 • 数据从单个场景中采样得到 • 假设:样本独立同分布
9. 多场景建模与多任务学习 关注点不同 • 多任务学习解决相同场景/分布下的不同任务 • 多场景建模解决不同场景/分布下的相同任务 Samples Samples Samples Samples Domain 1 Domain 2 CTR CVR 多任务学习 CTR 多场景建模 Domain 3
10. 多场景建模与多任务学习 常见的多任务学习方法 Shared-Bottom MMoE 直接采用多任务学习方法存在问题 • 不同任务一般是异质的,由于任务的异质性,多任务学习对于上层的全连接网络一般是单独建模 • 没有利用到多场景中任务同质的性质,即各个任务都是CTR任务的性质.由于各个场景都是同质的CTR预估任务,可以更加 充分挖掘场景之间的共享信息的方式 Ma et. al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts . KDD 2018
11. 现有方法的问题 独立建模 • 忽视场景共性,长尾小场景难以学好 • 增加系统资源开销和人力成本 简单共享模型 • 忽视场景差异性
12. STAR
13. STAR: Overview Star topology fully-connected networks Partitioned normalization Auxiliary network
14. 工业界通用CTR模型结构 Embedding+MLP结构 • Embedding: 将原始离散ID映射为低维向量 • Pooling & concatenation: 聚合embeddings [1, 2]得到定长的向量 • Normalization: batch normalization, layer normalization • Multi-layer fully-connected networks (FCN) Single-Domain Training and Serving • 模型在本场景数据训练并服务 [1] Zhou et al. Deep interest network for click-through rate prediction. KDD 2018 [2] Zhou et al. Deep Interest Evolution Network for Click-Through Rate Prediction. AAAI 2019
15. STAR: 研究动机 核心想法 • 同时学习场景内特定行为和场景间共性行为 STAR • 场景私有参数 以及 场景共享参数 • 通过聚合场景私有参数以及场景共享参数得到每个场景的模型 Domain 3 Domain 2 Shared (a) Domain 4 Domain 1 Domain 8 Domain 3 Domain 5 Domain 7 (b) Domain 6 Domain 2 Domain 1 Domain 8 Domain 4 Shared Domain 7 (c) Domain 5 Domain 6
16. STAR: Overview Star topology fully-connected networks Partitioned normalization Auxiliary network
17. STAR Topology Fully-Connected Network 对于每一个FC层 • 共享参数 ? 和 场景私有参数 ? ! • 第?个场景的? !⋆ 通过? 与 ? ! element-wise product得到 element-wise x = = = =
18. STAR Topology Fully-Connected Network 对于每一个FC层 • 共享参数 ? 和 场景私有参数 ? ! • 第?个场景的? !⋆ 通过? 与 ? ! element-wise product得到 element-wise x = = = = 梯度更新 • ?, ?: 被所有样本更新,学习场景共性 • ? ! , ? ! : 被场景内样本更新,建模差异性
19. STAR: Overview Star topology fully-connected networks Partitioned normalization Auxiliary network
20. CTR预估:Batch Normalization Batch normalization • 计算机视觉: shape (B, C, H, W ) -> per-channel normalization • 推荐: shape (B, D) -> per-dimension normalization Yuxin Wu and Kaiming He. Group Normalization. ECCV 2018
21. 回顾BN 回顾 Batch Normalization (BN) • BN 假设所有样本 i.i.d. 并且使用所有样本的共享统计量进行normalization BN during training • ? 和 ? # 分别是Batch均值以及方差, ?, ? 是可学习的 scale 以及 bias BN during testing • ? 和 ??? 分别是滑动均值以及方差
22. 回顾BN 回顾 Batch Normalization (BN) • BN 假设所有样本 i.i.d. 并且使用所有样本的共享统计量进行normalization BN during training • ? 和 ? # 分别是Batch均值以及方差, ?, ? 是可学习的 scale 以及 bias 在多场景建模中,样本只在场景内独立同分布, BN during testing • ? 和 ??? 分别是滑动均值以及方差, ?, ? 是可学习的 scale 以及 bias 使用共享统计量/参数混淆分布差异
23. Partitioned Normalization Partitioned Normalization (PN) • 对不同场景采用私有统计量及可学习参数 • PN累计domain-specific的滑动均值 ? ! 以及方差 ??? ! 并且进行domain-specific的变换
24. Partitioned Normalization PN during training • ? 和 ? ! 分别是Batch均值以及方差, ? " ? " 是可学习的分场景scale 以及 bias PN during testing • E ? 和 ??? ? 分别是累计的分场景均值以及方差
25. Partitioned Normalization PN during training • ? 和 ? ! 分别是Batch均值以及方差, ? " ? " 是可学习的分场景scale 以及 bias PN during testing • E ? 和 ??? ? 分别是累计的分场景均值以及方差 PN对不同场景进行自适应的normalization,保留场景差异信息
26. STAR: Overview Star topology fully-connected networks Partitioned normalization Auxiliary network
27. Auxiliary Network 好的多场景模型应该具有以下特性 • 具备丰富的场景特征 • 场景特征能够直接影响最后的pctr,学习场景差异性 Auxiliary network • 输入: 场景相关特征 • auxiliary network输出与STAR网络相加得到最终pctr pctr = Sigmoid(?????? ???? + ?????? ????????? )
28. STAR对比MMoE-based方法 MMoE的一些问题 STAR • 独立的FC层 (缺少共享参数) • FC层共享参数学习场景共性行为 • 隐式建模 (丢失显示的domain-specific知识) • 显示建模(保留显示的domain-specific知识) • M 倍的计算开销 ( M 通常较大) • 1 倍的计算开销 (稀疏激活) • 新场景不易接入(gate的学习存在冷启动) • 易于接入新场景(令 ? ! 为 1) element-wise x = = = =
29. 实验 离线实验 • Setting: 19个场景 • 对比方法: Base (共享模型), Shared-Bottom, MulANN, MMoE, Cross-Stitch 结果 • STAR可以一致的提升各个场景的表现
30. Ablation Study STAR FCN以及PN单独效果 • 相对Base (BN)都有提升 Auxiliary network • 一致地提升各个对比方法 场景差异性 • PCOC: predicted CTR over CTR • STAR可以实现更加准确的预估
31. 在离线实现 ODL样本构造 • 借助团队的伯努利系统,高效地对多个场景数据源进行组合进行online learning 模型训练 • 重新设计样本管线,将样本流拆分为多个场景,轮流输出进行训练 Shuffler • ODL缓存并shuffle样本,缓解“跷跷板”效应 在线inference • 结合业务实际和模型特性,在线serving对网络参数进行选择 效果 • 纯结构增益,ctr+8% rpm+6%
32. 小结 多场景建模 • 多个相关但分布存在差异的场景 • 联合建模,兼顾效能 STAR同时建模场景共性以及场景差异性 • STAR Topology Fully-Connected Network • Partitioned Normalization • Auxiliary Network
33. “业务没有多场景,STAR还能用吗?”
34. Beyond多场景建模 STAR提供了一个混合多分布下的差异化精准建模方案 • 推荐样本往往是多个子分布混合的数据,例如在电商场景下,男女用户的点击行为具有很大差异,不同场景下的用户心智 不同,而场景只是划分样本分布的一种方式 • 混合多分布数据下,采用同样的模型参数混淆了不同分布的差异,不利于更精细的CTR建模 STAR将先验知识作为网络结构引入 • 通用建模中一些细微的、先验认为具备特征间/样本间差异性的信息,如场景,通过对应的输入特征设计独立的网络结构, 把domain knowledge 变成网络结构引入,实现更加精细的建模
35. 多分布建模 可行性分析:现有的统一建模方案是否在某些分布的学习上存在信息损失 • 用户:用户性别 GAUC+0.2% /年龄 GAUC+0.3% /地域 … • 广告:类目 GAUC+0.3% • 模型划分:按照双塔模型的user向量聚类结果划分并用STAR建模,GAUC+0.2% 探索实验分析 • 划分与用户兴趣越相关效果越好 • 分类越精细效果越好,长尾的分布样本量少统一建模精度损失更大
36. 多分布建模 准确性 样本存在多种分布划分方式(场景、用户、商品),如何利用这些分组信息? 泛化性 直观想法 利用效果提升最多的划分方式进行分组然后STAR建模 没有有效利用其他分布划分信息 将不同分布的划分进行组合 划分个数指数增长不可扩展 划分粒度过细导致泛化性差
37. 多分布建模:分布组合 如何有效叠加不同分布划分带来的信息增益? 解决方案: Branch-STAR • 思考:影响用户点击的因素什么? • 什么类型的用户、在什么类型的场景下、看到了什么类型的商品 • 建模三类划分:用户,场景,商品 • 结构:对于不同分布划分,都会有自己独立的一个STAR结构,最后不同分布STAR输出的logits会经过reduce mean得到最 终的logits,经过sigmoid后得到最终的pctr ctr loss loss mean
38. Branch-STAR Branch-STAR的优势 • 建模多种分布:不同分布具有自己的STAR输出 • 可扩展:假设用户分布划分分组的个数为a,商品分布划分分组的个数为b,场景分布划分分组的个数为c,相对于直接笛卡 尔积然后单个STAR建模(引入abc倍的specific参数),branch-star通过不同的STAR只需a+b+c倍的specific参数 辅助Loss • 对每个分布的STAR输出都会计算pctr并用label进行监督,确保每个分布的输出具有物理意义 在线效果 • Branch-STAR有效地提升了不同分布的建模准度,上线后相对STAR CTR+8%,RPM+5% ctr loss loss mean
39. 小结 推荐数据为混合多分布数据 • 精准差异化建模,平衡准确性和泛化性 多分布叠加方案:Branch-STAR • 同时建模并叠加多个分布,高效可扩展 ctr loss loss mean
40. 思考 Why STAR/Branch-STAR work • STAR/Branch-STAR把通用建模中一些细微的、先验认为具备样本间差异性的信息,通过对应的输入设计独立的网络结构, 把domain knowledge变成网络结构引入 人工先验分组是否最优? • 先验分组粒度较粗&偏启发式,模型表达能力受限,如果能同时利用先验信息结合model based个性化预估,应该会取得 更好的效果 结合先验信息+model based预估,进行更精细、准确的分布刻画和建模!
41. 样本个性化预估 对于不同样本,模型激活不同参数进行预估 (sample-dependent),进行精细的差异化建模 模型分为多个sub model,同时还有一个可学习的router负责将样本分发到不同sub model中
42. 业界相关工作 MOE类算法: sparsely-activated models • SWITCH TRANSFORMERS (Google, ArXiv 2020) • Sparsely-Gated Mixture-of-Experts Layer (Google, ICLR 2017) • Per-example routing model (Google, ICLR 2018) 广告CTR预估如何做到更加精细的样本个性化预估
43. 推荐系统下的直接MOE实现 MOE • 选取Gate值TopK大的子模型并将输出reduce mean • 效果GAUC-0.2% • 添加负载均衡loss/添加随机噪声/对gate引入监督信号,实验均无提升 分析 • 将路由结果打出,发现路由网络的输出基本固定在特定的两个网络,网 络难以同时学习路由和网络参数 • 无法利用对分组有效的先验信息如场景,用户分组等
44. 先验结合样本自动路由 解决思路 • 保证初始分类有意义 • 引入先验分组有效的信息 具体方案 • 为每个子模型维护“原型(prototype)向量”,代表其训练过的样本集的原型;结合先验知识,原型向量仅使用少量先验验证 对划分有效的特征,保证最差情况退化成按照先验分组 • 利用当前样本embedding与各原型向量的相似度,进行样本自动路由 • 为softmax增加Temperature,防止相似度计算过于平均 对比shared bottom GAUC+0.35% 无Temperature参数 Temperature=0.1
45. 总结 推荐系统训练样本分布差异大 • 所有样本服从同样的分布这个假设通常不成立,样本可能来自不同的场景,不同用户点击兴趣差异可能非常大 • 采用同样的模型参数混淆了不同分布的差异,不利于更精细的CTR建模 通用兴趣建模->精细化建模 • 首先根据先验/模型将样本划分为不同的分组,然后对于混合的多分布样本进行差异性建模 • STAR/Branch-STAR/样本个性化预估 未来 • 稀疏激活的模型设计与现在NLP领域 超大规模模型的探索,例如Switch Transformer有异曲同工之处 • 持续推进精细化建模
46. Reference • 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/abs/2101.11427 欢迎关注「阿里妈妈技术」公众号,了解更多~

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 05:40
浙ICP备14020137号-1 $Map of visitor$