R²ec: 构建具有推理能力的大型推荐模型,显著提示推荐系统性能!!

摘要:大型推荐模型通过编码或项目生成将大型语言模型(LLMs)扩展为强大的推荐工具,而近期在LLM推理方面的突破也同步激发了在推荐领域探索推理的动机。目前的研究通常将LLMs定位为外部推理模块,以提供辅助性思考来增强传统的推荐流程。然而,这种分离式的设计存在显著的资源成本高和次优联合优化的限制。为了解决这些问题,我们提出了R²ec,这是一个具有内在推理能力的统一大型推荐模型。首先,我们重新构思了模型架构,以便在自回归过程中实现推理和推荐的交错进行。随后,我们提出了RecPO,这是一个相应的强化学习框架,能够在单一策略更新中同时优化R²ec的推理和推荐能力;RecPO引入了一种融合奖励方案,仅利用推荐标签来模拟推理能力,从而消除了对专门推理注释的依赖。在三个数据集上与各种基线模型的实验验证了R²ec的有效性,显示出在Hit@5指标上相对提升了68.67%,在NDCG@20指标上相对提升了45.21%。

本文目录

一、背景动机

二、核心贡献

三、实现方法

3.1 模型设计

架构设计

推理和推荐的交替过程

3.2 训练优化

轨迹采样

奖励和优势估计

四、实验结论

4.1 性能显著提升

4.2 推理模块有效性

4.3 优势估计方法对比

4.4 轨迹采样和组大小的影响

五、总结


一、背景动机

论文题目:R²ec: TOWARDS LARGE RECOMMENDER MODELS WITH REASONING

论文地址:https://arxiv.org/pdf/2505.16994

随着 LLMs 在推理任务中的突破,研究者开始探索如何将推理能力引入推荐系统。然而,现有的研究通常将 LLMs 作为外部推理模块,与传统的推荐流程解耦,这增加了内存占用和推理延迟。此外,推理和推荐模块只能交替更新,无法实现端到端的学习,导致性能次优。

该文章提出推理与推荐统一的大模型架构,通过双任务头和融合奖励机制解决传统解耦设计的缺陷。证明强化学习可在无人工推理标注下优化推荐模型的推理能力,为推荐系统引入可解释性和复杂决策能力。

二、核心贡献

  • 提出 R²ec 模型:R²ec 是一个统一的大型推荐模型,具有内在的推理能力。该模型通过重新设计架构,将推理和推荐任务集成到一个自回归过程中,通过一个策略更新同时优化推理和推荐能力。
  • RecPO训练框架:为了训练 R²ec,作者提出了 RecPO,一个基于强化学习的训练框架,它通过引入融合奖励方案(结合离散排名奖励和连续相似性奖励)来优化模型,无需依赖专门的推理注释。

三、实现方法

3.1 模型设计

R²ec 的核心设计是将推理(reasoning)和推荐(recommendation)任务集成到一个统一的模型架构中,通过自回归过程实现推理和推荐的交替进行。

架构设计

  • 基础架构:R²ec 基于一个解码器架构(decoder-only backbone),类似于常见的 Transformer 模型。

  • 任务特定头(Task-specific Heads)

    • 语言建模头(lm_head):负责生成推理标记(reasoning tokens)。它通过自回归的方式逐步生成推理过程中的文本内容。

    • 推荐头(rec_head):用于预测推荐项目。它通过计算候选项目与生成的推理标记的相似度来生成推荐分数。

推理和推荐的交替过程

  • 推理生成:模型首先通过语言建模头生成一系列推理标记,这些标记描述了用户可能感兴趣的内容或推荐的逻辑。

  • 项目预测:在推理标记生成完成后,模型通过推荐头对候选项目进行评分,最终生成推荐列表。

3.2 训练优化

为了训练 R²ec,文章提出了 RecPO,一个基于强化学习(RL)的训练框架。RecPO 的目标是同时优化推理和推荐能力,而无需依赖专门的推理注释。具体实现如下:

轨迹采样

  • 采样过程:对于每个用户,模型通过当前策略采样多条推理轨迹(reasoning trajectories)。每条轨迹包括一系列推理标记和最终推荐的项目。

  • 采样策略:使用温度(temperature)和 top-K 采样来控制生成轨迹的随机性和多样性。

奖励和优势估计

  • 奖励计算:为了评估生成轨迹的质量,文章设计了一个融合奖励方案,结合了离散排名奖励(Rd)和连续相似性奖励(Rc)。

    • 离散排名奖励(Rd):使用 NDCG@k(Normalized Discounted Cumulative Gain)来衡量推荐项目的排名质量。

    • 连续相似性奖励(Rc):计算生成的推理标记与目标项目之间的 softmax 相似度。

    • 融合奖励:通过线性组合将两种奖励结合起来,其中 β 是一个权重参数,用于平衡两种奖励的贡献。

  • 优势估计:使用 GRPO或 RLOO 等方法来估计每条轨迹的优势值,这些优势值用于指导模型的更新方向。

