【大模型】【推荐系统】LLM在推荐系统中的应用价值

news2025/6/9 9:58:54

文章目录

      • A 论文出处
      • B 背景
        • B.1 背景介绍
        • B.2 问题提出
        • B.3 创新点
        • B.4 两大推荐方法
      • C 模型结构
        • C.1 知识蒸馏(训练过程)
        • C.2 轻量推理(部署过程)
      • D 实验设计
      • E 个人总结

A 论文出处

  • 论文题目:SLMRec:Distilling Large Language Models into Small for Sequential Recommendation
  • 发表情况:2025-ICLR
  • 作者单位:蚂蚁集团、国外大学及研究院

B 背景

B.1 背景介绍

序列推荐任务旨在通过用户过往的交互数据,来预测用户可能与之互动的下一个行为,因此这类模型通过建模分析用户的行动序列,揭示更复杂的行为模式和时间动态。近期研究表明,将大语言模型引入推荐系统逐渐成为研究热门,无论是将序列推荐视为语言模型的语义建模,还是作为用户表征的一种方法,都使大语言模型对序列推荐任务产生了深远影响。但是,由于大模型的庞大,在现实生活中大部分平台上应用大模型显得低效且不切实际,如何平衡好大模型的规模和推荐系统的海量数据,成为了能否用大模型进行序列推荐的关键问题。

B.2 问题提出

(1)尽管大模型在预训练阶段并没有显式地对商品ID的语义进行学习,现阶段大模型的杰出表现来源于预训练知识的迁移能力?还是注意力机制的固有建模优势?

(2)现有大模型的参数量较大,如此巨大的模型是否适配海量数据场景的推荐任务?模型是否有进一步裁剪的可能性?

B.3 创新点

(1)论文重新评估大语言模型(LLM)在序列推荐中的必要性,并在大规模行业数据集上进行了一系列实验,研究了减少训练和推理阶段参数数量对整体性能的影响。通过实证结果,论文发现模型参数的增加并不总是带来一致的改进。

(2)基于论文实证研究的结果,论文提出了一种名为SLMREC的小语言模型,用于序列推荐,并通过采用了标准的知识蒸馏方法来对齐表示知识。此外,论文还设计了多种监督信号,以引导学生模型在其隐藏表示中获取任务感知的知识。

B.4 两大推荐方法

下面简要介绍一下传统的序列推荐方法和基于大模型的推荐方法的主要步骤

(1)传统序列推荐(TSR)

  • 输入:用户历史交互的物品序列(如 [ i t e m 1 , i t e m 2 , . . . , i t e m t ] [item₁, item₂, ..., itemₜ] [item1,item2,...,itemt])。
  • 流程
    1. 嵌入编码(Embedding Encoder)
      将每个物品ID转换为低维向量表示(Embedding)。
    2. 序列编码(Seq Encoder)
      使用RNN/Transformer等模型,将物品序列编码为用户表征向量 h u h_u hu
    3. 候选物品编码
      目标物品 i i i 通过独立Embedding层生成物品表征向量 h i h_i hi
    4. 预测交互概率
      计算用户与物品的匹配度: p = h u ⊙ h i p = h_u ⊙ h_i p=huhi ⊙ ⊙ 表示内积或神经网络交互函数)。
  • 目标:直接预测用户对候选物品的偏好概率。

(2)基于大模型的推荐:G-LLMRec(生成式推荐)

  • 输入
    自然语言提示(Prompt),例如:
    “What is the top recommended item for user_123 who interacted with [itemA, itemB, …]?”
  • 流程
    1. 文本化序列编码
      用户历史序列被转换为文本描述(如物品标题)。
    2. 大语言模型(LLM)推理
      将提示输入LLM(如GPT),直接生成推荐物品的文本标识(如物品名称或ID)。
    3. 适配器(Adapter1)
      可选模块,用于对齐LLM表征与推荐任务(微调时引入)。
  • 特点端到端生成式推荐,依赖LLM的推理能力直接输出结果。

