[2108.04690] POSO: Personalized Cold Start Modules for Large-scale Recommender Systems

《POSO: Personalized Cold Start Modules for Large - scale Recommender Systems》论文总结

一、研究背景

  • 在线推荐系统中,为新用户进行准确推荐是一项重要但具有挑战性的问题,即用户冷启动问题。现有方法认为关键在于缺乏初始数据,但本文指出存在个性化被淹没的问题,即尽管使用了个性化特征,但由于数据严重不平衡,这些特征被淹没,导致系统无法平衡不同用户群体的分布。

二、相关工作

  • 相关研究分为元学习嵌入生成两类。元学习方法旨在训练通用网络以对全新任务进行良好预测;嵌入生成方法试图通过其他特征生成有意义的ID嵌入。

三、现有生产模型

  • 快手大规模推荐系统的现有模型遵循经典的Embedding&MLP范式,并引入了一些先进模块(如MHA、MMoE)以提高性能。但该系统存在新用户个性化特征被淹没的问题,导致无法平衡各种分布。

四、个性化冷启动模块(POSO)

  1. 设计原则

    • 个性化:通过分配多个模块和门来平衡特征,突出个性化,避免个性化特征被淹没。
    • 灵活性:不是独立模块,可集成到许多现有模块中,为它们提供个性化。
    • 无后效性:子模块共享相同输入,输出最终融合为单个综合结果,确保结构独立性,不引入上下游模块之间的依赖。
  2. 具体实现

    • POSO of Linear Transformation:通过元素级乘法对原始输出进行个性化门控,实现计算高效的操作。
    • POSO of Multi - Layer Perceptron:将激活函数的全连接层个性化,形成POSO(MLP),通过堆叠个性化的FC层构成,计算效率高。
    • POSO of Multi - Head Attention:分别在3个级别对组件进行个性化,即Q不个性化,K轻量级个性化,V完全个性化。简化后的POSO(MHA)与原始MHA相比,复杂度相当但性能显著更好。
    • POSO of Multi - gated Mixture of Experts:放松MMoE中专家共享相同个性化门和任务门归一化的约束,得到最终的个性化MMoE版本,即POSO(MMoE)。它的实现非常轻量级,能使专家不仅任务感知,还对用户群体领域感知。
    • POSO for Cold Start:对于用户冷启动,利用分桶的累积观看次数(AVC)特征作为个性化代码(PC)输入门控网络;对于项目冷启动,利用视频年龄来区分常规/新视频。
  3. 优势

    • 遵循标准训练程序,不像基于元学习的方法可能会减慢训练速度。
    • 计算开销可忽略不计。
    • 可应用于其他数据不平衡问题。

五、实验

  1. 离线实验

    • 数据集设置:来自快手大规模推荐系统的7天连续记录,训练集来自前7天,测试集来自第8天。
    • 任务:优化长视频观看率、视频完成率、点赞率和关注率等多个任务。
    • 指标:采用GAUC测量模型性能,比较POSO与现有专注于冷启动问题的方法。
    • 结果:POSO(MLP)、POSO(MHA)和POSO(MMoE)都改进了观看任务,POSO(MHA)在新用户上表现更好,POSO(MMoE)更倾向于常规用户,结合的POSO在所有任务上都有显著改进。在视频冷启动实验中,POSO对常规视频样本的改进更大,它通过特定模块解耦了新/常规视频,从而一致地改进了两组视频。
  2. 在线实验

    • 指标:关注观看时间、留存率、点赞率和关注率等指标。
    • 结果:新用户的观看时间显著提高7.75%,关注率提高11.56%,留存率也有积极结果;常规用户的观看时间增加1.99%,留存率和互动指标具有竞争力;不活跃/回归用户也有显著改善,随着沉默增加,改进更大;视频冷启动的主要指标“成熟率”显著提高。
  3. 公共数据集

    • 数据集:MovieLens 20M,根据用户ID分割数据集,设置两个任务:用户是否对电影评分为5(最喜欢)以及评分是否不低于4(满意)。
    • 结果:POSO在两个任务上都达到了最佳结果,在更困难的任务(最喜欢)上带来了更大的改进。
  4. 个性化代码的演化

    • 比较:突出个性化特征能实现POSO的有效性,使用所有特征作为输入会恶化个性化被淹没的问题。在个性化特征中,不同的个性化代码选择会影响效果,如指标𝟙𝑖𝑠−𝑛𝑒𝑤−𝑢𝑠𝑒𝑟、用户ID嵌入、用户ID +视频ID嵌入以及分桶的累积观看次数等。
  5. 个性化程度

    • 以MHA为例:原始版本的POSO能带来更好的结果,但计算开销巨大。固定Q能提供更大的改进,通过元素级乘法屏蔽K可以在节省计算开销的同时提供有希望的结果,进一步简化V(i)会降低改进效果。
  6. 模块的专业化

    • 整体:POSO增强了个性化,子模块实现了专业化。
    • 具体:以POSO(MHA)中V(i)的门控网络输出为例,不同的门(如#1、#2、#3、#4)随着累积观看次数的增加,在管理新用户和常规用户上发挥不同的作用,实现了专业化和微调。

六、结论

  • 本文提出的个性化冷启动模块方法(POSO)通过灵活采用现有方法并导出其个性化版本,有效地平衡了各种用户群体,在新用户、新项目以及回归/不活跃用户的性能提升方面效果显著,同时讨论了个性化代码的选择和如何有效地个性化特定模块。该方法可推广到许多其他场景。