四、实验结论

4.1 性能显著提升

R2EC 在所有实验数据集上均显著优于传统推荐系统、基于 LLM 的推荐系统和推理增强的推荐系统。具体来说,R2EC 在 Hit@5 和 NDCG@20 指标上分别实现了 68.67% 和 45.21% 的相对提升,表明其在推荐准确性和排名质量上都表现出色。

4.2 推理模块有效性

  • 无推理(w/o Reasoning):移除推理模块后,模型性能显著下降,表明推理模块对推荐性能有重要贡献。R2EC 在所有指标上平均提升了约 15%。

  • 无连续奖励(w/o Rc):仅使用离散排名奖励 Rd​ 时,模型性能优于仅使用连续相似性奖励 Rc​,但融合奖励方案进一步提升了性能。

  • 无离散奖励(w/o Rd):仅使用连续相似性奖励 Rc​ 时,模型性能下降,表明离散奖励在优化过程中更为关键。

4.3 优势估计方法对比

  • 训练奖励(Train Reward):两种方法在训练过程中都表现出高方差,但 GRPO 在初始阶段学习更快。

  • 验证奖励(Val Reward):GRPO 在验证集上的表现优于 RLOO,表明其在早期训练中能够提供更大的梯度。

  • 推理长度(Reasoning Length):GRPO 的推理长度随着训练的进行逐渐增加,而 RLOO 保持相对稳定。

4.4 轨迹采样和组大小的影响

  • 采样温度(Temperature):增加采样温度可以提高推理的多样性和推荐性能,但过高的温度会导致推理长度过长。

  • top-K 采样:增加 top-K 会缩短推理长度,但过多的候选标记会引入噪声,降低推荐性能。

  • 组大小(Group Size):较大的组大小可以提高性能,但会增加训练成本。实验表明,组大小为 6 或 8 时性能提升最为显著。

五、总结

文章提出了一种新的大型推荐模型 R²ec,它通过引入推理能力显著提升了推荐性能。R²ec 的设计和训练方法为推荐系统领域带来了新的视角,特别是在如何将推理能力与推荐任务紧密结合方面。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java后端基础 005】ThreadLocal-线程数据共享和安全

📚博客主页:代码探秘者 ✨专栏:文章正在持续更新ing… ✅C语言/C:C(详细版) 数据结构) 十大排序算法 ✅Java基础:JavaSE基础 面向对象大合集 JavaSE进阶 Java版数据结构JDK新特性…

Tesseract配置参数详解及适用场景(PyTesseract进行OCR)

在使用 PyTesseract 进行 OCR 时,合理配置参数是提高识别准确率的关键。以下是 Tesseract 常用参数的详细解释和适用场景。 一、关键参数 (1)页面分割模式(Page Segmentation Mode, --psm) 控制 Tesseract 如何分析…

【Zephyr 系列 12】BLE + NVS + 低功耗融合实战:打造可配置蓝牙信标系统

🧠关键词:Zephyr、BLE 广播、信标、NVS 参数、低功耗、状态机、周期唤醒 📌适合人群:希望实现 BLE 信标类产品(定位标签、资产管理)的开发者 📊预计篇幅:约 5200+ 字 🎯 项目目标 构建一个可广泛应用于资产标签、定位信标、设备标识等场景的蓝牙广播模块,具备:…

图解浏览器多进程渲染:从DNS到GPU合成的完整旅程

目录 浏览器进程架构的演化 进程和线程关系图示 进程(Process) 线程(Thread) 协程(Coroutine) 进程&线程&协程核心对比 单进程和多进程浏览器 单进程浏览器​编辑 单进程浏览器存在的问题…

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…

C# 类和继承(抽象成员)

抽象成员 抽象成员是指设计为被覆写的函数成员。抽象成员有以下特征。 必须是一个函数成员。也就是说,字段和常量不能为抽象成员。必须用abstract修饰符标记。不能有实现代码块。抽象成员的代码用分号表示。 例如,下面取自一个类定义的代码声明了两个抽…

基于JWT+SpringSecurity整合一个单点认证授权机制

基于 JWT Spring Security 的授权认证机制,在整体架构设计上体现了高度的安全性与灵活性。其在整合框架中的应用,充分展示了模块化、可扩展性和高效鉴权的设计理念,为开发者提供了一种值得借鉴的安全架构模式。 1.SpringSecurity概念理解 …

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…

Git 切换到旧提交,同时保证当前修改不丢失

