论文笔记-WSDM2025-Large Language Model Simulator for Cold-Start Recommendation
- ColdLLM:用于冷启动推荐的大语言模型模拟器
- 摘要
- 1.引言
- 2.前言
- 3.方法
- 3.1整体框架
- 3.1.1行为模拟
- 3.1.2嵌入优化
- 3.2耦合漏斗ColdLLM
- 3.2.1过滤模拟
- 3.2.2精炼模拟
- 3.3模拟器训练
- 3.3.1LLM训练
- 3.3.2耦合过滤模型训练
- 3.4实现策略
- 3.4.1实际部署
- 3.4.2复杂性分析
- 4.实验
- 4.1实验设置
- 4.2模型性能
- 4.3消融实验
- 4.4超参数实验
- 4.5在线评估
- 5.总结
ColdLLM:用于冷启动推荐的大语言模型模拟器
⚠️这篇论文的前身是arXiv2024-Large Language Model Interaction Simulator for Cold-Start Item Recommendation(相关博客: 论文笔记-arXiv2024-LLM-InS ),可以移步查看LLM-InS。
论文: Large Language Model Simulator for Cold-Start Recommendation
代码: 无
摘要
冷启动商品仅依赖于内容特征,这限制了它们的推荐性能。目前的模型通过内容特征生成嵌入,但未能解决核心问题:缺乏历史行为数据。
为了解决这个问题,本文引入LLM模拟器框架,该框架利用大语言模型模拟用户与冷启动商品的交互,从根本上解决了冷启动问题。然而,仅使用 LLM 来遍历所有用户可能会在亿级系统中引入显著的复杂性。为管理计算复杂性,本文提出了一个用于在线推荐的耦合漏斗 ColdLLM 框架。ColdLLM 通过训练的耦合过滤器有效地将候选用户数量从亿级减少到数百,从而使 LLM 能够在过滤后的用户集上高效运行。
1.引言
当前的模型通常利用冷启动商品的内容特征生成嵌入。一类模型是生成模型,试图训练一个映射函数,以确保生成的嵌入接近行为嵌入。另一类模型是dropout 模型,通过结合生成的嵌入和行为嵌入进一步增强推荐模型的适应性。然而,现有的解决方案并未完全解决冷启动的根本问题:冷启动商品缺乏行为数据,这使得冷启动商品与热门商品本质上存在差异。这一根本差异造成以下三个限制:
- 内容-行为差距:合成嵌入仍然是基于内容特征生成的。这种方法导致合成嵌入与实际用户行为和交互学习得到的嵌入之间存在显著差异。
- 次优的冷推荐性能:当前的冷启动模型通常专注于将冷商品与热门商品一起推荐,而对热门商品的影响不大,未能显著提升热门商品的推荐性能。
- 内容推荐与行为推荐的混淆:现有的冷启动模型通常进行混合推荐,即将内容特征嵌入和行为嵌入混合在一起。
大语言模型(LLMs)在解决上述限制方面显示出潜力,因为LLMs能够从内容特征中理解用户偏好,并预测用户对商品的意图。然而,将 LLM 应用于冷启动商品推荐面临以下挑战:
- 冷启动行为的模拟:在没有实际交互数据的情况下训练 LLM 以预测用户对商品的意图是一项挑战。
- 模拟的效率:LLM 在推理效率上面临约束。为大量用户模拟冷商品的用户行为会产生显著的计算复杂性。
- 大规模推荐的可扩展性:目前缺乏成熟的框架利用 LLM 来解决大规模推荐系统中的冷启动商品问题。
因此,本文提出了一种新颖的 LLM 模拟器框架,从根本上解决商品冷启动问题。为了解决设计挑战,引入了 LLM 模拟器的定制结构,包括用户上下文构建、提示设计和模拟过程。为了加速模拟过程,提出了用于在线推荐的 ColdLLM,它通过训练的耦合过滤器有效地将候选用户从数十亿缩减到数百。该过滤器与 LLM 一起训练,以支持其模拟。本研究的关键贡献可以总结如下:
- 正式定义行为模拟问题,并提出了一种新颖的 LLM 模拟器框架,从根本上解决冷启动推荐问题。
- 为模拟器提出一种定制的训练策略和在线推荐应用策略。
- 广泛的离线实验证明模型在冷推荐性能上超越了现有解决方案 21.69%,为期两周的 A/B 测试进一步验证了 ColdLLM 的有效性。
2.前言
用户集和商品集分别表示为 U U U 和 I I I。有历史交互的商品称为热商品,记为 I w I_w Iw;没有历史交互的商品称为冷商品,记为 I c I_c Ic。每个热商品都有一个交互用户序列 s i \mathbf{s}_i si。对于冷商品 j j j,交互用户序列为空集,即 s j = ∅ \mathbf{s}_j = \emptyset sj=∅。通过历史交互的用户-商品对,可以学习每个用户和热商品的行为嵌入向量,记为 e u \mathbf{e}_u eu。用 C C C 表示商品的内容,每个商品都有各自的内容特征,记为 c i \mathbf{c}_i ci。对于用户,收集商品内容列表,记为 C u C_u Cu。
本文聚焦于最具挑战性的严格冷启动问题,从商品冷启动的角度来看,冷商品缺乏任何历史行为。在这种限制下,热商品和冷商品的推荐方式有所不同。热商品通过历史用户序列进行推荐,这些序列通常编码为行为嵌入。正式地,热推荐可以定义为:
其中 Emb c f ( ⋅ ) \text{Emb}_{cf}(\cdot) Embcf(⋅) 表示用于行为嵌入的协同过滤函数。冷商品的用户序列集为空,这使得冷商品的推荐定义为:
3.方法
ColdLLM的框架图如图2所示:
3.1整体框架
传统模型主要通过合成嵌入构建方法来解决冷启动问题,这可能导致冷商品与热商品之间存在自然差距。一种基本解决方案是为每个冷商品模拟用户行为,然后通过行为嵌入优化获得冷商品的嵌入。
3.1.1行为模拟
行为模拟总结了所有历史行为以及用户和商品的信息,以模拟可能的用户,这些用户可以帮助更新冷商品的嵌入。考虑到这一点,本文利用 LLM 分析所有积极的历史行为,作为生成冷商品用户序列的模拟器。具体而言,ColdLLM 过程可以正式定义为:
在理想情况下,ColdLLM 可以访问冷商品 c i \mathbf{c}_i ci 的信息、整个用户集 U U U、所有用户的完整历史交互 H H H 以及所有商品的内容细节 C C C。
3.1.2嵌入优化
通过为冷商品模拟用户序列,这些商品被转化为热商品。通过模拟的行为,推荐系统利用现有的行为嵌入优化结构,利用训练好的用户和热商品嵌入来优化冷商品的嵌入。在离线数据集中,这种模拟甚至可以丰富训练数据,进一步增强用户表示。对于在线大规模平台,模拟的交互仅用于更新冷商品的嵌入。最终用于下游任务的冷嵌入可以正式表示为:
其中 Emb o p t ( ⋅ ) \text{Emb}_{opt}(\cdot) Embopt(⋅) 表示推荐系统的一般行为嵌入优化器, e i ( c ) \mathbf{e}^{(c)}_i ei(c) 表示冷商品 i i i 的嵌入, s i ( c ) \mathcal{s}^{(c)}_i si(c) 是冷商品的模拟用户序列。 E \mathbf{E} E 表示所有训练好的热嵌入,包括用户和热商品。
3.2耦合漏斗ColdLLM
与传统的基于嵌入的模型相比,原始的 ColdLLM 不适用于十亿规模的推荐。本小节提出了耦合漏斗 ColdLLM,以高效且有效地整合耦合过滤模型,并模拟冷启动项目的行为。
3.2.1过滤模拟
过滤过程的目的是将亿级数据集中潜在用户减少到几十到几千个范围。基于嵌入的过滤模型能够有效地将用户和项目嵌入到向量中,但在捕捉用户的内容级意图和项目的高级内容信息时遇到困难。为了解决这个问题,本文用 LLM 处理的嵌入增强过滤模型。
本文使用 LLM 提取项目的内容嵌入,然后应用匹配函数将该嵌入映射用于行为过滤,表示如下:
其中, f i f_i fi表示项目 i i i的过滤嵌入, F I ( ⋅ ) F_I(\cdot) FI(⋅)是映射函数, L L M e m b ( ⋅ ) LLM_{emb}(\cdot) LLMemb(⋅)是 LLM 嵌入读取函数。
嵌入读取函数的设计旨在从 LLM 中提取内容嵌入。具体而言,首先获得最后一层的嵌入,该嵌入代表处理后的标记信息,然后应用均值池化以推导任何给定冷启动项目的内容特征嵌入:
其中, E ( L ) ( c i ) [ j ] E^{(L)}(c_i)[j] E(L)(ci)[j]表示 LLM 的第 𝐿 层的第 𝑗 个嵌入。这里, c i \mathbf{c}_i ci代表项目的内容特征, c i [ j ] \mathbf{c}_i[j] ci[j]指的是 c i \mathbf{c}_i ci 中的第 j j j个标记, ∣ c i ∣ |\mathbf{c}_i| ∣ci∣表示 c i \mathbf{c}_i ci中标记的总数。
为了过滤出可能与冷启动项目互动的用户,同时考虑内容嵌入和行为嵌入。使用映射后的用户嵌入和映射后的项目嵌入的点积来识别前 𝐾 个最高得分候选:
其中, F U F_U FU 是用户的映射函数。
3.2.2精炼模拟
过滤之后使用大型语言模型(LLMs)进行检查和增强。在每次迭代中,将用户的上下文和项目的内容输入到 LLM 中,LLM 会输出用户是否会与该项目互动的预测,显示“是”或“否”。精炼模块考虑了三个技术细节方面:
(1)上下文构建:利用过滤过程中获得的项目嵌入来筛选相关项目。
(2)设计prompt:包含三个部分,即固定prompt,用户上下文和项目内容。
(3)精炼:遍历过滤后的用户集,仅保留被 LLM 模拟器预测为“是”的用户。
3.3模拟器训练
3.3.1LLM训练
采用低秩微调策略,以确保 LLM 能够捕捉推荐场景的数据分布。
3.3.2耦合过滤模型训练
耦合过滤模型有两个设计方案:1. 反映用户与项目的行为;2. 与 LLM 结合。具体而言,利用两对嵌入的组合来实现这一目的。
行为过滤的训练
对于每个给定的用户-项目对 ( u , i ) (u, i) (u,i),随机选择一个负对 ( u , j ) (u, j) (u,j)。这些对可以集合表示为三元组 ( u , i , j ) (u, i, j) (u,i,j)。行为过滤的输出可以表达为: Y ^ u i ( B ) \hat{Y}^{(B)}_{ui} Y^ui(B)。使用 BPR 损失来优化行为过滤模型的推荐性能:
其中 σ ( ⋅ ) \sigma(\cdot) σ(⋅) 是 sigmoid 函数。该损失鼓励过滤模型将积极项目的排名高于消极项目。此外,本文还利用 ALDI 中的对齐损失来帮助行为过滤的训练。
耦合 ColdLLM 过滤的训练
对于耦合的 LLM 过滤,应用 Y ^ u i ( L ) \hat{Y}^{(L)}_{ui} Y^ui(L)来过滤用户。除了 BPR 损失,引入耦合的 ColdLLM 损失,以保持与耦合过滤模型中的 ColdLLM 的相似性:
3.4实现策略
3.4.1实际部署
如图 3 所示,ColdLLM 框架由三个主要组件组成:(i) 在线服务;(ii) 在线训练(嵌入更新);(iii) 离线模拟。
当新项目上传到平台时,首先利用ColdLLM模拟用户交互以进行嵌入更新。这些模拟的用户-项目对随后被输入到在线嵌入更新结构中。由于这些交互是模拟的而非实际用户行为,仅更新冷项目的嵌入。最后,将更新后的冷项目嵌入传送到在线推荐服务。
3.4.2复杂性分析
ColdLLM 的计算复杂性主要包括三个部分:耦合过滤复杂性、耦合精炼复杂性和嵌入更新复杂性。
(1)耦合过滤:利用类似 FAISS 的相似性索引框架,可以高效地将候选用户从数十亿缩减到数百,复杂度为O(1),大约耗时 60 毫秒。
(2)耦合精炼:使用微调的 LLaMA-7B 模型来精炼过滤后的候选,以识别 20 个合格用户。该过程对于每个用户-项目对大约需要 200-400 毫秒。总的来说,LLM 精炼阶段的时间不超过 8 秒。
(3)嵌入更新:在线嵌入过程利用模拟的交互在 120 毫秒内优化冷项目的嵌入。
4.实验
4.1实验设置
数据集:CiteULike和ML-10M
基线:
-
基于 Dropout 的嵌入模拟模型:DropoutNet、MTPR 和 CLCRec
-
基于生成的嵌入模拟模型:DeepMusic、MetaEmb、GNP、GAR和 ALDI
-
行为模拟模型:UCC和MIGCN
为了进一步验证 ColdLLM 的普遍性,在三个广泛使用的推荐骨干网络上验证这些模型:MF、NGCF和 LightGCN。
评估指标:Recall@20 and NDCG@20
4.2模型性能
结论:
-
ColdLLM 在当前方法上实现了显著的提升。从表中可以看出,ColdLLM 在不同的数据集和骨干网络上均表现出优势。
-
基于生成的嵌入模拟模型在热门和整体推荐中的表现通常优于基于 Dropout 的嵌入模拟模型。这表明,通过相同的嵌入层强制热门行为嵌入与冷内容嵌入对齐,可能会导致热门项目推荐的性能下降。
-
现有的行为模拟模型在整体和热门推荐中保持了相对良好的性能,但在冷推荐中表现不足。这可能是因为仅基于内容信息和深度神经网络(DNN)进行的行为生成不足以准确模拟冷项目的行为。
4.3消融实验
结论:
-
w/o LSF 和 w/o BF 的性能下降表明了过滤模拟的有效性。
-
w/o LSF & R 和 w/o BF & R 的模型表现出比 w/o LSF 和 w/o BF 更显著的性能下降,表明了精炼阶段的必要性。
4.4超参数实验
结论:
-
过滤候选数量K的影响:从结果中可以看出,整体和热门推荐的最佳结果是在适中的 K K K 值下实现的,例如 CiteULike 中的 K = 10 K=10 K=10。相反,对于冷推荐,较大的 K K K 更有利,其中 K = 50 K=50 K=50 在 CiteULike 中产生最佳结果。然而,过大的 K K K 可能会通过引入来自无关交互的噪声而降低性能。
-
学习率的影响:从图中可以观察到,三种推荐任务在相似的最佳学习率下达到了最佳结果,这表明学习率的调整对所有三个任务均适用。
4.5在线评估
为了验证 ColdLLM 在工业环境中的有效性,本文在一个大型电子商务平台上进行了在线 A/B 测试。实验持续了两周,涉及每组 5% 的用户。将 ColdLLM 与三种代表性基准进行比较:随机推荐、MetaEmb和 ALDI。表 3 展示了这些在线 A/B 测试的结果。
结论:
在所有指标上的显著提升突显了 ColdLLM 在解决实际推荐系统中商品冷启动问题的有效性。
5.总结
本文提出 ColdLLM,从根本上解决了大规模推荐系统中的冷启动问题,显著提高了性能和经济效益。在线和离线实验都验证了 ColdLLM 的有效性。基于这些观察,ColdLLM 为在大规模在线推荐中利用大语言模型开辟了新的可能性。