(3)基于大模型的推荐:E-LLMRec(表征增强推荐)

  • 输入:用户历史物品序列(ID或文本)。
  • 流程
    1. 文本嵌入编码
      物品ID/文本通过LLM的Embedding Encoder生成向量(如LLM的词嵌入层)。
    2. 序列编码(LLM适配)
      使用Adapter2调整LLM输出,生成用户表征 h u h_u hu(保留序列结构信息)。
    3. 候选物品编码
      目标物品通过相同LLM Embedding层生成 h i h_i hi
    4. 预测交互概率
      传统交互函数计算匹配度: p = h u ⊙ h i p = h_u ⊙ h_i p=huhi
  • 特点利用LLM增强表征,但保留传统推荐器的交互预测层。

C 模型结构

C.1 知识蒸馏(训练过程)

(1)教师模型生成软标签

  • 输入用户历史序列的物品ID,以及自定义的prompt模板。
  • LLaMA输出推荐物品的概率分布(软标签),蕴含LLM的语义推理知识。

(2)学生模型学习语义对齐

  • 输入同一用户的物品ID序列,经ID嵌入层和Adapter编码为向量。
  • 输出学生预测概率分布。

(3)多层次+多监督信号的知识蒸馏

  • 预测层蒸馏:为了调节教师模型与学生模型之间特征方向的对齐,采用基于余弦相似度的损失项,具体描述公式如下:
    D cos ⁡ ( Θ t , Θ s ) = 1 B ∑ k = 1 B h t ( k m ) ⋅ h s ( k n ) ∥ h t ( k m ) ∥ 2 ⋅ ∥ h s ( k n ) ∥ 2 \mathcal{D}_{\cos}(\Theta_t,\Theta_s)=\frac{1}{B}\sum_{k=1}^B\frac{\mathbf{h}_t^{(km)}\cdot\mathbf{h}_s^{(kn)}}{\|\mathbf{h}_t^{(km)}\|_2\cdot\|\mathbf{h}_s^{(kn)}\|_2} Dcos(Θt,Θs)=B1k=1Bht(km)2hs(kn)2ht(km)hs(kn)

  同时也引入了一个简单的正则化项,旨在最小化教师模型与学生模型的隐藏表示之间的L2距离,该正则化项在数学上表述如下:

D norm ( Θ t , Θ s ) = 1 B ∑ k = 1 B ∥ h t ( k m ) − h s ( k n ) ∥ 2 2 \mathcal{D}_{\text{norm}}(\Theta_t,\Theta_s)=\frac{1}{B}\sum_{k=1}^B\|\mathbf{h}_t^{(km)}-\mathbf{h}_s^{(kn)}\|_2^2 Dnorm(Θt,Θs)=B1k=1Bht(km)hs(kn)22

  • 中间层蒸馏:采用了多种监督策略来引导学生模型吸收推荐相关知识的特定方面,具体描述公式如下:
    L m s ( Θ s , W a ) = 1 B − 1 ∑ k = 1 B − 1 L c e ( y , p ^ t ( k m ) ) \mathcal{L}_{ms}(\Theta_{s}, W_{a}) = \frac{1}{B-1} \sum_{k=1}^{B-1} \mathcal{L}_{ce}(y, \hat{p}^{(km)}_{t}) Lms(Θs,Wa)=B11k=1B1Lce(y,p^t(km))
  • 联合训练:综合上述蒸馏损失,用于训练学生模型的复合目标函数可表示为:
    L t o t a l = L c e ( Θ s ) + λ 1 D cos ⁡ ( Θ t , Θ s ) + λ 2 D n o r m ( Θ t , Θ s ) + λ 3 L m s ( Θ s , W a ) \mathcal{L}_{total} = \mathcal{L}_{ce}(\Theta_s) + \lambda_1 \mathcal{D}_{\cos}(\Theta_t, \Theta_s) + \lambda_2 \mathcal{D}_{norm}(\Theta_t, \Theta_s) + \lambda_3 \mathcal{L}_{ms}(\Theta_s, W_a) Ltotal=Lce(Θs)+λ1Dcos(Θt,Θs)+λ2Dnorm(Θt,Θs)+λ3Lms(Θs,Wa)
C.2 轻量推理(部署过程)

(1)学生模型独立接收物品ID序列,经Adapter增强的编码器生成用户表征。

(2)计算用户表征与候选物品向量的内积( p = h u ⊙ h i p = h_u ⊙ h_i p=huhi),输出推荐得分。

