AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


微软开源 RecAI:基于大模型构建下一代推荐系统
发布日期:2024-05-01 06:51:59 浏览次数: 1734


RecAI 是一个实用的工具包,利用大型语言模型 (LLM) 的强大功能来增强甚至彻底革新推荐系统。包括推荐者AI代理、面向推荐的语言模型、知识插件、推荐结果解释器和评估器,这些工具可以帮助从多方面将 LLM 集成到推荐系统中。赋能于大型语言模型的新一代推荐系统预计将更加通用、可解释、对话式和可控,从而为用户提供更智能、以用户为中心的推荐体验。RecAI 的开源能帮助加速新一代高级推荐系统的演进。

LLM 在开发前沿推荐系统方面具有巨大潜力,尤其是在增强交互性、可解释性和可控性方面。这些方面一直是传统推荐系统面临的挑战。然而,由于缺乏特定领域知识,直接将通用 LLM 应用于推荐场景并非可行方案。
RecAI 通过研究将 LLM 集成到推荐系统中的各种策略来弥合这一差距,这个概念通常被称为 LLM4Rec。通过采用整体视角,可以将 LLM4Rec 的大部分实际需求纳入 RecAI 项目探索的一种或多种技术中。这些技术包括但不限于推荐系统智能体、通过个性化提示注入知识、将语言模型微调为推荐模型、评估以及 LLM 作为模型解释器。最终目标是创建一个更复杂、更具交互性且以用户为中心的推荐系统。

论文地址:https://arxiv.org/pdf/2403.06465.pdf代码地址:https://github.com/microsoft/RecAI

推荐系统智能体

大型语言模型 (LLM) 的卓越成就启发了研究人员展望未来推荐系统 (RS) 将变得更加通用、交互式且以用户为中心。然而,将 LLM 直接作为独立的推荐模型会受限于其缺乏领域知识。传统推荐模型通过针对领域数据进行训练来实现特定推荐任务,这为两者协同创造了机会。

将 LLM 和专业推荐模型的优势融合到统一框架中成为一种颇具前景的方法。这种融合体就是一个基于 LLM 的智能体框架,其中推荐模型作为完成诸如商品检索或点击率 (CTR) 预测等任务的专用工具,而 LLM 则作为核心智能,促进与用户顺畅互动并利用上下文推理来确定最适合当前对话情境的工具。我们将其命名为智能体框架 InteRecAgent 。
为实现与用户有效沟通,InteRecAgent 内部定义了三种核心工具类型:
信息查询:InteRecAgent 可以一边回答用户查询,一边推荐商品。例如,在游戏平台上,它可以通过 SQL 查询后端数据库来回答有关游戏细节(如发布日期和价格)的问题。
商品检索:此工具可根据用户的标准推荐潜在商品列表。InteRecAgent 区分“硬条件”(用户明确指定)和“软条件”(需要语义匹配的偏好)。分别使用 SQL 工具和基于嵌入向量的商品间匹配来满足这些条件。
商品排序:排序工具使用用户配置文件和/或用户历史记录来预测用户对候选商品的偏好,确保推荐结果既符合用户即时需求,又符合用户整体偏好。这些候选商品可能来自商品检索过程,也可能由用户提供。
内存、任务规划和工具学习是人工智能体三大关键要素。在 InteRecAgent 中,我们也针对推荐场景的特定挑战调整了这三个组件

图 1: InteRecAgent 概述。用户使用自然语言与大型语言模型 (LLM) 进行交互。LLM 理解用户的意图并制定工具执行计划,从特定领域获取正确的物品或信息。然后根据工具的结果,LLM 为用户生成响应。

内存模块
为了有效管理 InteRecAgent 内部候选商品的流转,并解决输入上下文长度限制的问题,我们引入了两个关键模块:候选者总线 (Candidate Bus) 和用户档案 (User Profile)。
  • 候选者总线 是一个专门的内存系统,用于存储当前候选商品并跟踪工具的输出,从而简化商品列表和工具执行记录的处理过程。这确保了工具之间的高效交互,同时不会增加 LLM 输入提示的负担。
  • 用户档案 基于对话历史构建,并分为长期记忆和短期记忆。这种划分方法解决了终身学习场景的复杂性,同时强调用户即时需求,从而实现精细化和适应性的推荐。
