谷歌 | 物品-语言大模型推荐系统

TLDR: 当前将大语言模型用于推荐系统存在三方面问题:1)大语言模型不在推荐系统数据上训练,并且推荐数据通常不公开可用。2)用户交互数据通常与自然语言文本模式不同,无法确定大语言模型能否从交互数据中学习到更多的重要知识。3)难以同时适配不同的用例训练。为解决以上限制,本文提出了一个物品语言模型,其由一个物品编码器和一个冻结的大语言模型组成,前者对用户交互信息进行编码以生成与文本对齐后的物品表示,后者用保留的预训练知识理解这些物品表示。本文进行了大量的实验,证明了语言对齐和用户交互知识在物品编码器中的重要性。

论文:arxiv.org/abs/2406.02844

1 研究背景

用户与推荐系统的交互通常不是以自然语言形式进行的。例如,视频推荐系统通常根据用户从观看历史和其他候选特征中隐含的偏好向用户推荐视频,而用户通常不用提供自然语言偏好。这使得推荐系统的性能不能与大语言模型相比。为了诱导这种自然语言偏好,对话推荐系统应运而生,用户可以使用自然语言标签或对话语言直接与系统交互。

然而,将大语言模型用于会话式推荐系统存在以下困难。

  1. 与多模态不同,目前的大语言模型本身并不理解用户交互信号和自然语言。只能用自然语言数据或自然语言对齐的内容进行训练。
  2. 尽管可以用所有相关物品/用户来注释物品,或者用所有相关物品来注释用户,但是用户/物品的上下文可能很长,这将显著增加推理成本。
  3. 虽然可以使用矩阵分解算法计算物品和用户协同过滤嵌入,然后通过映射模块将这些嵌入馈送给大语言模型。但其会在协同嵌入和预训练大语言模型的词元嵌入间引入模态差异,仍需微调以对齐。

为了解决上述困难,本文提出了用于会话推荐任务的物品语言模型。针对会话推荐任务,输入中的用户和物品协同过滤嵌入由占位符标记,其与文本嵌入交错并馈送给模型,如下图所示,其中{history}是一个物品序列。

2 方法框架

受BLIP-2用轻量级查询转换器(Q-Former)弥合模态差异这一工作的启发,本文采用Q-Former来生成“物品-语言”对齐的表示。该模型整体架构如下图所示。

其分为两阶段,在第一阶段,如上图(a)(b)所示,先按照BLIP-2方法预训练Q-Former编码器。除了原始的“物品-文本”优化目标之外,还引入了“物品-物品”对比目标,其发挥正则化作用,并在生成的物品语言表示中编码协同浏览信息。上图(c)展现了“物品-物品”对比学习如何改善物品与文本间的对齐效果。整个第一阶段中,协同过滤嵌入将作为物品编码器的输入,同时用户将被视为一个特殊的物品。

第二阶段,如上图(d)所示,通过线性投影适配器层将Q-Former集成到预训练的大语言模型中,并以多任务方式对会话推荐任务进行微调。在微调过程中,只有Q-Former和适配器参数被更新,预训练的LLM被冻结以保持其预训练的能力。

3. 实验验证

ELM 24任务

下表展示了本文物品语言模型(ILM)在ELM24任务上的结果,其中将SC度量定义为解码文本与原始文本之间的语义嵌入余弦相似度。其语义嵌入采用Sentence-T5 11B模型计算得到。将带有两层MLP的CoLLM作为基准对比方法,还对比了带有随机初始化Q-Former编码器的ILM模型。

OpenP5任务

此外还在OpenP5数据集上进行了实验,其第一阶段和第二阶段用到的数据集统计量如下表所示。

实验结果如下表所示,OpenP5-R表示OpenP5随机索引方法。结果表明,该方法在所有数据集上的表现始终优于其他基线。ILM的表现也优于ILM-rand,这验证了物品语言表示学习阶段的重要性。

消融实验

第一阶段的作用上述的实验ILM的性能均优于ILM-rand,说明了第一阶段的重要性。另外,还尝试了第一阶段训练损失的不同组合:1)仅使用“物品-文本”损失(ILM-IT)。(2)将“物品-文本”损失与“物品-物品”对比损失相结合(ILM-IT-II)。(3)将“物品-文本”损失与“用户-物品”对比损失相结合(ILM-IT-UI)。从下表的结果观察到,对于ML-1M数据集,引入“用户-物品”或“物品-物品”对比损失通常可以增强性能,而对于Beauty和Clothing则没有明显的效果。这可能因为ML-1M的“物品-文本”对数据比其他两个数据集稀缺,而用户交互则更为丰富。

查询词元数量的作用

ILM方法的另一个关键点在于使用多个学习到的查询在Q-Former输出中生成多个嵌入,再作为物品表示提供给大语言模型。而现有方法则通常使用一个嵌入作为物品表示来馈送到大语言模型。下图展示了不同查询词元数量下的结果,对于大多数查询长度,该方法比MLP方法性能更优。

4 总结

本文提出了一种将协作过滤知识整合到冻结的大语言模型中以用于会话推荐任务的新方法。具体来说,提出了一个两阶段的训练范式。在第一阶段预训练Q-Former编码器用于将协同嵌入进行编码。在第二阶段冻结大语言模型主干参数并针对会话推荐任务进行训练。在各种会话推荐数据集和任务进行了广泛的基准测试,验证了其对于推荐性能的改进,同时说明了该技术如何将传统协同过滤信号与大语言模型相结合,此外证明了该模型能够一致地实现SOTA性能。


一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)



相关推荐

  • 与全参数微调相比,Lora微调的性能到底如何?
  • 深度学习可视化大全(附 GitHub 源码)
  • 副教授,也不安全了!
  • 如何优雅的将设计模式运用到实际项目中去?
  • FullGC 40次/天到10天1次,真牛B!!
  • 25个每个开发人员都应该知道的CSS 技巧
  • Promise:为什么没有取消?
  • 聊聊如何度过寒冬(公司篇)
  • 10 个冷门却好用到爆的 VSCode 插件!
  • 你踩过吗?浏览器节能机制导致Websocket断连的坑~~~
  • “内容IP”,技术人的最终归宿?技术创作特训营,你的创意新天地!
  • 图解Kafka:架构设计、消息可靠、数据持久、高性能背后的底层原理
  • RAG vs Long Context赏析:简看其任务设计思路、试验设定及对比结论
  • SpringBoot开发的AI导航站技术架构剖析 —— 技术如何选型 - 第520篇
  • 25场老刘说NLP社区线上报告汇总:涵盖知识图谱、大模型、RAG与文档智能4大主题
  • 线程池遇到父子任务,有大坑!
  • 将传统应用带入浏览器的开源先锋「GitHub 热点速览」
  • 为什么不建议使用Date类
  • Liveblocks 让你轻松实现复杂的协作功能(Github项目分享)
  • 如何用原生JavaScript检测DOM是否已加载完成?