(3)部署优势:学生模型仅保留轻量Adapter和ID嵌入层,参数量显著低于LLM。

D 实验设计

论文提出的SLMRec框架在多个基准数据集上实现突破:在训练效率上,相比原始LLMRec,训练速度提升6.6倍(NVIDIA A100);在推理性能上,服务响应速度提升8.0倍;在模型压缩上,参数量减少87%的同时,在Amazon数据集上略有提升。具体实验结果如下所示:

E 个人总结

(1)本文证明了大模型在推荐系统中的应用价值,同时通过知识蒸馏的方式找到了用大模型进行推荐的新角度,这种对大模型进行多监督信号的蒸馏学习值得学习。

(2)学生模型目前无法通过少量样本学习来适应新场景,当面对新的数据集或平台上的新流量日志时,模型需要从整个数据集中重新训练。未来可以将增量学习技术整合到基于LLM的推荐系统中,以增强模型的迁移能力。

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

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

相关文章

uni-app学习笔记二十九--数据缓存

uni.setStorageSync(KEY,DATA) 将 data 存储在本地缓存中指定的 key 中&#xff0c;如果有多个key相同&#xff0c;下面的会覆盖掉原上面的该 key 对应的内容&#xff0c;这是一个同步接口。数据可以是字符串&#xff0c;可以是数组。 <script setup>uni.setStorageSyn…

工作邮箱收到钓鱼邮件,点了链接进去无法访问,会有什么问题吗?

没事的&#xff0c;很可能是被安全网关拦截了。最近做勒索实验&#xff0c;有感而发&#xff0c;不要乱点击邮箱中的附件。 最初我们采用钓鱼邮件投递恶意载荷&#xff0c;发现邮件网关把我们的 exe/bat 程序直接拦截了&#xff0c;换成压缩包也一样拦截了&#xff0c;载荷始终…

基于安卓的线上考试APP源码数据库文档

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

【数据结构】顺序表和链表详解(下)

前言&#xff1a;上期我们从顺序表开始讲到了单链表的概念&#xff0c;分类&#xff0c;和实现&#xff0c;而这期我们来将相较于单链表没那么常用的双向链表。 文章目录 一、双向链表二&#xff0c;双向链表的实现一&#xff0c;增1&#xff0c;头插2&#xff0c;尾插3&#x…

【系统架构设计师】绪论-系统架构概述

目录 绪论 系统架构概述 单选题 绪论 系统架构概述 单选题 1、软件方法学是以软件开发方法为研究对象的学科。其中&#xff0c;&#xff08;&#xff09;是先对最高居次中的问题进行定义、设计、编程和测试&#xff0c;而将其中未解决的问题作为一个子任务放到下一层次中去…

SQL-事务(2025.6.6-2025.6.7学习篇)

1、简介 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 默认MySQL的事务是自动提交的&#xff0c;也就是说&#xff0…

Virtex II 系列FPGA的配置原理

对FPGA 芯片的配置&#xff0c;本质上是将根据设计生成的包含配置命令和配置数据的比特流文件写入到配置存储器中。 1 配置模式 Virtex II 系列FPGA 一共有五种配置模式&#xff0c;配置模式的选择是根据管脚M[2:0]来决定。 &#xff08;1&#xff09;串行配置模式 串行配置模…

蓝桥杯 国赛2024python(b组)题目(1-3)

第一题 试卷答题页 - 蓝桥云课 问题描述 在今年蓝桥杯的决赛中&#xff0c;一共有 1010 道题目&#xff0c;每道题目的分数依次为 55 分&#xff0c;55 分&#xff0c;1010 分&#xff0c;1010 分&#xff0c;1515 分&#xff0c;1515 分&#xff0c;2020 分&#xff0c;2020 分…

算法题(165):汉诺塔问题

审题&#xff1a; 本题需要我们找到最优的汉诺塔搬法然后将移动路径输出 思路&#xff1a; 方法一&#xff1a;递归 我们先分析题目 n为2的情况&#xff0c;我们先将第一个盘子移动到三号柱子上&#xff0c;然后再将二号盘子移动到二号柱子上 n为3的情况&#xff0c;我们先将前…

玄机——某次行业攻防应急响应(带镜像)

