RecAI旨在利用大型语言模型(LLMs)的高级功能增强甚至彻底改革推荐系统。RecAI 提供了一套工具,包括推荐 AI 智能体、面向推荐的语言表达模型、知识插件、推荐解释器和评估器,以促进从多角度将 LLMs 集成到推荐系统中。新一代的推荐系统,由 LLMs 赋能,预计将更加多功能、可解释、会话化和可控,为更智能和以用户为中心的推荐体验铺平道路。我们希望 RecAI 的开源能够加速新一代先进推荐系统的进化。
1 引言
大型语言模型(LLMs)已经在互联网上大量数据源上进行了严格的预训练。随着它们的模型参数从数亿扩展到数千亿,LLMs 已经展示了新兴的通用智能,例如进行流畅的对话、执行逻辑和数学推理、遵循详细指令完成任务,以及协助解决软件开发问题。因此,现在有多种应用正在转向集成 LLMs,无论是加强现有模型还是将其作为主要框架实现。推荐系统(RSs)作为一种专门的信息检索系统,旨在从用户配置文件和行为历史中捕获用户的偏好。RSs 可以策划一系列项目,向用户展示,从而简化在大量项目数据库中发现首选选择的过程。受到 LLMs 显著能力的启发,人们对如何将 LLMs 转型为下一代 RSs 的格局越来越感兴趣。然而,直接将 LLMs 应用为推荐模型是不可行的。一方面,LLMs 的知识边界限于它们最后训练更新时可用的信息。特定推荐上下文中的项目目录和项目属性可能没有被 LLMs 完全捕获。另一方面,用户偏好模式不仅特定于领域,而且还可能迅速演变。因此,传统的推荐模型需要频繁地使用最新数据进行重新训练或微调,以捕获与 LLMs 编码的一般世界知识不同的独特和变化的模式。本文探讨了利用 LLMs 推进 RSs 的可能性。我们设想的下一代推荐系统,由 LLMs 赋能,将展现出更高的智能和多功能性。这包括生成推荐解释、通过会话界面促进项目建议,以及提供增强的用户控制。为了实现这些目标,我们介绍了 RecAI,一个轻量级工具包,从全面和多样化的角度将 LLMs 集成到 RSs 中。目前,RecAI 包括五个基础支柱,每个支柱对应一个独立的应用场景:
推荐 AI 智能体。这是一个由 LLMs 驱动的 AI 智能体,其中 LLMs 作为“大脑”负责用户交互,以及推理、规划和任务执行。传统的推荐模型作为“工具”,通过提供专业能力来增强 LLMs。
面向推荐的语言表达模型。微调语言模型是将领域特定知识整合到模型中的有效策略。
知识插件。这通过动态地将领域特定知识整合到提示中来补充 LLMs,而无需更改 LLMs 本身。这在 LLMs 无法微调时特别有用——要么是因为只有 API 可用性,要么是因为缺乏 GPU 资源或时间限制。
推荐解释器。大多数基于深度学习的推荐模型是不透明的,表现为“黑箱”。RecExplainer 设计用来利用 LLMs 解释基于嵌入的推荐模型的工作方式,通过解释底层隐藏的表示。
评估器。RecAI 包括一个工具,用于以方便的方式评估增强型推荐系统。它包括评估基于嵌入和生成的推荐、解释能力和会话能力。
在接下来的章节中,我们将为每个支柱介绍详细信息。
2 推荐 AI 智能体
LLMs 的显著成就激发了研究人员的想象,他们设想了一个未来,其中 RSs 更加多功能、互动和以用户为中心。然而,将 LLMs 作为独立的推荐模型使用受到它们缺乏领域特定知识的约束。传统的推荐模型通过在领域特定数据上训练来定制特定的推荐任务,这为协同作用提供了机会。将 LLMs 和专业推荐模型的优势结合起来形成一个统一的框架,成为了一个有希望的方法。这种综合是一个基于 LLM 的代理框架,其中推荐模型作为专业工具。用于项目检索或点击率(CTR)预测等任务,而 LLMs 作为核心智能,促进与用户的平滑交互,并使用上下文推理来确定当前对话上下文最合适的工具。我们将这个 AI 代理框架命名为 InteRecAgent [3]。我们在 InteRecAgent 中定义了一个核心套件,包括三种不同的工具类型,以实现与用户的有效沟通:(1) 信息查询:InteRecAgent 在推荐项目的同时处理用户查询。例如,在游戏平台上,它可以通过使用 SQL 查询后端数据库来回答有关游戏细节的问题,如发布日期和价格。(2) 项目检索:这个工具根据用户的标准建议一个潜在项目的列表。InteRecAgent 区分“硬条件”(明确的用户规范)和“软条件”(需要语义匹配的偏好)。分别使用 SQL 工具和基于嵌入的项目到项目匹配来满足这些条件。(3) 项目排名:排名工具使用用户资料和/或用户历史记录预测用户对候选项目的首选项,确保推荐与用户的即时需求和总体偏好一致。这些候选项目可以来自项目检索过程,也可以由用户提供。记忆、任务规划和工具学习是 AI 智能体的三个关键组成部分。在 InteRecAgent 中,我们还为推荐场景中的特定挑战量身定制了这三个组成部分。InteRecAgent 的简单说明可以参考图 1。
图 1: InteRecAgent 的概览。用户以自然语言与 LLM 交互。LLM 理解用户的意图,并制定一个工具执行计划,以从特定领域获取正确的项目或信息。根据工具的结果,LLM 为用户生成响应。
记忆。为了在 InteRecAgent 中有效管理项目候选项的流程,并解决输入上下文长度限制,我们引入了两个关键模块:候选总线和用户资料。候选总线作为一个专用的存储系统,用于存储当前候选项和跟踪工具输出,促进项目列表和工具执行记录的流畅处理。这确保了工具之间的有效交互,而不会负担 LLM 的输入提示。用户资料是从对话历史中构建的,并分为长期和短期记忆。这种分割解决了终身学习场景的复杂性,同时强调了用户的即时请求,允许进行精细和自适应的推荐。
任务规划。我们采用计划优先的方法为 InteRecAgent,与传统的逐步方法不同。最初,LLM 根据对话中用户的意图制定一个全面的执行计划。随后,它严格遵循这个计划,顺序调用通过候选总线接口的工具。计划阶段结合了用户输入、上下文、工具描述和示范,以进行上下文内学习,创建一个工具利用计划。执行阶段然后遵循计划,跟踪每个工具的输出,除了最终输出,这将通知 LLM 的响应。为了增强规划,我们使用动态、高质量的示范,选择与当前用户意图最相似的例子。计划优先方法减少了 API 调用和延迟,这对于会话交互至关重要,并使用高效的示范策略提高了规划能力。
工具学习。为了使 InteRecAgent 框架更加易于访问和成本效益,我们探索了训练更小的语言模型(SLMs)如 7B 参数的 Llama 以模仿 GPT-4 在遵循指令方面的熟练程度。我们创建了 RecLlama,一个微调版本的 Llama-7B,使用由 GPT-4 生成的专门数据集,其中包含 [指令,工具执行计划] 的对。为了确保数据集的质量和多样性,我们将用户模拟器-代理对话的数据与涵盖各种工具执行场景的精心制作的对话结合起来。我们发现 RecLlama 可以显著优于一些 LLMs,如 GPT-3.5turbo 和 Text-davinci-003,作为 InteRecAgent 中的大脑。InteRecAgent 的详细评估见 [3]。
3 面向推荐的语言表达模型
传统的 RSs 通常处理结构化数据,如项目 ID 序列,以推断用户偏好。然而,这种结构化方法并不适合大型语言模型(LLMs)的优势,后者擅长处理自然语言。在现实世界的互动中,用户经常在他们的对话中提供丰富的信息,从明确的请求到微妙的偏好迹象,这些都用他们的自然语言表达。LLMs 能够解释这些用户意图,并将它们转化为基于自然语言的指令,供后续处理。因此,迫切需要 RSs 能够同化多样化的文本输入——从随意的对话到非结构化的产品描述——并返回与查询细节紧密匹配的项目。为此,我们提出了专门为推荐任务微调语言模型。根据方法是基嵌入的还是生成的,我们引入了两种不同类型的模型:RecLM-emb 和 RecLM-gen,如图 2 所示。
图 2: RecLM 的两种结构的图形比较。
3.1 RecLM-emb
先前的研究已经构建了使用对比预训练在广泛数据集上的通用文本嵌入模型,以增强语义文本匹配。然而,这些模型在零样本项目检索任务中通常表现不佳。主要问题是它们的通用表示,没有充分捕获在各种结构化的查询中提到的项目的特定细节。为了克服这个限制,我们设计了十个匹配任务,解决了项目表示的不同方面,并编制了一个针对项目检索的微调数据集。利用这个数据集,我们介绍了我们的基于嵌入的推荐语言模型 [5],RecLM-emb,旨在根据任何形式的文本输入检索项目。经过微调后,RecLM-emb 在项目检索任务上表现出显著的性能提升。它还在会话场景中显示出有效性,从而增强了基于 LLM 的推荐代理如 Chat-Rec [1] 的能力。此外,RecLM-emb 有潜力统一搜索和推荐服务或为支持下游排名器生成精细的语义表示。
3.2 RecLM-gen
与基于嵌入的 LMs 相反,生成性推荐 LM,简称为 RecLM-gen [6],直接将响应解码成自然语言。在推荐项目时,这些项目的名称无缝地融入对话中。因此,RecLM-gen 以端到端的方式管理用户系统交互,消除了需要中间步骤的需求,如基于嵌入的检索或工具调用。[2] 揭示了通过精心制作的提示工程和引导技术,零样本 LLMs 可以作为称职的排名模型。然而,我们的观察表明,使用领域特定数据进行微调可以导致推荐性能的更大幅度改进。一个经过微调的 7B Llama-2-chat 模型可以在项目排名任务中超越 GPT-4。在 RecAI 中,我们提供了 RecLM-gen 的微调脚本,使用户能够复制和构建我们的结果。RecLM-gen 的优势是三方面的。首先,领域特定的微调使 LM 能够更好地识别项目名称和独特的协作模式,从而在推荐中超越通用 LMs 的准确性。其次,将 RecLM-gen 作为推荐 AI 智能体框架的核心智能,与更大、更昂贵的 LMs 相比,显著降低了系统成本。最后,RecLM-gen 通过流式生成令牌,促进了无缝、实时的用户交互,与依赖于多个后端 LLM 调用进行上下文推理和工具交互的传统 AI 代理框架不同,后者可能会根据我们的观察引入 10-20 秒的延迟。
4 知识插件
在微调 LLMs 不可行的情况下——由于只有对 LLM API 的访问权限或面临 GPU 资源或时间限制——我们必须找到替代方法来引入领域特定知识。值得注意的是,LLMs 的输入上下文窗口大小正在扩大,这由 GPT-4-turbo 的 128k 令牌增加和 Claude 2.1 对高达 200k 令牌的支持证明。这种扩展提供了一个机会,将选定的领域模式直接包含在输入中。受到这一点的激励,我们提出了领域特定知识增强(DOKE)范式,它绕过了参数修改的需求,而是使用提示来整合领域知识。DOKE 的核心思想包括三个步骤:(1) 提取领域相关知识,(2) 选择与当前样本相关的知识以适应提示长度限制,(3) 将这些知识用自然语言表达。作为将 DOKE 范式应用于 RSs 的实例,我们专注于提高 LLMs 在项目排名上的性能。我们专门的知识提取器收集项目属性和协同过滤信号,将这些信息定制到用户的偏好和候选项目集中。然后,它通过自然语言解释或作为知识图谱上推理路径来传达这些信息,从而产生更可解释的推荐。通过这种方式,我们在不同推荐基准上的实验结果表明,DOKE 显著提高了 LLM 性能,证明了其效率和适应性。有关更多详细信息,请参阅 [7]。
5 推荐解释器
模型可解释性对于创建可靠的 RSs 至关重要,因为它提供了对系统可靠性的洞察,有助于检测错误,帮助识别偏见,并推动创新。在这一研究领域的一种主要方法是训练自解释的替代模型来模仿更复杂模型的行为。然而,替代模型往往会牺牲模型准确性,并通常以固定的、不太直观的格式生成解释,如特征重要性列表或决策规则。LLMs 为替代建模提供了一个新的视角,避免了模型复杂性和可解释性之间的硬权衡。与此同时,LLMs 有能力产生自然语言解释,使它们更用户友好和有说服力。在这种情况下,我们探索了使用 LLM 作为推荐模型可解释性的替代模型。我们从行为对齐方法开始,其中 LLM 被微调以基于用户资料预测项目,紧密模仿推荐模型的输出。虽然这种方法提供了有用的见解,但它并没有深入到模型的内部逻辑。为了解决这个问题,我们提出了意图对齐,其中 LLM 学习处理推荐模型的嵌入。类似于视觉-语言多模态模型处理视觉数据,这种方法旨在使 LLM 能够理解用户/项目嵌入中的信息,允许它解释推荐模型建议背后的理由。我们发现,将这两种方法结合成一种混合对齐策略,其中结合了文本信息和嵌入,可以更有效地解决解释不准确的问题,并提高整体可解释性。这种综合方法结合了行为和意图对齐的好处,提供了更强大和更全面的解释机制。为了实现三种对齐方法——行为、意图和混合对齐——我们定义了六个任务,以微调 LLM 与目标推荐模型的预测对齐。这些任务包括教 LLM 预测用户可能喜欢的下一个项目,学习对项目进行排名,分类兴趣,详细描述项目特征,通过 ShareGPT 训练保持通用智能,以及为意图对齐重建用户历史。这种全面的训练方案使 LLM 能够复制推荐模型的逻辑。因此,结合 LLM 自身的推理能力和世界知识,LLMs 可以生成在推荐场景中具有更高保真度和鲁棒性的模型解释。有关更多技术细节和评估,请参阅 [4]。
6 评估器
RecAI 提供了一个工具,用于自动评估五个关键维度:生成性推荐。基于 LLM 的 RSs 使自然语言参与成为可能,这有时会在项目名称的生成中出现轻微的不准确之处,例如错误的标点。为了适应这些潜在的差异,我们采用模糊匹配,以确保我们的名称验证过程保持适应性而不是过于严格。基于嵌入的推荐。RecAI 评估器支持像我们的 RecLM-emb 或 OpenAI 的文本嵌入 API 这样的基于嵌入的匹配模型。一旦推断出用户/项目嵌入,随后的评估程序就符合传统的评估过程。
对话。我们通过一个由 GPT-4 驱动的用户模拟器与系统互动,以寻求项目建议,来评估会话推荐的有效性。系统性能通过在互动期间成功引用模拟器的目标项目来衡量。
解释。系统为其推荐提供解释,然后由一个独立的 LLM 如 GPT-4 评估,作为评委来评价这些解释的信息量、说服力和有用性。
闲聊。用户可能会发起非推荐对话,如询问“如何写一篇研究论文”。RS 应该能够熟练地处理此类查询。一个 LLM,如 GPT-4,批评系统对这些查询的回复,以评估其有用性、相关性和彻底性。
我们使用 NDCG 和 Recall 指标与真实情况比较来衡量前三个维度。对于解释和闲聊,我们使用成对比较进行稳健评估,其中评委比较两个模型的输出,统计胜负和平局,以衡量整体性能。
7 结论
我们介绍了 RecAI,这是一个旨在利用 LLMs 打造模仿人类互动的推荐系统的工具包。RecAI 围绕多个支柱构建,每个支柱旨在通过多样化的技术解决各种现实世界的应用。例如,希望将工业推荐系统发展为会话接口的工程师可以部署推荐 AI 智能体框架,从而保留他们现有的推荐模型的价值。希望以最小的成本快速开发会话推荐系统的研究人员可能会选择 Chat-Rec 框架,集成 RecLM-emb 进行检索和 RecLM-gen 作为生成性 LLM。我们预计,由 LLMs 驱动的下一代推荐系统将提供更多的多功能性、互动性和用户控制。我们希望 RecAI 能够加速这一转型过程,为工业界和学术界提供必要的工具,以构建更复杂、更具吸引力和响应性的推荐系统。
参考文献
标题:RecAI: Leveraging Large Language Models for Next-Generation Recommender Systems
作者:Jianxun Lian, Yuxuan Lei, Xu Huang, Jing Yao, Wei Xu, Xing Xie
单位:Microsoft Research Asia, University of Science and Technology of China, Renmin University, Microsoft Research Asia
标签:推荐系统、大型语言模型(LLMs)、人工智能、自然语言处理、机器学习
链接:https://arxiv.org/pdf/2403.06465.pdf
微软资讯推荐
win10系统推荐
系统教程推荐