论文笔记-WSDM2025-ColdLLM

news2025/2/24 14:18:16

论文笔记-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 模型,通过结合生成的嵌入和行为嵌入进一步增强推荐模型的适应性。然而,现有的解决方案并未完全解决冷启动的根本问题:冷启动商品缺乏行为数据,这使得冷启动商品与热门商品本质上存在差异。这一根本差异造成以下三个限制:

  1. 内容-行为差距:合成嵌入仍然是基于内容特征生成的。这种方法导致合成嵌入与实际用户行为和交互学习得到的嵌入之间存在显著差异。
  2. 次优的冷推荐性能:当前的冷启动模型通常专注于将冷商品与热门商品一起推荐,而对热门商品的影响不大,未能显著提升热门商品的推荐性能。
  3. 内容推荐与行为推荐的混淆:现有的冷启动模型通常进行混合推荐,即将内容特征嵌入和行为嵌入混合在一起。

大语言模型(LLMs)在解决上述限制方面显示出潜力,因为LLMs能够从内容特征中理解用户偏好,并预测用户对商品的意图。然而,将 LLM 应用于冷启动商品推荐面临以下挑战:

  1. 冷启动行为的模拟:在没有实际交互数据的情况下训练 LLM 以预测用户对商品的意图是一项挑战。
  2. 模拟的效率:LLM 在推理效率上面临约束。为大量用户模拟冷商品的用户行为会产生显著的计算复杂性。
  3. 大规模推荐的可扩展性:目前缺乏成熟的框架利用 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

基线:

  1. 基于 Dropout 的嵌入模拟模型:DropoutNet、MTPR 和 CLCRec

  2. 基于生成的嵌入模拟模型:DeepMusic、MetaEmb、GNP、GAR和 ALDI

  3. 行为模拟模型:UCC和MIGCN

为了进一步验证 ColdLLM 的普遍性,在三个广泛使用的推荐骨干网络上验证这些模型:MF、NGCF和 LightGCN。

评估指标:Recall@20 and NDCG@20

4.2模型性能

在这里插入图片描述

结论:

  1. ColdLLM 在当前方法上实现了显著的提升。从表中可以看出,ColdLLM 在不同的数据集和骨干网络上均表现出优势。

  2. 基于生成的嵌入模拟模型在热门和整体推荐中的表现通常优于基于 Dropout 的嵌入模拟模型。这表明,通过相同的嵌入层强制热门行为嵌入与冷内容嵌入对齐,可能会导致热门项目推荐的性能下降。

  3. 现有的行为模拟模型在整体和热门推荐中保持了相对良好的性能,但在冷推荐中表现不足。这可能是因为仅基于内容信息和深度神经网络(DNN)进行的行为生成不足以准确模拟冷项目的行为。

4.3消融实验

在这里插入图片描述
结论:

  1. w/o LSF 和 w/o BF 的性能下降表明了过滤模拟的有效性。

  2. w/o LSF & R 和 w/o BF & R 的模型表现出比 w/o LSF 和 w/o BF 更显著的性能下降,表明了精炼阶段的必要性。

4.4超参数实验

在这里插入图片描述
结论:

  1. 过滤候选数量K的影响:从结果中可以看出,整体和热门推荐的最佳结果是在适中的 K K K 值下实现的,例如 CiteULike 中的 K = 10 K=10 K=10。相反,对于冷推荐,较大的 K K K 更有利,其中 K = 50 K=50 K=50 在 CiteULike 中产生最佳结果。然而,过大的 K K K 可能会通过引入来自无关交互的噪声而降低性能。

  2. 学习率的影响:从图中可以观察到,三种推荐任务在相似的最佳学习率下达到了最佳结果,这表明学习率的调整对所有三个任务均适用。

4.5在线评估

为了验证 ColdLLM 在工业环境中的有效性,本文在一个大型电子商务平台上进行了在线 A/B 测试。实验持续了两周,涉及每组 5% 的用户。将 ColdLLM 与三种代表性基准进行比较:随机推荐、MetaEmb和 ALDI。表 3 展示了这些在线 A/B 测试的结果。
在这里插入图片描述
结论:

在所有指标上的显著提升突显了 ColdLLM 在解决实际推荐系统中商品冷启动问题的有效性。

5.总结

本文提出 ColdLLM,从根本上解决了大规模推荐系统中的冷启动问题,显著提高了性能和经济效益。在线和离线实验都验证了 ColdLLM 的有效性。基于这些观察,ColdLLM 为在大规模在线推荐中利用大语言模型开辟了新的可能性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2304430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于 Python Django 的校园互助平台(附源码,文档)

博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不…

智慧废品回收小程序php+uniapp

废品回收小程序:数字化赋能环保,开启资源循环新时代 城市垃圾治理难题,废品回收小程序成破局关键 随着城市化进程加速与消费水平提升,我国生活垃圾总量逐年攀升,年均增速达5%-8%,其中超30%为可回收物。然…

网页版的俄罗斯方块

1、新建一个txt文件 2、打开后将代码复制进去保存 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>俄…

创建虚拟环境以及配置对应的项目依赖

文章目录 首先创建一个虚拟环境&#xff0c;创建一个名字为myenv,并且版本为xxx的虚拟环境 conda create --name myenv pythonxxx激活虚拟环境 conda activate myenv下载所需的依赖&#xff0c;如果有requirements.txt文件 pip install -r requirements.txt容易出现的错误&a…

网络安全第三次练习

一、实验拓扑 二、实验要求 配置真实DNS服务信息&#xff0c;创建虚拟服务&#xff0c;配置DNS透明代理功能 三、需求分析 1.创建用户并配置认证策略 2.安全策略划分接口 3.ip与策略配置 四、实验步骤 1.划分安全策略接口 2.创建用户并进行策略认证 3.配置安全策略 4.NAT配…

写大论文的word版本格式整理,实现自动生成目录、参考文献序号、公式序号、图表序号

前情提要&#xff1a;最近开始写大论文&#xff0c;发现由于内容很多导致用老方法一个一个改的话超级麻烦&#xff0c;需要批量自动化处理&#xff0c;尤其是序号&#xff0c;在不断有增添删减的情况时序号手动调整很慢也容易出错&#xff0c;所以搞一个格式总结&#xff0c;记…

STM32——HAL库开发笔记22(定时器3—呼吸灯实验)(参考来源:b站铁头山羊)

本文利用前几节所学知识来实现一个呼吸灯实验&#xff1a;两颗led灯交替呼吸。 一、STM32CubeMX配置 step1&#xff1a;配置调试接口 step2&#xff1a;配置定时器 定时器1位于APB2总线上&#xff0c;如上图所示。 step3&#xff1a;配置时基单元 按照下图配置 时钟来源配置…

玩转 Java 与 Python 交互,JEP 库来助力

文章目录 玩转 Java 与 Python 交互&#xff0c;JEP 库来助力一、背景介绍二、JEP 库是什么&#xff1f;三、如何安装 JEP 库&#xff1f;四、JEP 库的简单使用方法五、JEP 库的实际应用场景场景 1&#xff1a;数据处理场景 2&#xff1a;机器学习场景 3&#xff1a;科学计算场…

【单片机毕业设计14-基于stm32c8t6的智能宠物养护舱系统设计】

【单片机毕业设计14-基于stm32c8t6的智能宠物养护舱系统设计】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 &#x1f525;这里是小殷学长&#xff0c;单片机毕业设计篇14-基于stm32c8t6的智能宠物养护舱系统设计 &#x1f9ff;创作不易&#xff0c;拒绝白嫖可私 一、功…

DevEco Studio常用快捷键以及如何跟AndroidStudio的保持同步

DevEco Studio快捷键 DevEco Studio是华为推出的用于开发HarmonyOS应用的集成开发环境&#xff0c;它提供了丰富的快捷键以提高开发效率&#xff0c;以下为你详细介绍不同操作场景下的常用快捷键&#xff1a; 通用操作快捷键 操作描述Windows/Linux 快捷键Mac 快捷键打开设置窗…

