A-LLMRec论文阅读笔记

Large Language Models meet Collaborative Filtering: An Efficient All-round LLM-based Recommender System论文阅读笔记

Abstract

现存的问题:

​ 最近的策略侧重于利用基于预训练模态编码器和大型语言模型(LLM)的用户/项目模态信息(如文本或图像)。尽管它们在冷场景下非常有效,但我们发现,由于缺乏协作知识,它们在暖场景下的表现不如简单的传统协同过滤模型。

提出方法:

​ 在这项工作中,我们提出了一种高效的基于 LLM 的全方位推荐系统,称为 A-LLMRec,它不仅在冷场景中表现出色,在暖场景中也同样出色。我们的主要想法是让 LLM 直接利用预先训练好的最先进 CF-RecSys 中包含的协作知识,这样就能共同利用 LLM 的新兴能力以及最先进 CF-RecSys 已经训练好的高质量用户/项目嵌入。这种方法有两个优点:(1) 与模型无关,可以与现有的各种 CF-RecSys 集成;(2) 高效,省去了基于 LLM 的推荐器通常需要的大量微调工作。

Introduction

​ 最近的研究集中在利用用户/项目的模态信息,以提高在冷启动场景下的推荐性能。

​ 虽然基于模式识别和 LLM 的推荐系统在用户与项目互动有限的冷场景中被证明是有效的,但我们认为,这些方法由于严重依赖文本信息而缺乏协同知识。因此,在有大量用户-物品交互的情况下(即温暖场景),基于模式识别和 LLM 的推荐器反而不如简单的传统协同过滤模型。这主要是因为文本信息在温暖场景中变得不那么重要,而在温暖场景中,基于 ID 的协同过滤模型擅长对热门项目进行建模。

​ 在本文中,我们提出了一种高效的基于 LLM 的全方位推荐系统,称为 A-LLMRec(基于 LLM 的全方位推荐系统),它不仅在冷场景中表现出色,在暖场景中也同样出色(因此称为全方位推荐系统)。我们的主要想法是让 LLM 能够直接利用预先训练好的最先进的协同过滤推荐系统(CF-RecSys)中包含的协同知识,从而共同利用 LLM 的新兴能力以及最先进的 CF-RecSys 已经训练好的高质量用户/项目嵌入。更确切地说,我们设计了一个对齐网络,将 CF-RecSys 的项目嵌入与 LLM 的标记空间对齐,目的是将从预先训练的 CF-RecSys 中学习到的协作知识传递给 LLM,使其能够理解并利用协作知识完成下游推荐任务。

​ A-LLMRec 的关键创新之处在于,它既不需要对 CF-RecSys 进行微调,也不需要对 LLM 进行微调,而且对齐网络是 A-LLMRec 中唯一需要训练的神经网络,这带来了以下两个至关重要的优势:

  • 模型无关: A-LLMRec 允许集成任何现有的 CF-RecSys,这意味着使用自己的推荐模型的服务可以随时利用 LLM 的强大功能。此外,推荐模型的任何更新都可以通过简单地替换旧模型而轻松反映出来,这使得该模型在现实中非常实用。
  • 高效:A-LLMRec 的高效之处在于对齐网络是唯一可训练的神经网络

​ 本文的主要贡献如下:

  • 我们提出了一种基于 LLM 的推荐系统,称为 A-LLMRec,它可以直接利用预先训练好的最先进推荐系统中包含的协作知识。
  • A-LLMRec 既不需要对 CF-RecSys 也不需要对 LLM 进行微调,只需要训练一个对齐网络,就能在两者之间架起桥梁。

Method

​ 在本节中,我们提出了一种新颖的基于 LLM 的推荐器框架 A-LLMRec,它将冻结的预训练协同过滤推荐器(CF-RecSys)与冻结的 LLM 相结合,旨在不仅提高冷场景下的推荐性能,而且提高暖场景下的推荐性能。为了弥合模态差距,A-LLMRec 将 CF-RecSys 的协同知识与 LLM 的标记空间相统一。我们的方法包括两个预训练阶段:(1)用冻结的 CF-RecSys 对齐协作知识和文本知识(第 4.1 节);(2)用冻结的 LLM 进行推荐(第 4.2 节),其中协作知识和文本知识被联合投射到 LLM 上。

pAZFr2n.png

协作知识和文本知识之间的一致性(阶段1)

