CIKM‘24|大模型增强的协同过滤(让推荐模型学会ICL,兼顾效率和效果)

1. 导读

近年来,随着大型语言模型(LLMs)的迅速发展,研究人员对如何将这些模型用于增强推荐系统(RSs)表现出极大兴趣。当前有两种主要方法来利用LLM改进推荐系统:一是直接将LLM作为推荐系统,二是利用LLM生成特征来增强推荐系统。

LLM as Recommender Systems:这类方法包括直接提示LLM进行推荐,或者通过微调LLM使其专门用于推荐任务。尽管这些方法具有一定的效果,但面临着高计算成本和较慢的推理时间等挑战,使得在实际应用中效率较低。

LLM-enhanced Recommender Systems:此类方法通常利用LLM生成的文本或嵌入向量作为特征来增强传统推荐系统。这种方式在效率上有一定优势,但未能充分利用LLM的能力,且忽视了协同过滤信息的整合。

基于以上两种方案的优缺点,我们的研究问题是:“如何在保证高效的同时有效利用LLM的能力来增强推荐系统?” 鉴于LLM作为推荐系统的巨大参数量带来的本质难题,我们选择从LLM增强推荐系统的角度入手,但在这个过程中,我们面临以下三个关键挑战:

  1. 如何更好地利用LLM为现有推荐系统提供增强的协同过滤信息?

  2. 如何将LLM的推理能力和世界知识有效地融入推荐模型中?

  3. 如何使LLM的增强阶段与推荐模型的在线推理完全解耦?

在这里插入图片描述

LLM-CF框架示意图

为了解决这些挑战,我们设计了一个名为LLM-CF的框架,灵感来源于链式思维(Chain of Thought)和上下文学习(In-context Learning),旨在将LLM的世界知识和推理能力融入到协同过滤中,从而有效提升推荐系统的性能。我们首先通过对LLM进行指令微调(Instruction Tuning),使其能够从推荐数据中提取用户和物品的协同过滤信息,并成功训练了RecGen-LLaMA模型,达到了推荐能力和通用能力之间的最佳平衡。随后,我们利用RecGen-LLaMA为训练数据中的样本生成链式推理(CoT)数据集,供后续的推荐过程使用。

在在线服务中,LLM-CF通过检索模块将当前推荐特征的文本表示作为查询,从CoT数据集中检索类似的推荐样本。这些样本包括相似的推荐特征及由RecGen-LLaMA生成的链式推理。检索到的样本与当前推荐特征结合后输入到LLM-CF的上下文链式思维模块中,以学习由世界知识和推理能力引导的协同过滤特征,最终增强推荐模型的性能。

LLM-CF的优势:LLM-CF不仅能够充分利用LLM为现有推荐系统提供增强的协同过滤信息,还具备出色的部署效率。其设计使得协同过滤知识能够通过离线服务灌输到LLM中,从而生成包含用户行为和物品特征的文本,并通过上下文链式思维模块将LLM的世界知识和推理能力与协同过滤信息结合。此外,由于只需在离线环境中进行LLM的推理,因此大大减少了在线推理的时间开销。

2. 方法

LLM-CF 包括离线运行服务和在线运行服务两部分:

在这里插入图片描述

2.1 离线运行服务

离线服务部分:LLM-CF 的方法概述

在离线服务部分,LLM-CF通过精细的指令微调训练LLM(RecGen-LLaMA),使其具备生成协同过滤(CF)信息的能力,进而提升推荐系统的性能。该过程主要分为两个步骤:RecGen-LLaMA 的训练和链式推理(CoT)生成。

1. RecGen-LLaMA 训练

在离线服务部分,我们首先对LLM进行指令微调,以获取关于推荐数据中用户和物品的协同过滤信息。直接使用推荐数据对LLM进行全参数微调,可能会导致模型的通用能力丧失,甚至使得生成的文本不再有意义。为了解决这个问题,我们探索了一种结合推荐数据与通用指令微调数据的方法,通过精细的全参数微调来优化模型的推荐能力与通用能力的平衡。

在这里插入图片描述

RecGenLLaMA

我们使用了LLaMA2作为基础模型,结合推荐数据和通用数据进行训练,成功开发出RecGen-LLaMA,达到了推荐能力与通用能力之间的最佳平衡。RecGen-LLaMA的训练使得它可以更好地理解推荐数据中的协同过滤信息,从而生成改进的文本用于增强传统推荐模型。

