大模型放进推荐系统怎么玩?微软亚研全面总结

在大模型+时代,似乎任何自然语言处理任务在大模型加持下都完成了一轮升级改造,展现出前所未有的高效与效果。语义理解、情感分析还是文本生成这些常规任务自然是不必说,但也有一些任务比如推荐,简单粗暴的训练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中定义了一个核心套件,包括三种不同的工具类型,以实现与用户的有效沟通:

  1. 信息查询:InteRecAgent在推荐项目的同时解决用户查询。例如,在游戏平台上,它可以通过使用SQL查询后端数据库来回答关于游戏详细信息(如发布日期和价格)的问题。

  2. 项目检索:该工具根据用户的标准,建议潜在项目列表。InteRecAgent区分“硬条件”(明确用户规范)和“软条件”(需要语义匹配的偏好)。分别使用SQL工具和基于嵌入的项目对项目匹配来满足这些条件。

  3. 项目排名:排名工具使用用户配置文件和/或用户历史记录预测用户对入围项目的偏好,确保推荐符合用户的即时需求和整体偏好。这些入选项目可以从项目检索过程中派生,也可以由用户提供。

记忆、任务规划和工具学习是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的优势主要体现在三个方面:

  1. 通过领域特定的微调,语言模型能够更好地识别物品名称和独特的协作模式,从而在推荐中展现出比通用语言模型更高的准确性。

  2. 将RecLM-gen集成到推荐AI agent框架中显著降低了系统成本,尤其与更大、更昂贵的语言模型相比。

  3. 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用作推荐模型中可解释性的替代模型,使用三种对齐策略训练模型。

  1. 行为对齐:通过微调LLM以基于用户配置文件预测项目,紧密模拟推荐模型的输出。

  2. 意图对齐:使LLM能够处理推荐模型的嵌入,从而理解用户项目嵌入中的信息,并解释推荐背后的逻辑。

  3. 混合对齐策略:即融合文本信息和嵌入们更有效地解决了解释不准确性问题,并增强了整体可解释性。

为了实施行为、意图和混合对齐这三种方法,作者精心设计了六个任务,旨在微调LLM以使其与目标推荐模型的预测保持一致。这些任务涵盖了多个方面,包括:

  • Task1:教导LLM预测用户可能感兴趣的下一个项目;

  • Task2:学习对项目进行合理的排名;

  • Task3:对用户兴趣进行分类;

  • Task4:详细解释项目的特征;

  • Task5:通过ShareGPT训练保持LLM的一般智能;

  • Task6:为意图对齐重建用户历史。

任务2和任务3主要集中于理解用户嵌入和项目嵌入之间的关系,但它们没有充分探索用户嵌入中的自包含信息。任务6旨在解决这一限制。下图,提供了不同任务流程的比较:

图片

这一全面的训练计划使LLM能够深入复制推荐模型的内在逻辑。结合LLM自身强大的推理能力和丰富的世界知识,LLMs在推荐场景中能够生成更高保真度和鲁棒性的模型解释。

自动评估工具

RecAI 提供了一个全面的自动评估工具,涵盖五个关键维度,以确保推荐系统的性能与用户体验得到全面考量。

  1. 生成式推荐:考虑到基于LLM的推荐系统实现自然语言交互时可能产生的细微不准确性,如商品名称的标点符号错误。因此采用模糊匹配方法,使名称验证过程更加灵活,避免过于严苛的标准。

  2. 基于嵌入的推荐:RecAI评估器支持多种嵌入匹配模型,如RecLM-emb和OpenAI的文本嵌入API。一旦用户/商品嵌入被计算出来,后续评估过程便遵循传统的评估流程。

  3. 对话:利用GPT-4驱动的用户模拟器来评估系统的表现。该模拟器与系统互动,征求商品建议,并根据模拟器设定的目标商品来衡量系统的性能。

  4. 解释:采用独立的LLM如GPT-4来评估其信息量、说服力和帮助性。

  5. 闲聊:当用户发起非推荐性对话时,如“如何写论文”,RS应能够妥善处理。利用LLM来评价系统的回复是否具有帮助性、相关性和完整性,从而确保系统能够应对各种场景下的用户需求。

在衡量指标上,作者使用NDCG和召回率来评估前三个维度与基准事实的比较。而对于解释和闲聊这两个维度,采用成对比较的方法,评判员对比两个模型的输出,计算胜利、失败和平局的次数,以全面评估整体性能。

