
探究PEPNet模型:多任务多领域推荐的个性化建模!
快手的Chang等人于2023年在论文《PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information》中正式提出了PEPNet模型,用于建模推荐系统中的多任务多领域问题。
本文将从PEPNet模型提出的动机、问题建模、模型结构及工程优化策略方面进行详细的阐述。
1.PEPNet模型的提出动机
(1)多任务学习:出发点是不同的任务之间存在稀疏性和依赖性。但由于不同任务具有独特的稀疏性和相互影响,很难在多个任务中平衡相互依赖的目标,从而导致任务跷跷板现象。
(2)多领域学习:出发点是不同场景内的用户和物品存在重叠。为每个场景单独训练模型不仅在部署成本和迭代效率方面不可接受,而且没有充分利用数据,忽略了数据之间的共性,导致训练得到的模型不是最优的。然而,直接混合所有数据统一训练模型,由于不同场景内的用户行为和物品分布不一样,无法对齐和融合具有不同语义和重要性的特征,会导致领域跷跷板现象。
(3)综上所述,实际应用中的多任务多领域场景问题存在双重跷跷板现象,文中称之为不完全双重跷跷板现象(the imperfectly double seesaw phenomenon)。PEPNet模型就是用来解决这样的问题,通过增强模型的个性化来捕捉用户在各种情形下的偏好。
(4)若简单地将个性化先验信息作为模型底层输入,其效果将在经过深度网络传递到顶层后变得非常弱,因此PEPNet模型提出的关键动机是如何将个性化先验信息以正确的方式注入模型中正确的位置。
2.PEPNet问题建模
3.PEPNet模型结构
模型整体由以下三部分组成:门控神经单元(Gate NU)、嵌入个性化网络(EPNet)和参数个性化网络(PPNet)。
(1)门控神经单元
(2)嵌入个性化网络
(3)参数个性化网络
(4)PEPNet模型总结
(a)PEPNet最终每个任务塔的输出是同一个任务在不同领域内的预测值,即每个塔将不同场景内相同的任务归在一起。
(b)EPNet结构使用领域侧特征作为输入,对其了特征在不同领域内的分布,得到了特定场景下的个性化输入表征,实现了基于场景的特征个性化嵌入。
(c)PPNet结构使用用户和物品侧特征作为输入,对多任务的DNN参数施加样本粒度的个性化影响,实现了用户对特定任务的个性化,有效缓解了跷跷板效应。
4.工程优化策略
(1)特征消除策略:在大规模推荐系统中,若将每个特征都映射到嵌入向量会迅速占用服务器的内存。故设计了一种无冲突且内存高效的全局共享嵌入表,用于有效管理嵌入向量,能动态控制内存占用低于某个阈值。
(2)在线同步策略:模型在线学习中,线上会累积一定量的训练样本,将这个最小单元的样本称为“pass”,每个pass会更新模型参数。由于线上存在海量样本,完全同步嵌入是不可行的。故采用了两种淘汰策略:一是为每个特征设置数量限制,以防止单个特征的嵌入过度;二是为嵌入设置过期时间,即保留更新频率高的,淘汰更新频率低的。
(3)离线训练策略:短视频场景中,ID特征变化快,嵌入更新频率远高于模型参数更新频率。为更好捕捉底层嵌入的变化,维持顶层DNN网络参数的稳定更新,使二者采用不同的更新策略。在嵌入层,使用AdaGrad优化器,学习率设为0.05,而DNN参数则通过Adam优化器更新,学习率为5.0e-06。
本文转载自南夏的算法驿站,作者:赵南夏
