阿里妈妈展示广告多场景下的星型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
欢迎关注「阿里妈妈技术」公众号,了解更多~