在大模型+时代,似乎任何自然语言处理任务在大模型加持下都完成了一轮升级改造,展现出前所未有的高效与效果。语义理解、情感分析还是文本生成这些常规任务自然是不必说,但也有一些任务比如推荐,简单粗暴的训练LLMs的思路并非明智之举。
分享几个网站
GPT-3.5研究测试:
https://hujiaoai.cn
GPT-4研究测试:
https://higpt4.cn
Claude-3研究测试(全面吊打GPT-4):
https://hiclaude3.com
推荐系统作为一种专门类型的信息检索系统,旨在从用户的个人资料和行为历史中捕捉偏好。
一方面,LLMs的知识边界仅限于它们最后一次训练更新时可用的信息。特定项目目录以及特定推荐环境中项目的属性可能无法完全被LLMs捕捉。
另一方面,用户偏好模式不仅是领域特定的,而且还受到快速演变的影响。因此,传统的推荐模型需要频繁重新训练或微调以捕捉与LLMs中编码的一般世界知识不同的独特和变化模式,代价高昂。
微软亚研团队就以上的局限探讨了利用LLMs推进推荐系统的可能性。今天这篇论文并不是介绍某一方面的改进,而是将近期团队中发布的关于推荐系统的工作打包进行系统性的介绍,包括推荐AI agent,面向推荐的语言模型,推荐知识插件,推荐模型的可解释性,自动评估器几大方面,并推出一个轻量级工具包——RecAI,从全面和多样化的角度将LLMs整合到RSs中,另外开源了代码,方便其他研究人员快速复用。
论文标题:
RecAI: Leveraging Large Language Models for Next-Generation Recommender Systems
论文链接:
https://arxiv.org/pdf/2403.06465.pdf
代码连接:
https://github.com/microsoft/RecAI
推荐AI Agent
论文标题:
Recommender ai agent: Integrating large language models for interactive recommendations
由于LLM知识更新困难且却反领域专业知识,将其作为独立的推荐模型是难以实施的,因此可以结合专用特定领域数据训练后的传统推荐模型。其中传统推荐模型作为专用工具负责项目检索或点击率预测等任务,而LLM则担任核心智能角色,促进与用户的流畅互动,并利用情境推理来选择最适合当前对话情境的工具。
作者将这一AI代理框架命名为InteRecAgent。其简单示例如下图所示,用户通过自然语言与LLM进行交互LLM理解用户意图并制定工具执行计划,以从特定领域获正确的项目或信息。基于工具的结果,LLM为用户生成响应。
InteRecAgent中定义了一个核心套件,包括三种不同的工具类型,以实现与用户的有效沟通:
-
信息查询:InteRecAgent在推荐项目的同时解决用户查询。例如,在游戏平台上,它可以通过使用SQL查询后端数据库来回答关于游戏详细信息(如发布日期和价格)的问题。
-
项目检索:该工具根据用户的标准,建议潜在项目列表。InteRecAgent区分“硬条件”(明确用户规范)和“软条件”(需要语义匹配的偏好)。分别使用SQL工具和基于嵌入的项目对项目匹配来满足这些条件。
-
项目排名:排名工具使用用户配置文件和/或用户历史记录预测用户对入围项目的偏好,确保推荐符合用户的即时需求和整体偏好。这些入选项目可以从项目检索过程中派生,也可以由用户提供。
记忆、任务规划和工具学习是AI代理的三个关键组成部分。在InteRecAgent中,作者还针对推荐场景中的具体挑战调整了这三个组件。
1. 记忆
为了有效管理InteRecAgent内项目候选者的流动并解决输入上下文长度的限制,引入了两个关键模块:
-
候选者总线(Candidate Bus):用于存储当前候选者并跟踪工具输出,从而简化项目列表和工具执行记录的处理流程。这确保了工具之间的有效交互,同时不会加重LLM输入提示的负担。
-
用户画像则是根据对话历史构建的,并细分为长期记忆和短期记忆。这种分割解决了终身学习场景的复杂性,同时强调用户的即时请求,从而实现了精细和自适应的推荐。
2. 任务规划
与传统的逐步式方法不同,InteRecAgent采用了一种先规划后执行的方法。LLM首先根据用户对话意图制定全面执行计划,然后严格遵循计划,按顺序调用与候选者总线交互的工具。如下图所示:
规划阶段融合用户输入、上下文、工具描述及上下文学习演示,形成工具使用计划。执行阶段则遵循此计划,记录每个工具输出,除最终输出外,均用以指导LLM的响应。
为优化规划,采用了动态、高质量的演示,选取与用户意图相近的示例。这种方法减少了API调用和延迟,提升了会话交互效率,同时通过高效的演示策略增强了规划能力。
3. 工具学习
为提升InteRecAgent框架的可访问性和成本效益,作者创建了Llama-7B的微调版——RecLlama,它利用GPT-4生成的专业数据集,该数据集包含[指令,工具执行计划]的配对数据。
结合用户模拟器与代理对话的数据,以及精心设计、涵盖多种工具执行场景的对话,以确保数据集的质量和多样性,结果如下图所示:
实验表明,RecLlama在作为InteRecAgent的核心智能方面,表现显著优于GPT-3.5-turbo和Text-davinci-003等LLM。
面向推荐的语言模型
传统的推荐系统主要依赖结构化数据,如物品ID序列,来推测用户喜好。然而,这种结构化处理方式并未充分利用LLMs在处理自然语言上的优势。
LLMs能够解读这些用户暗藏在对话中的意图,并将其转化为自然语言指令,以供后续处理。因此,推荐系统需要具备吸收多种文本输入(从随意对话到非结构化产品描述)的能力,并能精准匹配用户查询的细微需求,以提供个性化推荐。
为此,作者提出了专门针对推荐任务进行语言模型微调。引入了基于嵌入RecLM-emb和基于生成RecLM-gen两种模型,如图所示。
1. RecLM-emb
论文标题:
Aligning Language Models for Versatile Text-based Item Retrieval.
作者精心设计了十个匹配任务,涵盖了项目表示的不同方面,并编制了一个专为项目检索定制的微调数据集。
基于这一数据集,引入了基于嵌入的推荐语言模型——RecLM-emb,旨在根据任何形式的文本输入精准检索项目。
经过微调,RecLM-emb在项目检索任务中展现出了显著的性能提升。此外,它在对话场景中也表现出色,有效提升了如Chat-Rec等基于LLM的推荐agent的能力。更重要的是,RecLM-emb具有统一搜索和推荐服务或生成精细语义表示以支持下游排序器的巨大潜力。
2. RecLM-gen
论文标题:
Aligning Large Language Models for Controllable Recommendations.
与基于嵌入的语言模型不同,生成式推荐语言模型RecLM-gen能够直接将响应转化为自然语言,将推荐物品的名称自然地融入对话中。这一特点使得RecLM-gen能够以端到端的方式管理用户与系统之间的交互,无需依赖基于嵌入的检索或工具调用等中间步骤。
RecLM-gen的优势主要体现在三个方面:
-
通过领域特定的微调,语言模型能够更好地识别物品名称和独特的协作模式,从而在推荐中展现出比通用语言模型更高的准确性。
-
将RecLM-gen集成到推荐AI agent框架中显著降低了系统成本,尤其与更大、更昂贵的语言模型相比。
-
RecLM-gen通过流式生成token,促进了无缝、实时的用户交互,相较于传统的依赖于多个后端LLM调用进行上下文推理和工具交互的AI agent框架,能够减少10-20秒的延迟。
知识插件
论文标题:
Knowledge Plugins: Enhancing Large Language Models for Domain-Specific Recommendations
在无法进行LLM微调的场景中,例如受限于LLM API的访问权限、GPU资源或时间,作者提出了领域特定知识增强(DOKE)范式,它无需修改参数,而是通过提示来整合领域知识。DOKE的核心思想包括三个步骤:提取领域相关知识,选择与当前样本相关的知识以适应提示长度限制,并将这些知识表述为自然语言。如下图所示:
在推荐系统中,需要专注提升LLM在物品排名上的能力。因此需要利用专业知识提取器收集物品属性和协同过滤信号,根据用户偏好和候选物品集合定制信息。这些信息通过自然语言解释或知识图上的推理路径传达,使推荐更具可解释性。实验结果表明,DOKE显著提升了LLM的性能,验证了其效率和适应性。
可解释性
论文标题:
RecExplainer: Aligning Large Language Models for Recommendation Model Interpretability
模型可解释性对于构建可靠的推荐系统至关重要,因为它不仅揭示系统的工作机制,还有助于发现错误、识别偏见并推动创新。作者探索了将LLM用作推荐模型中可解释性的替代模型,使用三种对齐策略训练模型。
-
行为对齐:通过微调LLM以基于用户配置文件预测项目,紧密模拟推荐模型的输出。
-
意图对齐:使LLM能够处理推荐模型的嵌入,从而理解用户项目嵌入中的信息,并解释推荐背后的逻辑。
-
混合对齐策略:即融合文本信息和嵌入们更有效地解决了解释不准确性问题,并增强了整体可解释性。
为了实施行为、意图和混合对齐这三种方法,作者精心设计了六个任务,旨在微调LLM以使其与目标推荐模型的预测保持一致。这些任务涵盖了多个方面,包括:
-
Task1:教导LLM预测用户可能感兴趣的下一个项目;
-
Task2:学习对项目进行合理的排名;
-
Task3:对用户兴趣进行分类;
-
Task4:详细解释项目的特征;
-
Task5:通过ShareGPT训练保持LLM的一般智能;
-
Task6:为意图对齐重建用户历史。
任务2和任务3主要集中于理解用户嵌入和项目嵌入之间的关系,但它们没有充分探索用户嵌入中的自包含信息。任务6旨在解决这一限制。下图,提供了不同任务流程的比较:
这一全面的训练计划使LLM能够深入复制推荐模型的内在逻辑。结合LLM自身强大的推理能力和丰富的世界知识,LLMs在推荐场景中能够生成更高保真度和鲁棒性的模型解释。
自动评估工具
RecAI 提供了一个全面的自动评估工具,涵盖五个关键维度,以确保推荐系统的性能与用户体验得到全面考量。
-
生成式推荐:考虑到基于LLM的推荐系统实现自然语言交互时可能产生的细微不准确性,如商品名称的标点符号错误。因此采用模糊匹配方法,使名称验证过程更加灵活,避免过于严苛的标准。
-
基于嵌入的推荐:RecAI评估器支持多种嵌入匹配模型,如RecLM-emb和OpenAI的文本嵌入API。一旦用户/商品嵌入被计算出来,后续评估过程便遵循传统的评估流程。
-
对话:利用GPT-4驱动的用户模拟器来评估系统的表现。该模拟器与系统互动,征求商品建议,并根据模拟器设定的目标商品来衡量系统的性能。
-
解释:采用独立的LLM如GPT-4来评估其信息量、说服力和帮助性。
-
闲聊:当用户发起非推荐性对话时,如“如何写论文”,RS应能够妥善处理。利用LLM来评价系统的回复是否具有帮助性、相关性和完整性,从而确保系统能够应对各种场景下的用户需求。
在衡量指标上,作者使用NDCG和召回率来评估前三个维度与基准事实的比较。而对于解释和闲聊这两个维度,采用成对比较的方法,评判员对比两个模型的输出,计算胜利、失败和平局的次数,以全面评估整体性能。
总结
本文推出了一个利用LLMs构建模拟人类交互推荐系统的工具包RecAI。RecAI由多个部分组成,每个部分都通过多样化技术应对各种现实挑战。
比如,工程师们若希望将工业推荐系统升级为对话界面,可以部署推荐AI agent框架,从而保留现有推荐模型的价值。
而希望快速且低成本开发对话式推荐系统的研究人员,则可选择Chat-Rec框架,集成RecLM-emb用于检索和RecLM-gen作为生成型LLM。
我们可以相信,LLMs引领的下一代推荐系统将带来更高的多功能性、互动性和用户控制力。RecAI正是加速这一变革的利器,为工业界和学术界提供构建更复杂、更吸引人且响应更迅速的推荐系统所需的关键工具。