任务规划
InteRecAgent 采用“先计划后执行”的方法,区别于传统的逐个步骤方法。
1. 首先,LLM 基于对话中用户表达的意图,制定一个综合的执行计划。
2. 接下来,它严格遵循该计划,依次调用通过候选者总线进行交互的工具。
计划阶段会综合用户输入、上下文、工具描述以及示范(用于情境学习),以创建工具利用计划。然后执行阶段遵循计划,跟踪每个工具的输出(最终输出除外),最终信息将用于生成 LLM 的响应。
为了增强规划能力,使用动态、高质量的示范,选择与当前用户意图最相似的示例。这种“先计划后执行”的方法减少了 API 调用和延迟(这对对话交互至关重要),并通过高效的示范策略提高了规划能力。
工具学习
为了使 InteRecAgent 框架更易于访问且更具成本效益,探索了训练更小的语言模型 (SLM) 的潜力,例如拥有 7B 参数的 Llama 模型,使其能够像 GPT-4 一样熟练地遵循指令。
创建了 RecLlama,它是通过 GPT-4 生成的一个包含成对的“[指令,工具执行计划]” 的特殊数据集来微调的 Llama-7B 模型。为了确保数据集的质量和多样性,我们将来自用户模拟器-代理对话的数据与涵盖各种工具执行场景的人工编制对话结合起来。
RecLlama 在作为 InteRecAgent 的“大脑”方面可以明显优于某些大型语言模型,例如 GPT-3.5-turbo 和 Text-davinci-003。
面向推荐的语言模型
传统推荐系统 (RS) 通常处理结构化数据(例如商品 ID 序列)来推断用户偏好。然而,这种结构化方法并不适合擅长处理自然语言的大型语言模型 (LLM) 的优势。在现实世界的交互中,用户在对话中往往会提供大量信息,从明确的请求到微妙的偏好暗示,这些都用自然语言表达。LLM 能够解读这些用户意图,并将它们转换为基于自然语言的指令,供后续处理。因此,迫切需要能够处理各种文本输入的推荐系统——从日常对话到非结构化产品描述——并返回与查询细微差别紧密匹配的商品。为此,我们建议专门针对推荐任务微调语言模型。根据方法是基于嵌入式还是生成式,引入了两种不同的模型:RecLM-emb 和 RecLM-gen,如图 2 所示。

两种 RecLM 结构的图形比较

RecLM-emb
以往的研究使用对抗预训练在大型数据集上构建通用文本嵌入模型,以增强语义文本匹配。然而,这些模型在零样本商品检索任务中往往表现不佳。主要问题在于它们泛化的表示,无法充分捕获各种结构化查询中提到的商品的特定细节。
为了克服这一限制,我们设计了十个匹配任务来解决商品表示的不同方面,并编译了一个针对商品检索量身定制的微调数据集。利用这个数据集,我们引入了基于嵌入式的推荐语言模型 (RecLM-emb) [5],旨在根据任何形式的文本输入检索商品。经过微调后,RecLM-emb 在商品检索任务上的性能表现出显著提升。它在对话场景中也显示出有效性,从而增强了像 Chat-Rec [1] 这样的基于 LLM 的推荐代理的功能。此外,RecLM-emb 还具有统一搜索和推荐服务或生成精细的语义表示以支持下游排序器的潜力。
RecLM-gen
与基于嵌入的语言模型 (LM) 不同,生成式推荐语言模型 (RecLM-gen) [6] 直接将响应解码成自然语言。在推荐商品时,这些商品的名称会无缝集成到对话中。因此,RecLM-gen 以端到端的方式管理用户与系统的交互,无需像基于嵌入的检索或工具调用等中间步骤。
研究表明,通过精心设计的提示工程和引导技术,零样本的大型语言模型 (LLM) 可以作为称职的排序模型。尽管如此,观察结果表明,使用特定领域的微调数据进行微调可以带来更加显著的推荐性能提升。经过微调的 7B 参数 Llama-2-chat 模型在商品排序任务方面可以超越 GPT-4。在 RecAI 中,我们提供了 RecLM-gen 的微调脚本,使用户能够复制和扩展我们的成果。
RecLM-gen 的优势有三方面。首先,特定领域的微调使语言模型能够更好地识别商品名称和独特的协同模式,从而在推荐方面超越通用语言模型的准确性。其次,与更大、更昂贵的 LLM 相比,将 RecLM-gen 作为推荐人工智能代理框架的核心智能可以大大降低系统成本。最后,RecLM-gen 通过流式生成令牌来促进无缝的实时用户交互,这与传统的人工智能代理框架不同,传统框架依赖于多次后端 LLM 调用进行上下文推理和工具交互,这根据我们的观察可能会引入 10-20 秒的延迟。
知识插件
在某些情况下,由于只能访问大型语言模型 (LLM) 的 API 或受到 GPU 资源或时间方面的限制,微调 LLM 是不可行的。在这种情况下,我们必须找到引入领域特定知识的替代方法。值得注意的是,大型语言模型的输入上下文窗口大小正在扩展,例如 GPT-4-turbo 增加到 12.8k 个标记,Claude 2.1 最多支持 20 万个标记。这种扩展为将选定的领域模式直接包含在输入中提供了机会。
受此启发,我们提出了领域特定知识增强 (DOKE) 范例,它绕过参数修改的需要,而是使用提示来集成领域知识。DOKE 的核心思想包括三个步骤:
  • 提取领域相关知识: 识别与推荐系统相关的领域知识。
  • 选择与当前样本相关的知识: 在提示长度限制内选择与当前样本相关的知识。
  • 将知识表述成自然语言: 将选定的知识表述成易于理解的自然语言。

