# 请简述阿里妈妈提出的LS-PLM模型的原理与数学形式。
LS-PLM可以看作对逻辑回归的自然推广,在逻辑回归的基础上采用分而治之的思路,先对全量样本进行聚类分片,再对每个分类施以逻辑回归模型进行CTR预估。
其数学形式如下,首先用聚类函数
论文中一个直观的例子,如下图,LR不能拟合非线性数据,MLR可以拟合非线性数据,因为划分-训练模式。
这种菱形分界面(非线性数据)其实非常难学,但MLR在其中表现出色。通过控制分片数量m,可以平衡模型的拟合能力和过拟合。上图m=4。论文中m=12得到了不错的效果。
其中超参数即分片数
# 请简述LS-PLM的结构化先验是什么?
MLR中非常重要的就是如何划分原始特征空间。
通过引入结构化先验,我们使用用户特征来划分特征空间,使用广告特征来进行基分类器的训练,减小了模型的探索空间,收敛更容易。
同时,这也是符合我们认知的:不同的人群具有聚类特性,同一类人群具有类似的广告点击偏好。
# LS-PLM中使用了线性偏置,是怎么回事?
针对CTR预估问题中存在的两种偏置:
- Position Bias:排名第1位和第5位的样本,点击率天然存在差异。宝贝展示的页面、位置影响点击率
- Sample Bias:PC和Mobile上的样本,点击率天然存在差异。
在原来宝贝特征x的基础上,增加偏移向量y(场景、页数、位置等)。如果直接学习联合概率P(X,Y)面临问题:学习联合概率一定需要x和y的大部分组合,但是实际情况,并不是所有的x,y的组合都能有采样。针对这个问题,提出了带偏移MLR算法,形式化表述如下:
而且,大规模非线性CTR预估和偏移变量的分解一起优化。并且,只需要很少的一些x,y组合就可以了。从论文给出的数据中,AUC提高了2-8个百分点。
# LS-PLM是如何使用模型级联来训练的?
LS-PLM支持与LR的级联式训练。有点类似于Wide & Deep,一些强Feature配置成级联形式能够提高模型的收敛性。例如典型的应用方法是:以统计反馈类特征构建第一层模型,输出FBctr级联到第二级大规模稀疏ID特征中去,能得到更好的提升效果。
反馈特征常用的如反馈CTR,是指系统上线一段时间之后得到的历史CTR值。
# LS-PLM模型的优势有哪些?
LS-PLM适用于推荐广告等大规模稀疏数据的场景,其优势在于:
1)端到端的非线性学习能力:LS-PLM具有样本分片的能力,因此能够挖掘出非线性模式,省去了大量的人工样本处理和特征工程的过程,可以端到端训练,便于用一个全局模型对不同应用领域、业务场景进行统一建模。
2)模型的稀疏性强:在建模时引入了L1和L2,1范数,可使得最终训练出来的模型局哟偶高度的稀疏度,使模型的部署更加轻量级。模型服务过程仅需使用权重非零特征,因此稀疏模型也使其在线推断效率更高。
# LS-PLM模型为何要进行增量训练?
实验证明,MLR利用结构先验(用户特征进行聚类,广告特征进行分类)进行pretrain,然后再增量进行全空间参数寻优训练,会使得收敛步数更少,收敛更稳定。
# LS-PLM的工程中使用了并行化,请介绍一下。
论文里的实现基于分布式,包括两个维度的并行化,模型并行化,数据并行化。每一个计算节点中都包含两种角色:Server Node, Worker Node,这样做的好处有两点:
- 最大化利用CPU计算资源。之前大多数Server Node单独放到一台服务器上,造成CPU资源的极大浪费。
- 最大化利用Memory资源。
# LS-PLM模型工程化中有一个 Common Feature Trick,请简述一下。
一个用户在一次pageview中会看到多个广告,每个广告都组成一条样本。所以这些样本之间很多特征都是重复的。这些特征包括:用户特征(年龄、性别等)、用户的历史访问信息(之前购买的物品、喜欢的店铺等)。那么我们对于向量内积的计算分成两部分:common和non-common parts:
利用Common Feature Trick可以从三个方面来优化并行化:
- 对于有Common Feature的样本作为一组一起训练,并保证在存储在一个worker上
- 对于Common Feature仅仅保存一次,以便来节省内存
- 对于Common Feature的loss和梯度更新只需要一次即可
下面是实验结果,可以看到Common Feature Trick效果还是非常明显的。
# LS-PLM模型与深度学习模型有什么联系?
LS-PLM可以看做是一个加入了注意力(Attention)机制的三层神经网络模型,其中输入层是样本的特征向量,中间层是由m个神经元组成的隐层,其中m是分片的个数,输出层为单一的神经元;在隐层与输出层之间,神经元之间的权重是由分片函数得出的注意力得分来确定的,即样本属于某个分片的概率就是其注意力得分。