今天给大家解读NeurlPS 2022中阿里妈妈在CTR预估模型方面的最新进展:Adaptive Parameter Generation(APG)。APG针对每个样本动态生成定制化的模型参数,实现了千样本千模,显著提升了点击率预估效果,并且应用到阿里妈妈搜索广告系统中,带来3%的点击率提升和1%的收入提升。
论文标题:APG: Adaptive Parameter Generation Network for Click-Through Rate Prediction
下载地址:https://arxiv.org/pdf/2203.16218.pdf
1
Motivation
业内对于CTR预估模型的优化主要集中在两个方面,一方面是不断扩充和完善输入特征,例如引入多模态信息、外界的知识信息、用户历史行为信息等;另一方面是模型结构的优化,例如NFM对特征交互网络结构的优化。但是很少有工作直接针对模型中的全连接参数进行优化。
目前的CTR预估模型,基本上都是所有模型共享一套模型参数,这种方法虽然能从数据中提取一般性的规律,但是对于不同类型样本个性化的建模缺少刻画。例如下图中,冷启动和活跃用户的CTR、年龄特征等的分布差异都是比较大的。此外,由于冷启动样本量少,模型也更关注拟合频率较高的样本,在长尾样本上拟合能力较差。
本文提出针对不同的样本动态生成模型参数。首先设计了一个基础版本的自动生成参数的模型,并在此基础上通过低秩分解提升模型运行效率和内存占用,以及通过对不同类型权重参数的设计提升模型的表达能力。
2
基础版本APG
基础版本的APG,核心思路是输入某个条件,经过一个函数后,生成一套模型参数用于当前样本。
条件的含义就是依据什么信息生成模型参数,文中提出了group-wise、mix-wise、self-wise三种方法:
上述三种方法中,都是将不同的外部信息输入到一个模型参数生成器,产出模型参数。对于模型参数的生成函数,文中采用了简单的全连接进行生成。
上述方法在效率和效果两个方面存在问题。在效率上,模型需要动态生成模型参数,这个计算量和内存开销是比较大的;在效果上,着重针对每组样本生成不同的参数,减弱了模型学习全局统一规律的能力。因此文中后续分别从效率和效果两个方面进行了进一步优化。
3
低秩分解提升模型效率
为了解决参数生成过程中的效率问题,本文借鉴了低秩分解的思路,将生成的参数进行拆分。模型不再直接生成参数矩阵W,而是将W拆分成U、S、V三个矩阵,这三个矩阵相乘后还原得到完整的矩阵W,如下图。通过这种方式,可以将参数量从N*M减少到NK+MK+KK,只要K足够小,就可以显著减少生成参数的量级。
为了进一步降低模型计算的开销,文中将完整的前向传播根据拆分出的参数分解成多个前向传播,而不是重新构造原来的参数W,这样可以进一步提升运行效率,如下图:
4
模型参数设计
通过低秩分解实现了参数拆分后,可以更灵活的进行参数设计。上面说到如果模型完全根据输入信息生成参数,可能忽略了样本中共性的学习。为了平衡参数的个性化学习和共性学习,文中将V、S、U三个分解出来的参数矩阵赋予了不同的职能。文中将S定义为个性化参数,U和V定义为全局共享参数,也就是S矩阵由参数生成网络生成。这样的另一个好处是进一步提升了生成效率,只要生成一个K*K的矩阵就可以了。
共享参数U和V相比于原始模型的参数W参数量比较小,可能会影响模型学习数据共性的能力。因此文中采用了over parameterization,扩充了矩阵V和U的参数量:
其中左侧的U维度为N*P,右侧的U或V维度为P*K,P是远大于K的,这样起到了增强U和V参数量进而扩大模型容量的作用。这个参数只是在训练阶段增加参数,在inference阶段,可以直接将U和V提前计算出来,这样在inference阶段没有增加额外的计算量,又能在训练阶段学习的更充分。
5
实验效果
在本文的实验中,作者将APG模块加到了多种类型的CTR预估模型上,所有模型加入APG后效果都有不同程度的提升。
文中对比了不同版本的APG模型效果,v1-v5版本,如下表所示:
文中也可视化对比了不同group生成的模型参数分布,观测到的group生成的参数也在一个簇内,证明了APG生成的参数有一定的合理性。
6
总结
本文介绍了NeurlPS 2022阿里妈妈最新推出的CTR预估模型,针对不同样本动态生成个性化的模型参数,实现了千样本千模的能力,可以应用于各个经典CTR预估模型中,显著提升了预测效果,模型实现起来不难,是一个比较优雅的方法。