总结

本文推出了一个利用LLMs构建模拟人类交互推荐系统的工具包RecAI。RecAI由多个部分组成,每个部分都通过多样化技术应对各种现实挑战。

比如,工程师们若希望将工业推荐系统升级为对话界面,可以部署推荐AI agent框架,从而保留现有推荐模型的价值。

而希望快速且低成本开发对话式推荐系统的研究人员,则可选择Chat-Rec框架,集成RecLM-emb用于检索和RecLM-gen作为生成型LLM。

我们可以相信,LLMs引领的下一代推荐系统将带来更高的多功能性、互动性和用户控制力。RecAI正是加速这一变革的利器,为工业界和学术界提供构建更复杂、更吸引人且响应更迅速的推荐系统所需的关键工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/513454.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

回溯算法|78.子集

力扣题目链接 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& nums, int startIndex) {result.push_back(path); // 收集子集&#xff0c;要放在终止添加的上面&#xff0c;否则会漏掉自…

HarmonyOS 应用开发之非线性容器

非线性容器实现能快速查找的数据结构&#xff0c;其底层通过hash或者红黑树实现&#xff0c;包括HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray七种。非线性容器中的key及value的类型均满足ECMA标准。 HashMap HashMap 可用来存储具有关联…

门控循环单元(GRU)

概述 门控循环单元&#xff08;Gated Recurrent Unit, GRU&#xff09;由Junyoung Chung等人于2014年提出&#xff0c;原论文为《Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling》。GRU是循环神经网络&#xff08;Recurrent Neural Network, …

定时器-间歇函数

1.开启定时器 setInterval(function (){console.log(一秒执行一次)},1000) function fn(){console.log(一秒执行一次) } setInterval(fn,1000) //调用有名的函数&#xff0c;只写函数名 1.函数名字不需要加小括号 2.定时器返回是一个id数字 每个定时器的序号是不一样的 2.关…

成都直播基地出租:天府新区兴隆湖天府锋巢直播产业基地

天府新区兴隆湖天府锋巢直播产业基地&#xff0c;作为成都乃至西部地区的一颗璀璨明珠&#xff0c;正以其独特的魅力和无限的潜力&#xff0c;吸引着越来越多的目光。这里不仅是成都直播产业的聚集地&#xff0c;更是传统企业转型升级的摇篮&#xff0c;是新媒体时代下的创新高…

浙江大学蒋超课题组合作EST:开发使用可穿戴被动采样器对个体生物和化学暴露组与转录组进行纵向测绘

我们实验室的子诺师姐开发了一种新型的用于个体生物和化学暴露组纵向测绘的可穿戴被动采样器&#xff1a;AirPie。 目前可以在一个驱蚊扣差不多大小的device上分析出数千种化合物和微生物信号&#xff0c;非常&#x1f42e;。 我们将该采样器应用于某封闭环境&#xff0c;对19…

嵌入式门槛高吗?

一般来说&#xff0c;普通的嵌入式岗位相对而言比较容易入门&#xff0c;通常会要求掌握一定的 C 语言编程以及单片机相关的知识&#xff0c;能够制作出较为简单的电子产品&#xff0c;不过与之相对应的工资水平也会偏低一些。 然而&#xff0c;像大疆、华为、小米、英伟达、高…

C++万物起源:类与对象(三)拷贝构造、赋值重载

目录 一、拷贝构造函数 1.1拷贝构造函数的概念与特征 1.2拷贝构造的实现 1.3默认构造函数 1.4拷贝构造函数典型调用场景 二、赋值运算符重载 2.1赋值运算符重载的格式 一、拷贝构造函数 1.1拷贝构造函数的概念与特征 在c语言语法中&#xff0c;我们可以将一个变量赋值给…

2024 ccfcsp认证打卡 2023 05 01 重复局面

2023 05 01 重复局面 题目题解1题解2区别&#xff1a;数据存储方式&#xff1a;时间复杂度&#xff1a;空间复杂度&#xff1a; 总结&#xff1a; 题目 题解1 import java.util.*;public class Main {public static void main(String[] args) {Scanner input new Scanner(Sys…

自动驾驶传感器:传感的本质

自动驾驶传感器&#xff1a;传感的本质 附赠自动驾驶学习资料和量产经验&#xff1a;链接 0. 前言 这个系列的背景是&#xff1a;工作时候需要攒一台数据采集车辆&#xff0c;那段时间需要熟悉感知硬件&#xff0c;写了不少笔记&#xff0c;都是些冗长的文章&#xff0c;感兴…

【pysurvival Python 安装失败】

这个错误与 sklearn 包的名称更改有关&#xff0c;导致 pysurvival 在构建元数据时失败。现在&#xff0c;你需要修改 pysurvival 的安装文件以使用正确的 scikit-learn 包名 编辑安装文件&#xff1a;找到 pysurvival 的安装文件&#xff0c;可能是 setup.py 或 pyproject.to…

OpenAI 15秒重建逼真人声,百度早就实现啦!只需2秒生成完美音色,免费使用

大家好&#xff0c;我是卖萌酱。 这两天&#xff0c;卖萌酱发现有不少读者小伙伴都在关注几天前我们介绍的OpenAI刚刚发布的这个名为Voice Engine 的语音引擎。这个听起来颇为“Amazing”的“黑科技”&#xff0c;可以仅仅凭借一段15秒的声音样本&#xff0c;就能精准模仿这段…

pytest--python的一种测试框架--接口测试

接口测试 工具&#xff1a; POSTMAN&#xff1b; 接口选择&#xff1a; 豆瓣电影&#xff0c;进制数据 POSTMAN下载&#xff1a; 1.POSTMAN官网&#xff1a;https://www.postman.com/products/&#xff1b; 2.点product选Download Postman 下载完之后双击打开就可以用的。…

【智能算法】金枪鱼群优化算法(TSO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码展示4.参考文献 1.背景 2021年&#xff0c;Xie等人受到自然界中金枪鱼狩猎行为启发&#xff0c;提出了金枪鱼优化算法&#xff08;Tuna swarm optimization&#xff0c;TSO&#xff09;。 2.算法原理 2.1算法思想 TSO模…

黑马鸿蒙笔记

目录 25-Stage模型-页面及组件生命周期 26-Stage模型-UIAbility的启动模式 25-Stage模型-页面及组件生命周期 26-Stage模型-UIAbility的启动模式 singleton 只会有一个实例 multiton 会有多个&#xff0c;但是会销毁旧的 standard 会有多个&#xff0c;但是不会销毁

深入了解与全面解析华为认证(HCIA/HCIP/HCIE)

一、网络行业技术认证 网络行业对于技术评定一般分为两种&#xff0c;一种是企业认证&#xff0c;一种是国家认证 企业认证属于技术认证&#xff0c;在国内的互联网企业都会承认&#xff0c;用于评定一个人的技术等级或者企业招投标的资质。 网络行业认证最好的有三种&#…

开源知识管理和协作平台:插件丰富,主题精美 | 开源日报 No.209

logseq/logseq Stars: 27.8k License: AGPL-3.0 logseq 是一个注重隐私的开源平台&#xff0c;用于知识管理和协作。 提供强大的知识管理、协作、PDF 标注和任务管理工具支持多种文件格式&#xff0c;包括 Markdown 和 Org-modeWhiteboard 功能可使用空间画布组织想法&#x…

【THM】Nmap Live Host Discovery(Nmap 实时主机发现)-初级渗透测试

介绍 当我们想要针对一个网络时,我们希望找到一个高效的工具来帮助我们处理重复性任务并回答以下问题: 哪些系统已启动?这些系统上正在运行哪些服务?我们将依赖的工具是Nmap。关于寻找在线计算机的第一个问题将在这个房间得到解答。该房间是专门讨论Nmap的四个房间系列中的…

.pth文件转化为onnx文件,并进行可视化

1、文件转化 import torch.onnx from torchvision import models from onnxsim import simplify import onnx torch_model torch.load("D:\checkpoint-epoch40.pth",map_locationcpu) # pytorch模型加载 model models.resnet50() # model.load_state_dict(torch_…

视频监控/云存储/磁盘阵列/AI智能分析平台EasyCVR集成时调用接口报跨域错误是什么原因?

EasyCVR视频融合平台基于云边端架构&#xff0c;可支持海量视频汇聚管理&#xff0c;能提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等视频服务。平台兼容性强&#xff0c;支持多协议、多类型设备接入&#xff0c;包括&#xff1a;国标G…