2. 链式推理生成

为了使RecGen-LLaMA能够生成包含世界知识和协同过滤信息的链式推理(CoT),我们设计了一种零样本CoT提示来分解用户-物品交互,并对其进行重构,以分析用户与物品之间的关系。在这一过程中,我们首先对用户的历史交互记录进行系统分析,并生成详细的用户画像。接着,RecGen-LLaMA会对目标物品及其相关特征进行详细描述,以更好地理解物品特性。最后,通过分析用户画像与目标物品特征之间的匹配程度,生成相应的链式推理,帮助识别用户的潜在需求。

这种生成过程适用于训练数据集中的每一个推荐样本,并将生成的链式推理与原始推荐数据结合,形成上下文链式推理数据集(In-Context CoT Dataset)。

3. 效率分析

LLM-CF的离线服务相较于现有的LLM增强推荐系统方法展现了更高的效率。与需要实时生成推荐的模型不同,LLM-CF仅需要周期性地对历史数据集进行更新(同期Meta论文: “Actions speak louder than words: trillion-parameter sequential transducers for generative recommendations” 也发现了类似的结论),这使得它能够将LLM的生成过程从在线推荐服务中完全解耦。在训练阶段,实验表明仅使用一半的推荐数据即可实现与全数据训练相似的推荐性能,同时保持模型的通用能力,极大地降低了训练开销。

在生成阶段,我们将LLM-CF与当前效率最高的LLM增强推荐系统(如KAR)进行了比较。通过脱离在线服务的生成机制,LLM-CF在新用户、新物品以及新的交互场景下均表现出较高的效率,尤其是在短视频推荐场景中,每天有大量新物品出现,LLM-CF的效率优势更加明显。

2.2 在线运行服务

在线服务部分:LLM-CF 的方法概述

在在线服务部分,LLM-CF通过上下文链式推理(ICT)模块和检索模块来增强推荐模型的性能。主要包含以下几个部分:上下文链式推理样本检索、上下文链式推理模块、以及模型训练。

1. 上下文链式推理样本检索

检索模块的任务是为当前推荐数据检索出与之相似的历史推荐样本,以提供显式的协同过滤信息。具体来说,通过基于嵌入的检索方法,从上下文链式推理数据集中找到与当前推荐数据最相似的前𝐾个样本。这些样本包含推荐数据及由RecGen-LLaMA生成的链式推理,提供了包含世界知识和协同过滤信息的上下文推理示例。

为了实现高效检索,我们使用近似最近邻(ANN)搜索技术来加速查询和候选样本的匹配过程。首先,我们将当前推荐数据的文本特征编码为嵌入向量,然后计算与上下文链式推理数据集中所有候选样本的余弦相似度,选取相似度最高的𝐾个样本作为上下文推理示例。

2. 上下文链式推理模块

上下文链式推理(ICT)模块借鉴了LLM中的上下文学习和链式思维方法,通过对上下文推理示例的学习,提取包含世界知识和推理能力的协同过滤特征。具体来说,ICT模块将检索到的上下文推理示例作为输入,与当前推荐特征一起编码为ICT令牌。这些令牌通过Transformer解码器层进行编码(已有研究发现,LLM In-context learning 的能力与 transformer decoder 的结构有直接相关性,而不是数据等因素,因此我们可以通过加入transformer decoder使得传统推荐模型具备In-context learning的能力),生成包含推理和协同过滤信息的隐藏表示,从而进一步增强推荐模型的预测能力。

3. 模型训练

在模型训练阶段,我们为上下文推理示例设计了重构损失,以进一步增强ICT模块生成的协同过滤特征中的世界知识和推理能力。除了推荐模型的原始损失外,我们还通过最小化预测嵌入与链式推理的真实嵌入之间的距离来加强推理能力。最终的总损失是原始损失

4. 在线服务的效率分析

在LLM-CF的在线服务中,仅需对蓝色模块(ICT模块)进行在线计算。由于ICT模块的输入序列较短,因此计算开销非常小。此外,ICT模块还可以利用现有的加速技术来进一步减少计算时间。通过将生成过程与推荐模型的在线服务完全解耦,LLM-CF在新用户、新物品以及新的交互场景下均表现出较高的效率,证明了该框架在实际部署中的可行性。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值