微信扫码
与创始人交个朋友
我要投稿
随着 LLMs 的应用潜力不断被发掘出来,如何将其整合进推荐系统(Recommendation System, RS)中成为了时下的一个热门话题。然而在现实场景中,直接将预训练的 LLMs 集成进 RSs 中似乎并不能产生很好的效果。本文将带领大家解读一份微软亚研的研究成果,来同大家一起学习 LLM+RS 这一领域。
参考文献:[1] LIAN J, LEI Y, HUANG X, et al., 2024. RecAI: Leveraging Large Language Models for Next-Generation Recommender Systems[M]. http://arxiv.org/abs/2403.06465. DOI:10.1145/3589335.3651242.[2] microsoft/RecAI[CP]. Microsoft. https://github.com/microsoft/RecAI.
当下 LLMs 已被广泛应用到对话式交互、逻辑和数学推理、debug、分解并完成复杂任务等领域,也有越来越多的应用开始将集成 LLMs。然而,将 LLMs 有效集成进 RSs 中似乎并不容易:一方面,预训练的 LLMs 可能并不具备 RSs 所需的知识(范围不足);另一方面,尤其在电商领域,短时间内反复重复训练或微调 LLMs 以适应快速变化的用户偏好模式/快速变化的领域知识是不现实的(知识落后)。
为了解决上述问题,让 RSs 具备更强的推荐理由解释能力,更加以用户为中心,并通过自然对话使推荐过程更加便捷,RecAI 工具包应运而生。具体而言,RecAI 由六大功能组件组成:
LLMs 能够给RSs带来更丰富的功能、对话式交互和以用户为中心的体验,但若独立作为推荐模型,则缺乏特定领域的知识;而传统基于特定领域知识进行训练的推荐模型可以很好地弥补 LLMs 的缺陷。
在 RecAI 中,RecAgent 框架通过三个工具(Information Query、Item Retrieval 和 Item Ranking)实现与用户的有效交互。
为了有效管理项目推荐流程并解决输入上下文长度限制,RecAgent 还构建了两个组件(Candidate bus 和 User Profile)。Candidate bus 用于存储候选推荐项目和工具执行记录,这确保了工具之间的有效交互,而不会加重 LLM 的输入提示负担;User Profile 则从历史对话中构建长期记忆和短期记忆,以学习用户总体偏好和即使需求。
在实际工作过程中,RecAgent 摒弃了传统逐步执行和调用工具的路线,而选择优先规划工具调用队列的方式。首先,LLM 会根据用户在对话中的意图设计了一个全面的执行计划;随后,严格遵循该计划,并通过 Candidate Bus 的接口顺序调用前面提到的三大工具。
这种方法减少了 API 调用次数和延迟,有效保障了对话交互的流畅性。同时在规划制定阶段,LLM 会结合用户输入、历史对话、工具描述和与用户意图最相似的规划示例来更好地进行规划。
图1 RecAgent 的概述。用户以自然语言与 LLM 交互。LLM 理解用户的意图,并做出工具执行计划以从特定领域获取正确的项目或信息。基于工具的结果,LLM 为用户生成响应。
相比传统 RSs 利用结构化数据捕获用户偏好,LLMs 可以用户对话中获取到丰富信息(包括明确的需求指令和隐含的用户偏好)。RecAI 中 RecLM 是专门服务于推荐任务的微调模型,根据推荐方式不同,分为 RecLM-emb 和 RecLM-gen。
RecLM-emb 模型的主要作用是将各种类型的文本输入转换为嵌入式表示,以便用于项目检索。RecAI 的研究者为 RecLM-emb 的训练划分了十种嵌入向量匹配任务,并相应地构建了一个微调数据集。RecLM-emb 不仅改善了 RSs 的项目检索能力,还增强了对话场景下的推荐能力,使得基于 LLM 的推荐智能体(如Chat-Rec)在与用户进行自然语言交流时更加高效。此外,RecLM-emb 还有潜力将搜索和推荐服务统一起来,通过生成精细化的语义表示来支持下游的排序器(rankers),从而提供一个更加连贯和一体化的用户体验。
RecLM-gen 的主要功能是在推荐系统中生成自然语言描述的推荐内容。这消除了对中间步骤(如基于嵌入式的检索或工具调用)的需求,为用户提供了更加流畅和直观的体验。同时,在小规模模型(如 Llama-7B)上微调的RecLM-gen 具备比大规模通用模型更好的性能,这也降低了模型的使用成本。
LLMs 不断扩大的 Context Window,使 LLMs 外挂大规模领域知识成为了可能。在算力不足或 RSs 只能调用 LLM APIs 的情况下,RSs 中的 DOKE (特定领域知识增强)通过在输入提示中整合特定领域的知识,增强 LLMs 的性能。DOKE 由三部分组成:(1) 抽取相关领域知识,(2) 进一步选择与当前样本相关的知识以适应提示长度约束,(3) 将嵌入向量形式的知识转化为自然语言。
首先,在知识抽取过程中,knowledge extractor 会收集候选推荐项目属性和协同过滤信号,从而抽取出与用户偏好和候选项目集的相关的领域知识。接着,DOKE 会通过自然语言解释或知识图(knowledge graph)上的推理路径来传达这些定制化的领域知识,从而产生更多可解释的推荐结果。
模型可解释性分析能够增强 RSs 的可靠性。RecExplainer 避免了传统代理模型在准确性和可解释性之间的权衡。其核心思想是通过微调 LLMs(即代理模型),学习、模仿、理解基于嵌入的深度学习模型,并揭示其背后的推荐逻辑。
RecExplainer 采用了三种对齐策略:(1) 行为对齐是让 LLMs 基于用户档案预测推荐结果,使其输出与原有推荐模型的推荐结果对齐;(2) 意图对齐使 LLMs 理解原有推荐模型的 embeddings;(3) 混合对齐则结合行为对齐和意图对齐。
为了实现以上三种对齐策略,研究人员定义了一系列任务来微调LLM,使 RecExplainer 与原有推荐模型的预测保持一致。这些任务包括预测与排序推荐项目的,进行兴趣分类,描述项目特征,通过 ShareGPT 的训练维持原有的通用智能,以及重建用户历史(包括用户浏览记录、点击、收藏、评分和购买等行为数据)以进行意图对齐。
RecEval 包含五个评价维度:基于生成的推荐能力、基于嵌入的推荐能力、对话能力、解释能力和闲聊能力(chit-chat)。
基于生成的推荐能力评估 RSs 的自然语言推荐结果,并采用模糊匹配,以减轻因生成结果的微小差异(如推荐项目名称中的标点错误)而导致的验证不成功问题。
RecEval 支持 RecLM-emb 或 OpenAI 的文本嵌入 API 等基于嵌入向量的匹配模型。在这些模型推断出用户和项目的嵌入向量后,RecEval 会计算推荐结果与用户真实偏好之间的相关度,以评估推荐效果。
在评估对话能力和解释能力时,RecEval 通过以 GPT-4 驱动的用户模拟器与 RSs 进行交互,并由独立的 LLM(如GPT-4)评判 RSs提供项目推荐的效果和对推荐结果进行解释的质量(包括解释的信息量、说服力和有用性)。
此外,用户可能会发起非推荐对话,例如询问“如何编写研究论文”。RSs 的“闲聊能力”即其在此类问题上的回答的有用性、相关性和完整性。这一维度同样由独立 LLM 进行评判。
RecAI 作为一个工具包,旨在利用 LLM 实现类人交互的推荐系统。其中的 5 个工具组件旨在通过各种技术解决各种现实世界的应用,他们既是相互独立又是相互合作的。
在现实工作场景中,如果工程师想将现有工业推荐系统演变为以会话界面为中心的,那 RecAI 框架可以在保留现有推荐模型价值的基础上实现目标;如果研究人员想以最小的成本快速开发一个对话式推荐系统而选择了 Chat-Rec 框架,RecAI 亦可以将 RecLM-emb 和 RecLM-gen 分别作为检索(retrieval)和生成(generation)组件集成进去。
在未来,类似于 RecAI 的智能框架或许能加速推荐系统的演变,帮助工业界和学术界构建更复杂且具备更快响应速度的推荐系统。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-03-30
2024-04-26
2024-05-10
2024-04-12
2024-05-28
2024-04-25
2024-05-14
2024-07-18
2024-08-13
2024-04-26