今天给大家带来一次攻防实战演练复现的过程。 文章目录 简介靶机简介1.根据流量包分析首个进行扫描攻击的IP是2.根据流量包分析第二个扫描攻击的IP和漏扫工具&#xff0c;以flag{x.x.x.x&工具名}3.提交频繁爆破密钥的IP及爆破次数&#xff0c;以flag{ip&次数}提交4. 提…

低代码逻辑引擎配置化实战:三步穿透审批记录查询

在堆积如山的报销单中埋头寻找某笔特殊费用的审批轨迹在跨部门协作时被追问"这个合同到底卡在哪个环节" 在快节奏的办公自动化场景中&#xff0c;这些场景是很常见的&#xff0c;传统OA系统中分散的审批记录查询方式往往太繁琐。 为破解这一痛点&#xff0c;在JVS低…

【Zephyr 系列 15】构建企业级 BLE 模块通用框架:驱动 + 事件 + 状态机 + 低功耗全栈设计

🧠关键词:Zephyr、BLE 模块、架构设计、驱动封装、事件机制、状态机、低功耗、可维护框架 📌面向读者:希望将 BLE 项目从“Demo 工程”升级为“企业可复用框架”的研发人员与技术负责人 📊预计字数:5500+ 字 🧭 前言:从 Demo 到产品化,架构该如何升级? 多数 BLE…

Docker构建Vite项目内存溢出:从Heap Limit报错到完美解决的剖析

问题现象:诡异的"消失的index.html" 最近在CI/CD流水线中遇到诡异现象:使用Docker构建Vite项目时,dist目录中缺少关键的index.html文件,但本地构建完全正常。报错截图显示关键信息: FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out…

Android端口转发

如上图所示&#xff0c;有一个Android设备&#xff0c;Android设备里面有主板&#xff0c;主板上有网络接口和Wi-Fi&#xff0c;网络接口通过网线连接了一个网络摄像头&#xff0c;这就跟电脑一样&#xff0c;电脑即可以通过网线接入一个网络&#xff0c;也可以同时用Wi-Fi接入…

PHP环境极速搭建

一、为什么选择phpStudy VS Code&#xff1f; 作为一名初次接触PHP的开发者&#xff0c;我深知环境配置往往是学习路上的第一道门槛。传统PHP环境搭建需要手动配置Apache/Nginx、PHP解释器、MySQL等多重组件&#xff0c;光是处理版本兼容性和依赖问题就可能耗费半天时间——这…

建造者模式深度解析与实战应用

作者简介 我是摘星&#xff0c;一名全栈开发者&#xff0c;专注 Java后端开发、AI工程化 与 云计算架构 领域&#xff0c;擅长Python技术栈。热衷于探索前沿技术&#xff0c;包括大模型应用、云原生解决方案及自动化工具开发。日常深耕技术实践&#xff0c;乐于分享实战经验与…

代码中文抽取工具并替换工具(以ts为例)

文章目录 基本思路目录结构配置文件AST解析替换代码中文生成Excel启动脚本 基本思路 通过对应语言的AST解析出中文相关信息&#xff08;文件、所在行列等&#xff09;存到临时文件通过相关信息&#xff0c;逐个文件位置替换掉中文基于临时文件&#xff0c;通过py脚本生成Excel…

pgsql batch insert optimization (reWriteBatchedInserts )

reWriteBatchedInserts 是 PostgreSQL JDBC 驱动 提供的一个优化选项&#xff0c;它可以 重写批量插入语句&#xff0c;从而提高插入性能。 作用 当 reWriteBatchedInsertstrue 时&#xff0c;PostgreSQL JDBC 驱动会将 多个单独的 INSERT 语句 转换为 一个多行 INSERT 语句&a…

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(上)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…

华为云Flexus+DeepSeek征文 | 基于DeepSeek-V3构建企业知识库问答机器人实战

作者简介 我是摘星&#xff0c;一名专注于云计算和AI技术的开发者。本次通过华为云MaaS平台体验DeepSeek系列模型&#xff0c;将实际使用经验分享给大家&#xff0c;希望能帮助开发者快速掌握华为云AI服务的核心能力。 目录 作者简介 1. 引言 2. 技术选型与架构设计 2.1 技…