作者:Ko-Jen Hsiao...,Yesu Feng... 和Sudarshan Lamkhede...
动力Netflix的个性化推荐系统是一个复杂的系统,拥有多种专门的机器学习模型,每个模型针对不同的需求,包括“继续观看”和“今日为您精选”等。 (请参阅我们最近的综述以获取更多详细信息)。然而,随着我们扩展个性化算法集以满足不断增长的业务需求,维护推荐系统变得相当昂贵,这使得成本增加。此外,由于大多数模型尽管使用相同的数据源但独立训练,因此很难将一个模型中的创新转移到另一个模型中。这种情况凸显了需要一个新的推荐系统架构,其中会员偏好的学习被集中化,从而增强不同模型之间的可访问性和实用性。
特别是,这些模型主要从成员在平台上的最近互动历史中提取特征。然而,由于服务延迟或训练成本的限制,许多模型只能覆盖较短的时间窗口。这种局限性促使我们开发了一个推荐的基础模型,这个模型旨在整合成员全面的互动历史和我们内容的大量信息。它促进了这些学习成果向其他模型的传播,既可以共享模型权重进行微调,也可以直接通过嵌入传递。
构建基础推荐模型的推动力是基于自然语言处理(NLP)向大型语言模型(LLMs)转变的范式变化。在NLP领域,趋势是从众多小型专业化模型转向一个既能执行多种任务又能通过少量微调执行任务的大型语言模型。可以直接执行任务,或仅需少量微调。这一转变的关键点包括:
- 以数据为中心的方法:从依赖大量特征工程的模型为中心的策略,转向以数据为中心的策略。这种方法优先积累大规模、高质量的数据,并在可能的情况下,实现端到端的学习。
- 利用半监督学习方法:在大型语言模型(LLM)中,下一个标记预测的目标已被证明非常有效。它能够利用未标记的数据进行大规模的半监督学习,同时赋予模型对世界知识的深刻理解能力。
这些洞察影响了我们基础模型的设计,使我们能够从维护众多小型专业化模型转变为构建一个灵活且高效的系统。通过扩大半监督训练数据和模型参数的规模,我们希望开发一个不仅满足当前需求,还能灵活应对不断变化需求的模型,确保持续创新和资源效率。
数据在 Netflix,用户的参与度涵盖了广泛的层次,从随意浏览和休闲查看到专注观影。截至 2024 年底,我们拥有超过 3 亿的用户,这相当于数百亿次的互动——一个庞大的数据集,规模媲美大型语言模型 (LLMs) 的 token 量。然而,正如在大型语言模型 (LLMs) 中一样,数据的质量往往比其数量更为关键。为了有效利用这些数据资源,我们采用了一种互动 token 化的方法,确保识别有意义的事件并消除冗余。
用户交互的标记化:并非所有原始用户行为都对理解偏好贡献相同。标记化有助于定义序列中“标记”的含义。就像NLP中的字对编码(BPE)一样,我们可以将标记化视为合并相邻行为以形成新的、更高层次的标记。然而,与语言标记化不同,创建这些新标记需要仔细考虑保留哪些信息。例如,总观看时长可能需要累加,或汇总互动类型以保留关键细节。
图1. 通过将相同标题的操作合并在一起,我们对用户交互历史记录进行了分词处理,以保留重要信息。
这种在详细数据和序列压缩之间的权衡,就像在大语言模型中词汇量和上下文窗口之间的平衡一样。在我们的案例中,目标是平衡交互历史的长度与每个标记保留的细节程度。过于损失的信息标记化可能会丢失有价值的信息,而过于详细的序列可能超过实际处理时间和内存的限制。
即使采用了这样的策略,活跃用户之间的互动记录也可能包含数千个事件,超出了标准自注意力层的变压器模型的处理能力。在推荐系统里,推理时的上下文限制在几百个事件,这并非因为模型的能力限制,而是因为这些服务通常需要毫秒级别的响应时间。这一约束比大型语言模型应用中更为严格,因为在大型语言模型中,较长的推理时间(几秒)是可以接受的。
为了在训练时解决问题,我们采取了两个关键解决方案:
- 稀疏注意力机制:通过利用低秩压缩等稀疏注意力技术,模型可以将上下文窗口范围扩展到数百个事件,同时保持计算效率。这使其能够处理更长的交互历史记录,并从中获取更深入的长期偏好见解。
- 滑动窗口采样:在训练过程中,我们从整个序列中采样重叠的交互窗口片段。这确保了模型在多个训练周期中接触到用户历史的不同片段,从而能够从整个序列中学习到更多。
在推理阶段,当需要多步解码过程时,我们可以使用KV缓存来高效重用之前的计算结果并保持低延迟性能。
这些方法使我们能够在详细且长期的交互建模需求与模型训练和推理的实际限制条件之间找到平衡,从而提高了推荐系统的准确性和扩展性。
每个令牌中的信息:虽然我们分词过程的第一部分侧重于结构化交互序列数据,接下来的关键步骤则是定义每个令牌中包含的丰富信息。与依赖单一嵌入空间来表示输入token的大多数LLM不同,我们的交互事件包含了异质的详细信息。这些信息包括动作本身的属性(例如地点、时间、持续时间和设备类型),以及内容的相关信息(如项目ID和相关元数据,包括类型(如:流派)和发行国家和/或地区)。大多数这些特性,尤其是那些分类特性,例如地点、时间等,直接嵌入模型内部,采用端到端的学习方法。然而,某些特性需要特别注意。例如,时间戳需要额外处理,以捕捉绝对时间和相对时间的概念,其中绝对时间对于理解时间敏感的行为模式尤为重要。
为了提高序列推荐系统的预测准确性,我们将序列中的令牌特征划分为两类不同的特征。
- 请求时特征:这些是在预测时可用的特征,比如登录时间、使用的设备或所在位置。
- 互动后特征:这些是在互动后才有的信息,比如具体互动的节目或互动时长。
为了预测下一次互动,我们将当前步骤中的请求特征与之前步骤中的动作后特征相结合。这种上下文和历史信息的结合确保了序列中的每个令牌都具有全面的表示,捕捉了即时上下文和用户行为随时间的变化趋势。
模型目标和结构的考虑点如前所述,我们的默认方法采用的是类似于GPT的自回归的下一个标记预测目标。这种策略有效地利用了大量的未标记用户交互数据。在推荐系统中采用这种目标已经取得了多次成功,这表明这种方法是有效的。鉴于语言任务和推荐任务之间存在显著差异,我们对目标进行了几项关键的修改。
首先,在典型的大规模语言模型(如GPT)的预训练阶段,每个目标词元通常被同等对待。相比之下,在我们的模型中,并非所有的用户互动都具有相同的权重。例如,观看5分钟的预告片不应与观看2小时的完整电影具有相同的权重。更大的挑战是将长期的用户满意度与特定的互动和推荐进行对齐。为了解决这个问题,我们可以在训练过程中采用多词预测任务,即模型在每一步预测接下来的_n_个词元,而不是单个词元[4]。这种方法鼓励模型捕捉更长期的依赖关系,避免只关注下一个事件的短视预测。
其次,我们可以将输入数据中的多个字段作为辅助预测目标,除了预测下一个项目ID以外,项目ID仍然是主要目标,这是主要目标。例如,我们可以从原始序列中的项目推导出类型,并将这种类型序列作为辅助目标。这种方法有以下几个目的:它作为正则化器来减少对嘈杂项目ID预测的过拟合,提供有关用户意图或长期类型偏好方面的额外见解,并且当这些目标被结构化为层次时,可以提高预测目标项目ID的准确性。通过首先预测辅助目标,例如类型或原始语言,模型有效地缩小了候选项目列表,简化了后续项目ID的预测。
推荐FM的独特挑战除了在训练基础模型时遇到的基础设施挑战之外,推荐系统还面临几个独特的挑战,使推荐系统更可行。其中之一就是实体冷启动难题。
在 Netflix,我们的使命是娱乐全世界。新作品会经常被加入到目录中。因此,推荐基础模型需要具备冷启动的能力,这意味着模型需要在任何人接触这些新作品之前,预测出会员对它们的偏好。为了实现这一点,我们的基础模型训练框架具备以下两种能力:增量训练和对未见过的实体进行推理的能力。
- 增量训练:基础模型是在包含每位成员的游戏和行动历史的广泛数据集上进行训练的,频繁地重新训练是不现实的。然而,我们的目录和成员偏好会不断变化。与可以利用稳定词汇表进行增量训练的大型语言模型不同,我们的推荐模型需要为新标题生成新的嵌入,这就需要扩展嵌入层和新的输出组件。为了解决这个问题,我们通过重用先前模型的参数并为新项目初始化新的参数来预热新模型。例如,新标题的嵌入可以通过在现有平均嵌入上添加轻微的随机噪声来初始化,或者根据元数据使用类似于新标题的相关嵌入的加权组合。这种方法使新标题可以基于相关嵌入开始,从而加快微调速度。在实践中,当使用更多成员互动数据进行微调时,初始化方法变得不那么关键。
- 处理未见过的实体:即使进行了增量训练,也不总是能够有效地学习新的实体(例如新推出的标题)。即使我们频繁地对基础模型进行微调操作,也可能存在一些未包含在训练数据中的新实体。因此,让基础模型利用实体和输入数据的元数据信息,而不仅仅是成员互动数据也非常重要。因此,我们的基础模型结合了可学习的项目ID嵌入和可学习的元数据嵌入。以下图示展示了这一想法。
图2. 标题与各种元数据相关联,例如类型(如:类型、剧情和基调)。每种类型的元数据可以通过计算其各自的嵌入的平均值来表示,然后将这些平均值合并起来形成基于元数据的标题的整体表示。
为了创建最终的标题嵌入,我们将基于元数据的嵌入与完全可训练的基于ID的嵌入结合在一起,使用融合层。我们没有简单地将这些嵌入相加,而是使用了基于实体的年龄的注意力机制。这种方法使得新标题在互动数据较少的情况下可以更多地依赖于元数据,而已确立的标题可以更多地依赖于基于ID的嵌入。即便元数据相似的标题也可能有不同的用户参与度,它们的嵌入应该反映这些差异。在训练中加入一些随机性,鼓励模型从元数据中学习,而不是仅仅依赖于ID嵌入。这种方法确保了新推出的或即将发布的标题即使在没有用户互动数据的情况下也能得到合理的嵌入。
下游应用及挑战:我们的推荐的基础模型旨在长期理解会员的偏好,可以被下游应用以各种方式进行利用:
-
直接作为预测模型使用 该模型主要被训练用来预测用户将互动的下一个实体。它包括了用于不同任务的多个预测模块,如预测成员对各种类型的喜好。这些可以直接应用于满足各种业务需求。
-
利用嵌入 该模型生成了有价值的嵌入,这些嵌入包括成员以及视频、游戏和类型等实体。这些嵌入通过批处理作业计算并存储,供离线和在线应用使用。它们可以作为其他模型的特征,或用于候选生成,例如检索用户可能喜欢的标题。高质量的标题嵌入还支持从一个标题推荐另一个标题。然而,需要注意的是,嵌入空间具有不可解释且任意的维度,并且在不同训练运行间不兼容。这给下游消费者带来了挑战,他们需要适应每次重新训练和重新部署,从而增加了由于嵌入结构假设失效导致的错误风险。为解决此问题,我们使用了一个正交低秩变换来稳定用户和项目嵌入空间,确保嵌入维度的意义在基础模型的重新训练和重新部署过程中保持一致。
- 利用特定数据进行微调 该模型的适应性允许使用应用特定的数据进行微调。用户可以将整个模型或子图集成到他们自己的模型中,并使用较少的数据和计算资源进行微调。这种方法实现了性能相当的,尽管初始的基础模型需要大量的资源支持。
在为 Netflix 推荐扩展我们的基础模型时,我们借鉴了大规模语言模型(LLMs)的成功经验。正如 LLMs 展示了扩展规模在提升性能方面的能力一样,我们也发现扩展对于增强生成式推荐任务来说至关重要。扩展需要强大的评估方案、高效的训练算法和大量的计算资源。评估需要有效地区分模型性能并找到改进的地方。扩展包括数据扩展、模型扩展和上下文扩展,涵盖用户参与、外部评论、多媒体内容以及高质量的嵌入。我们的实验表明,扩展法则同样适用于我们的基础模型,在增加数据和模型规模时,我们观察到了一致的改进。
图3. 模型参数大小与相对性能提升之间的关系。该图展示了推荐模型中的尺度法则,表明模型规模越大,性能提升越显著。x轴使用对数刻度,以凸显不同数量级的增长。
最后总之,我们个性化推荐的基础模型标志着向创建统一数据驱动系统的重大进展。该系统利用大规模数据提升我们用户的推荐质量。此方法借鉴了大型语言模型(LLMs)的原理,特别是半监督学习和端到端训练的方法,旨在利用大量未标记的用户互动数据。面对冷启动和展示偏差等独特挑战,该模型还注意到语言任务和推荐之间的显著差异。该基础模型支持多种下游应用,从直接作为预测模型生成用户和实体嵌入到其他应用场景,还可以针对特定场景进行调整。我们在下游应用中看到了令人鼓舞的结果。从多个专业模型到更全面的系统转变,标志着个性化推荐系统领域的一个令人兴奋的发展。
鸣谢本项目的主要贡献者(按字母顺序):Ai-Lei Sun Aish Fenton Anne Cocos Anuj Shah Arash Aghevli Baolin Li Bowei Yan Dan Zheng Dawen Liang Ding Tong Divya Gadde Emma Kong Gary Yeh Inbar Naor Jin Wang Justin Basilico Kabir Nagrecha Kevin Zielnicki Linas Baltrunas Lingyi Liu Luke Wang Matan Appelbaum Michael Tu Moumita Bhattacharya Pablo Delgado Qiuling Xu Rakesh Komuravelli Raveesh Bhalla Rob Story Roger Menezes Sejoon Oh Shahrzad Naseri Swanand Joshi Trung Nguyen Vito Ostuni Wei Wang Zhe Zhang
参考-
C. K. Kang 和 J. McAuley, “Self-Attentive Sequential Recommendation,” 2018 IEEE 数据挖掘国际会议 (ICDM 2018) , 新加坡, 2018, pp. 197–206, doi: 10.1109/ICDM.2018.00035.
-
F. Sun 等, “BERT4Rec: 基于Transformer的双向编码表示的序列推荐,” 第 28 届 ACM 国际信息和知识管理会议 (CIKM ‘19) , 中国北京, 2019, pp. 1441–1450, doi: 10.1145/3357384.3357895.
-
J. Zhai 等, “行动胜于言语:万亿参数序列变换器的生成式推荐,” arXiv预印本 arXiv:2402.17152 , 2024.
- F. Gloeckle, B. Youbi Idrissi, B. Rozière, D. Lopez-Paz 和 G. Synnaeve, “通过多令牌预测实现更快更好的大规模语言模型,” arXiv预印本 arXiv:2404.19737 (2024年4月).
共同學習,寫下你的評論
評論加載中...
作者其他優質文章