将 DOKE 范例应用于推荐系统 (RS) 的一个实例,重点是提升大型语言模型在商品排序方面的性能。我们专门的知识提取器会收集商品属性和协同过滤信号,并根据用户的偏好和候选商品集合定制这些信息。
然后,它可以通过自然语言解释或知识图上的推理路径来传达这些信息,从而产生更易于理解的推荐结果。通过这种方式,我们在不同推荐基准测试上的实验结果表明,DOKE 显着提升了大型语言模型的性能,证明了其高效性和适应性。
RecEXPLAINER
在构建可靠的推荐系统 (RS) 时,模型的可解释性至关重要。它可以提供系统可靠性的见解,帮助检测漏洞,识别偏差并推动创新。该研究领域的一个主要方法是训练可自我解释的替代模型来模仿更复杂模型的行为。然而,替代模型往往会影响模型精度,并且通常会以固定、不太直观的形式(例如特征重要性列表或决策规则列表)生成解释。
大型语言模型 (LLM) 为替代建模提供了一种新视角,避免了模型复杂性和可解释性之间难以权衡的取舍。同时,LLM 能够生成自然语言解释,使其更加用户友好和令人信服。在此背景下,我们探索将 LLM 用作推荐模型的可解释性替代模型。
我们首先采用行为一致性方法,微调 LLM 以根据用户配置文件预测商品,从而密切镜像推荐模型的输出。虽然这种方法提供了有用的见解,但它不会深入研究模型的内部逻辑。为了解决这个问题,我们提出了意图一致性,其中 LLM 学习处理推荐模型的嵌入。类似于视觉语言多模态模型处理视觉数据的方式,这种方法旨在使 LLM 能够理解用户/商品嵌入中的信息,从而解释推荐模型建议背后的推理过程。我们发现将这两种方法组合成混合一致性策略(结合文本信息和嵌入)可以更有效地解决解释误差并提高整体可解释性。这种集成方法结合了行为和意图一致性的优点,提供了一种更强大、更全面的解释机制。
为了实现行为、意向和混合一致性这三种对齐方法,我们定义了六项任务来微调 LLM 以使其与目标推荐模型的预测保持一致。这些任务包括教导 LLM 预测用户可能喜欢的下一个商品、学习对商品进行排序、分类兴趣、详细描述商品特征、通过 ShareGPT 训练保持通用智能以及为意向一致性重建用户历史记录。这种综合的训练方案使 LLM 能够复制推荐模型的逻辑。因此,结合 LLM 自身的推理能力和世界知识,LLM 可以生成更高保真度和鲁棒性的模型解释,从而更好地服务于推荐场景。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询