在 Git 中&#xff0c;可以通过以下几种方式切换到之前的提交&#xff0c;同时保留当前的修改 1. 使用 git checkout 创建临时分离头指针&#xff08;推荐用于查看代码&#xff09; git checkout <commit-hash>这会让你进入"分离头指针"状态&#xff0c;你可…

东芝Toshiba DP-4528AG打印机信息

东芝 Toshiba DP 4528AG 是一款黑白激光数码复合机&#xff1a; 类型&#xff1a;激光数码复合机&#xff0c;涵盖复印、打印、扫描、传真功能&#xff0c;能满足办公室多样化的文档处理需求。速度类型&#xff1a;中速&#xff0c;黑白复印和打印速度可达 45 页 / 分钟&#…

Qt生成日志与以及捕获崩溃文件(mingw64位,winDbg)————附带详细解说

文章目录 Qt生成日志与以及报错文件(mingw64位&#xff0c;winDbg)0 背景与结果0.1 背景0.2 结果1 WinDbg1.1 安装1.2 使用 2 编写代码2.1 ccrashstack类2.2 编写输出捕获异常的dmp文件2.2 编写输出日志文件2.3 调用生成日志和dmp文件 参考 Qt生成日志与以及报错文件(mingw64位…

Nginx + Tomcat负载均衡群集

目录 一、案例环境 二、部署 Tomcat&#xff08;102/103&#xff09; 1、准备环境 &#xff08;1&#xff09;关闭firewalld 防火墙 &#xff08;2&#xff09;安装JDK 2、安装配置 Tomcat &#xff08;1&#xff09;Tomcat 的安装和配置 &#xff08;2&#xff09;移动…

三、元器件的选型

前言&#xff1a;我们确立了题目的功能后&#xff0c;就可以开始元器件的选型&#xff0c;元器件的选型关乎到我们后面代码编写的一个难易。 一、主控的选择 主控的选择很大程度上决定我们后续使用的代码编译器&#xff0c;比如ESP32使用的是VScode&#xff0c;或者Arduino&a…

API是什么意思?如何实现开放API?

目录 一、API 是什么 &#xff08;一&#xff09;API 的定义 &#xff08;二&#xff09;API 的作用 二、API 的类型 &#xff08;一&#xff09;Web API 1. RESTful API 2. SOAP API &#xff08;二&#xff09;操作系统 API &#xff08;三&#xff09;数据库 API …

AI生成的基于html+marked.js实现的Markdown转html工具,离线使用,可实时预览 [

有一个markdown格式的文档&#xff0c;手头只有notepad的MarkdownPanel插件可以预览&#xff0c;但是只能预览&#xff0c;不能直接转换为html文件下载&#xff0c;直接复制预览的内效果又不太好&#xff0c;度娘也能找到很多工具&#xff0c;但是都需要在线使用。所以考虑用AI…

Java-前置基础

前言 基础基础 package org.example;public class Main {int a 10;String s1 "你好";public static void main(String[] args) {System.out.println(a);System.out.println(s1);} } 发现报错位置 public class Main {static int a 10;static String s1 "你好…

python字符串方法

1. capitalize&#xff1a; 是第一个字符大写&#xff0c;其余小写 2. encode&#xff1a; 将字符串转换为字节串&#xff08;bytes&#xff09;&#xff0c;默认使用 UTF-8 编码。 3. format&#xff1a; format是 Python 中字符串对象的内置方法&#xff0c;语法为S.form…

Java详解LeetCode 热题 100(24):LeetCode 234. 回文链表(Palindrome Linked List)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 回文链表的特征2.2 核心难点 3. 解法一&#xff1a;转换为数组法3.1 算法思路3.2 详细图解3.3 Java代码实现3.4 详细执行过程演示3.5 执行结果示例3.6 使用数组而非ArrayList的优化版本3.7 复杂度分析3.8 优缺点分析 4. 解…

平板电脑如何通过EN 18031认证

平板电脑若需通过 EN 18031 认证&#xff08;欧盟无线电设备网络安全标准&#xff0c;属于 CE RED 指令的一部分&#xff09;&#xff0c;需满足其针对互联网连接设备和数据处理设备的安全要求。以下是详细的认证流程、技术要求和操作指南&#xff1a; 一、认证背景与法规基础…

KaiwuDB在边缘计算领域的应用与优势

KaiwuDB 在边缘计算场景中主要应用于 工业物联网&#xff08;IIoT&#xff09;、智能电网、车联网 等领域&#xff0c;通过其分布式多模架构和轻量化设计&#xff0c;在边缘侧承担 数据实时处理、本地存储与协同分析 的核心作用。以下是具体案例和功能解析&#xff1a; 1. 典型…