[Windows] 全国油价实时查询,可具体到城市

[Windows] 全国油价实时查询&#xff0c;可具体到城市 链接&#xff1a;https://pan.xunlei.com/s/VOJnS3aOPeBwGaSvS0O0E1hwA1?pwdx83j# 出于代码练习的目的&#xff0c;调用公共免费api做的py程序&#xff0c;已经一键打包&#xff0c;双击启动即可 使用&#xff1a;选择…

【CSS】---- CSS 变量,实现样式和动画函数复用

1. 前言 本文介绍 CSS 的自定义属性(变量)来实现样式、动画等 CSS 的复用。都是知道在 CSS 和 JS 复用一个很重要的事情,比如 JS 的函数封装,各个设计模式的使用等等,CSS 中样式的复用,同样重要。MDN 使用 CSS 自定义属性(变量):自定义属性(有时候也被称作CSS 变量或…

装修流程图: 装修前准备 → 设计阶段 → 施工阶段 → 安装阶段 → 收尾阶段 → 入住

文章目录 引言I 毛坯房装修的全流程**1. 装修前准备****1.1 确定装修预算****1.2 选择装修方式****1.3 选择装修公司****1.4 办理装修手续****2. 设计阶段****2.1 量房****2.2 设计方案****2.3 确认方案****3. 施工阶段****3.1 主体拆改****3.2 水电改造****3.3 防水工程****3.…

【论文解读】《Training Large Language Models to Reason in a Continuous Latent Space》

论文链接 1. 背景与动机 语言空间与推理的矛盾 目前大多数大语言模型&#xff08;LLMs&#xff09;在解决复杂问题时采用链式思维&#xff08;Chain-of-Thought, CoT&#xff09;方法&#xff0c;即利用自然语言逐步推导出答案。然而&#xff0c;论文指出&#xff1a; 自然语言…

深度剖析 C 语言函数递归:原理、应用与优化

在 C 语言的函数世界里&#xff0c;递归是一个独特且强大的概念。它不仅仅是函数调用自身这么简单&#xff0c;背后还蕴含着丰富的思想和广泛的应用。今天&#xff0c;让我们跟随这份课件&#xff0c;深入探索函数递归的奥秘。 一、递归基础&#xff1a;概念与思想 递归是一种…

goredis常见基础命令

基本操作 //删除键 exists,err: rdb.Exists(ctx,"key").Result() if err!nil{panic(err) } if exists>0{err rdb.Del(ctx,"key").Err()if err!nil{panic(err)} }string类型 //设置一个键值对 //0表示没有过期时间 err:rdb.Set(ctx,"key1",…

【Linux网络】序列化、守护进程、应用层协议HTTP、Cookie和Session

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;Linux 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 1、序列化和反序列化2、守护进程2.1 什么是进程组&#xff1f;2.2 什么是会话&#xff1f; 3、应用层协议HTTP3.1 HTTP协议3.2 HT…

system verilog的流操作符

流操作符&#xff0c;有分为操作对象是一整个数组和单独的数据两种&#xff0c;例如bit [7:0] a[4]和bit [31:0] b&#xff0c;前者操作对象是数组&#xff0c;后者是单独一个较大位宽的数。 流操作符有<<和>>&#xff0c;代表从右向左打包和从左向右打包。 打包的…

LLM2CLIP论文学习笔记:强大的语言模型解锁更丰富的视觉表征

1. 写在前面 今天分享的一篇论文《LLM2CLIP: P OWERFUL L ANGUAGE M ODEL U NLOCKS R ICHER V ISUAL R EPRESENTATION》&#xff0c; 2024年9月微软和同济大学的一篇paper&#xff0c; 是多模态领域的一篇工作&#xff0c;主要探索了如何将大模型融合到Clip模型里面来进一步提…

计算机毕业设计SpringBoot+Vue.jst网上超市系统(源码+LW文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…