​ 在本节中,我们将介绍如何将冷冻 CF-RecSys 中的项目嵌入与相关文本信息进行对齐,以获取协作知识和文本知识。我们采用一个预训练的Sentence-BERT(SBERT)模型,在训练过程中对其进行微调,从与条目相关的文本信息中提取文本嵌入。然后,我们引入两个编码器,物品编码器\(f_I^{enc}\)和文本编码器\(f_T^{enc}\)。每层包含一个单层多层感知器 (MLP),将冻结的 CF-RecSys 中的项目嵌入与 SBERT 中的文本嵌入对齐。物品编码器的输出表示为e,文本编码器的输出表示为q

​ 然后,我们在物品嵌入和文本嵌入之间进行潜在空间匹配,具体如下

\[\begin{aligned} L_{matching}& =\underset{S^{u}\in S}{\operatorname*{\mathbb{E}}}\left[\underset{i\in S^{u}}{\operatorname*{\mathbb{E}}}\left[MSE(\mathbf{e}_{i},\mathbf{q}_{i})\right]\right] \\ &=\underset{S^{u}\in\mathcal{S}}{\mathbb{E}}\left[\underset{i\in\mathcal{S}^{u}}{\mathbb{E}}\left[MSE(f_{I}^{enc}(\mathbf{E}_{i}),f_{T}^{enc}(\mathbf{Q}_{i}))\right]\right] \end{aligned} \]

​ 也就是说,我们在编码器的潜在空间中匹配来自冻结 CF-RecSys 的条目嵌入和来自 SBERT 的文本嵌入,以便将条目及其相关文本的语义统一起来,供以后在 LLM 中使用。

避免过平滑表示

​ 另一方面,简单地优化等式 2 中定义的潜在空间匹配损失会导致表征过度平滑,也就是说,编码器会被训练成产生相似的输出(即 e𝑖≈ q𝑖 ),从而使 Lmatching 最小化。在极端情况下,编码器的输出会通过将其权重全部赋为零而被折叠为平凡的表示。因此,为了防止出现这种情况,并保留项目的原始信息及其相关的文本嵌入,我们在每个编码器上都添加了一个解码器,并引入了如下重构损失:

\[\begin{gathered} \mathcal{L}_{\mathrm{item-recon}}=\underset{S^{u}\in S}{\mathbb{E}}\left[\underset{i\in S^{u}}{\mathbb{E}}\left[MSE(\mathbf{E}_{i},f_{I}^{dec}(f_{I}^{enc}((\mathbf{E}_{i})))\right]\right] \\ \mathcal{L}_{\mathrm{text-recon}}=\mathbb{E}_{S^{u}\in S}\left[\mathbb{E}_{i\in S^{u}}\left[MSE(\mathbf{Q}_{i},f_{T}^{dec}(f_{T}^{enc}((\mathbf{Q}_{i})))\right]\right] \end{gathered} \]

推荐损失

​ 除了将来自用户-物品交互的协作知识与来自相关文本信息的文本知识相统一外,我们还引入了一种推荐损失,以明确纳入协作知识,同时为模型提供有关推荐任务的信息。具体来说,推荐损失的定义如下

\[\begin{aligned}\mathcal{L}_{\mathrm{rec}}&=-\sum_{S^{u}\in S}\left[log(\sigma(s(\mathbf{x}_{|S^{u}|-1}^{u},f_{I}^{dec}(f_{I}^{enc}(\mathbf{E}_{i_{|S^{u}|}^{u}})))))\right)\\&+log(1-\sigma(s(\mathbf{x}_{|S^{u}|-1}^{u},f_{I}^{dec}(f_{I}^{enc}(\mathbf{E}_{i_{|S^{u}|}^{u,-}})))))]\end{aligned} \]

​ 其中\(\mathbf{x}_{|S^u|-1}^u=\text{CF-RECSYS}(S_{1:|S^u|-1}^u)\)是从协同过滤推荐系统中提取的用户表示

阶段1的最终损失

\(\mathcal{L}_{\mathrm{stage-1}}=\mathcal{L}_{\mathrm{matching}}+\alpha\mathcal{L}_{\mathrm{item-recon}}+\beta\mathcal{L}_{\mathrm{text-recon}}+\mathcal{L}_{\mathrm{rec}}\)

联合协作-文本嵌入

​ 在训练了自动编码器之后,我们将\(\mathbf{e}_i=f_I^{\boldsymbol{enc}}(\mathbf{E}_i)\)视为条目 𝑖 的协作-文本联合嵌入(简称联合嵌入),并将其作为输入传递给 LLM。联合嵌入将协作知识和文本知识引入 LLM

​ 值得注意的是,当遇到在协同过滤推荐器训练过程中未见过的新项目时,我们可以依靠文本编码器 \(f_T^{enc}\)来提取联合协同文本嵌入,即\(\mathbf{q}_{i}=f_{T}^{\boldsymbol{enc}}(\mathbf{Q}_{i})\)。由于两个编码器 \(f_I^{enc}\)\(f_T^{enc}\)是联合训练的,以匹配它们的潜在空间,因此我们期望联合嵌入 q𝑖 不仅能捕捉文本知识,还能隐式地捕捉协作知识。总之,我们默认使用\(\mathbf{e}_i=f_I^{\boldsymbol{enc}}(\mathbf{E}_i)\)作为协作-文本联合嵌入,但当项目𝑖 缺乏交互时,即冷项目、少见项目和乏味项目时,我们使用\(\mathbf{q}_{i}=f_{T}^{\boldsymbol{enc}}(\mathbf{Q}_{i})\)作为协作-文本联合嵌入。

联合协作-文本嵌入和LLM之间的对齐(阶段2)

​ 在第一阶段,我们通过将协作知识与项目文本信息进行对齐,获得了协作-文本联合嵌入。我们在第二阶段的目标是将这些联合嵌入与 LLM 的标记空间进行对齐(第 4.2.1 节),并设计一个提示,使 LLM 能够利用所学到的协作知识解决推荐任务

将协作知识投射到LLM的标记空间上。

​ 我们首先将第一阶段获得的用户表示 x 和联合协作文本嵌入 e𝑖投影到 LLM 的标记空间,即\(\mathbb{R}^{d^{\mathrm{token}}}\)。这样,我们就允许 LLM 将它们作为输入。更确切地说,我们引入两个双层 MLP,即\(F_U:\mathbb{R}^d\to\mathbb{R}^{d^\text{token }}\mathrm{~and~}F_I:\mathbb{R}^{d^{\prime}}\to\mathbb{R}^{d^\text{token}}\),分别将用户表示和联合协作文本嵌入投射到 LLM 的 token 空间,具体如下:

\(\mathbf{O}_u=F_U(\mathbf{x}^u), \mathbf{O}_i=F_I(\mathbf{e}_i)\)

​ 其中,O𝑢 ∈ R 𝑑 token 和 O𝑖 ∈ R 𝑑 token 是用户 𝑢 表示的投影嵌入和项目 𝑖 的联合协作文本嵌入,它们现在可用作 LLM 提示的输入,使 LLM 无需任何微调即可执行推荐。

集成协作知识的提示设计

​ 提示工程有助于了解 LLM 的能力和局限性,使其能够执行问题解答和算术推理等复杂任务。最近关于基于 LLM 的推荐系统的研究表明,精心设计的提示可以提高 LLM 的性能。然而,由于现有的基于 LLM 的推荐系统侧重于用户与物品互动较少的冷场景,其提示信息主要考虑如何纳入模态信息(如物品描述文本),而忽略了协作知识。为此,我们为基于 LLM 的推荐系统引入了一种新的提示设计方法,它将协作知识与推荐说明相结合,如下图所示

pAZE6KI.png

​ 具体做法是将用户表征 O𝑢 和联合协作文本嵌入 O𝑖 直接纳入标记嵌入空间的文本提示中。换句话说,由于 O𝑢 和 O𝑖 已被投射到 LLM 标记空间中,它们可被视为 LLM 使用的普通标记,并可随时纳入提示中。为了便于 LLM 理解给定用户(这对个性化推荐至关重要),我们将投射的用户表示 O𝑢 放在提示的开头,为 LLM 提供用户信息,这类似于软提示。此外,我们还在标题旁边添加了项目 O𝑖 的投影联合嵌入。然后,这个结构化的提示将作为 LLM 的输入,其预期输出将是为用户量身定制的推荐。第二阶段的学习目标如下:

\(\max_\theta\sum_{S^u\in S}\sum_{k=1}^{|y^u|}log(P_{\theta,\Theta}(y_k^u|p^u,y_{<k}^u))\)

总结

​ 本文的主要重点就是在于使得LLM的输出和RecSys的输出对齐。以物品为例,首先就是文本的表示和物品本身的表示进行对齐。然后进行训练。最后将训练好后的物品和文本表示经过一定变化输入到LLM中,来进行下一个物品的预测。

posted @ 2024-09-04 20:22  ANewPro  阅读(90)  评论(0编辑  收藏  举报