论文解读 | AAAI'25 CoRA:基于大型语言模型权重的协作信息感知用于推荐

点击蓝字

d237a2551bb6134af3c38eb85427b5bf.jpeg

关注我们

AI TIME欢迎每一位AI爱好者的加入!

2c524db78da1f498a961b830bd8801f9.png

点击 阅读原文 观看作者讲解回放!

个人信息

作者:刘禹廷,东北大学博士生

内容简介

将协作信息融入大型语言模型(LLMs)是一种有前景的适应推荐任务的技术。现有的方法通过将协作特征与文本标记拼接成统一的序列输入,然后进行微调以使这些特征与LLM的输入空间对齐来实现。尽管这种方法有效,但在本研究中,我们发现了在将LLM适应于推荐任务时的两个限制,这些限制阻碍了通用知识和协作信息的整合,从而导致推荐性能次优。(1)使用推荐数据对LLM进行微调可能会削弱其固有的世界知识和基本能力,而这些能力对于解释和推断推荐文本至关重要。(2)将协作特征纳入文本提示会破坏原始提示的语义,阻止LLM生成适当的输出。在本文中,我们提出了一种新的范式——协作LoRA(CoRA),并引入了协作查询生成器。该方法不是对齐输入空间,而是将协作信息与LLM的参数空间对齐,并将其表示为增量权重以更新LLM的输出。通过这种方式,LLM可以在不改变其通用知识和文本推理能力的情况下感知协作信息。具体而言,我们使用协作过滤模型提取用户和项目的嵌入表示,并将其注入一组可学习的查询中。然后,我们将协作查询转换为具有低秩属性的协作权重,并将协作权重合并到LLM的权重中,从而使LLM能够感知协作信号并生成个性化推荐,而无需进行微调或在提示中添加额外的协作标记。广泛的实验验证了CoRA能够有效地将协作信息整合到LLM中,从而提升了推荐性能。

论文地址

https://arxiv.org/pdf/2408.10645

Introduction to Existing LLMRec Methods

本文主要关注的是如何直接使用已经预训练的大语言模型进行推荐。目前,主要存在两种方法:一种是直接使用大模型进行推理,通过构造提示词将所需信息加入其中,让大模型直接生成推荐结果;另一种则是微调的方法,通过高效参数微调的方式对大模型进行训练,使其能够执行推荐任务。

2aecdf8d6e01c4e13a4d110789513c8c.png

此外,最近一些研究发现,将用户和物品的ID输入到大模型中,能够帮助模型更好地理解推荐任务中的协同信息。具体而言,SIGIR 2023的一篇工作[1]直接将用户ID和物品ID融入到提示词中。另一项Arxiv 2023中的一篇工作[2]则是将预训练好的协同信息通过混合编码的方式,将用户和物品的ID嵌入到输入的提示词中。

4aa9feab0de079049e70b10c4f272fda.png

Rethinking Fine-tuning in LLMRec

在先前的研究中,将ID加入到模型中主要采用微调的方法。然而,这种方法存在一个问题。具体来说,ACL 2024中的一篇论文[3]指出,对大模型进行微调会影响其在各种任务上的泛化性能,并可能增强模型的泛化偏差。作者通过实验表明,在推荐数据集上进行微调后,大模型在各种语言任务上的性能显著下降。此外,它在推荐中的一些通用性能,如与文本相关的性能,也会有较严重的下降。

7d3ee68e8d8a32706db2fef1e7a003d0.png

作者还发现,即使不进行微调,直接将用户和物品的ID混合编码到提示词中,也会导致大模型无法正确理解输入的提示词原本的含义。

a548afb9c591fa43f00cfacd51b5c999.png

作者进行了一项case study,即让大语言模型直接重复给出的句子。然而,之前的方法将ID嵌入到提示词中,这导致大型语言模型无法正常输出,无法正常重复。因此,作者想到不在输入层中加入ID,而是通过参数的方式将用户的协同信息加入到模型中。

Our Proposed Method: CoRA

本篇工作主要关注的是大语言模型的微调。首先,大语言模型中的解码器模块是关键部分,它主要由多头注意力、Add & Norm和前馈层等组件组成,这些构成了大语言模型的基础结构。

对于协同信息的处理,作者假设已经有一个训练好的协同过滤模型,例如MF。该模型能够接收用户和物品的输入,并基于已训练的用户和物品信息得出协同结果。

7164498fc5abdbd3469f5e20c52d8492.png

CoRA框架首先获取用户和物品的相关信息,然后通过一组可学习的query以及cross attention层让这些query学习到协同信息。接着,输出query,并将它们输入到作为Lora的一部分,即在CoRA中作为Lora的A矩阵。同样,B矩阵也可以进行训练,由此形成新的Lora模块。最后,将这个模块插入到冻结的大语言模型中,具体位置对应于每个输入的用户和物品。

该篇工作的研究目标是判断用户对物品的喜好程度。对于每一个用户和物品,CoRA会生成一组Lora权重,并将其加入到预训练的大语言模型中,让模型预测用户对物品的喜好。

bc454af904c74729a50c1d735800fd9f.png

Experiment Analysis

如下图所示,在整体的实验结果中,CoRA的实验效果最佳。对于经典的CoLLM,在使用相同的协同过滤模型的前提下,CoRA在性能上都优于CoLLM,这说明CoRA对协同信息的利用效率更高。

f554a7ef8172165d5ca74ed41177aa32.png

作者还进行了冷启动和暖启动的实验,发现无论是在冷启动还是暖启动的情况下,CoRA方法都能取得更好的实验效果。特别是在亚马逊数据集上,CoRA取得了显著的性能提升。

44c636eb5738bc31a7262526eb984f8a.png

作者还通过进行一些消融实验,验证了大语言模型对文本信息和协同信息的利用效率。如图所示,红色代表只使用ID信息,蓝色代表同时使用ID和文本信息。可以看到,仅使用ID时,CoRA实现的性能最佳,而当加入文本信息后,CoRA方法性能提升最高。而前面提到的方法中,例如将ID信息加入到提示词中,可能会破坏大语言模型对文本的理解。在MovieLens数据集上,这一点尤为明显。当使用ID时,性能表现良好。然而,加入文本后,由于ID对文本的破坏性影响,导致性能显著下降。

97adb3c1d3aaab597bd52d5890b79620.png

Conclusion

本文首先探讨了将协作信息与LLM的输入空间对齐所引发的问题。其次,为了解决这些问题,引入了CoRA,能够让LLM在无需微调或额外协作标记的情况下感知协作信息。CoRA通过协作权重生成器将协作信息转化为LLM的增量权重,从而有效地整合了协作信息和文本信息。广泛的实验验证了CoRA的优越性。

References

[1] Large Language Models are Zero-Shot Rankers for Recommender Systems. ECIR 2024.

[2] TALLRec: An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation. RecSys 2023.

[3] Junyi Li, etc. The Dawn After the Dark: An Empirical Study on Factuality        Hallucination in Large Language Models. ACL 2024.

本期文章由陈研整理

近期精彩文章推荐

49170721f1e3da909e054e349a1436f3.jpeg

跨越边界,大模型如何助推科技与社会的完美结合?

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了2000多位海内外讲者,举办了逾700场活动,超800万人次观看。

7cd12041c7fee8069e5d7ccc7732cc10.png

我知道你 

在看

提出观点,表达想法,欢迎 

留言

40ec630f4678de5c867cfc89b893d15b.gif

点击 阅读原文 观看作者讲解回放!

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

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

相关文章

es扩容节点以后写入数据量增加1倍

背景: es扩容一倍的数据节点以后 写入数据量增加1倍 业务反馈业务访问量没增加。 最后定位是监控数据: PUT _cluster/settings {"persistent": {"xpack.monitoring.collection.enabled" : "false"} }这个索引记录的是 节…

G-Star 公益行 | 温暖相约 3.30 上海「开源×AI 赋能公益」Meetup

你是否曾想过,在这个数字化浪潮席卷的时代,公益组织如何突破技术瓶颈?当 AI 成为热门话题,它能为公益事业带来怎样的温度?开源的力量,如何让每一份善意都拥有无限可能? G-Star 公益行&#xff…

MySQL数据库复杂的增删改查操作

在前面的文章中,我们主要学习了数据库的基础知识以及基本的增删改查的操作。接下去将以一个比较实际的公司数据库为例子,进行讲解一些较为复杂且现时需求的例子。 基础知识: 一文清晰梳理Mysql 数据库基础知识_字段变动如何梳理清楚-CSDN博…

kafka-docker版

Kafka-docker版 1 概述 1.1 定义 Kafka传统定义: Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQucue),主要应用于大数据实时处理领域。它是一个开源的分布式事件流平台( Event Streaming Platform),被数千家公司用于高性能数据…

Zabbix 7.2 + Grafana 中文全自动安装ISO镜像

简介 ​ 基于Zabbix 官方的Alma Linux 8 作为基础镜像。 镜像源都改为国内大学镜像站,自动联网安装ZabbixGrafana。 安装中文字体、Zabbix和Grafana也配置默认中文。 Zabbix 也指定中文字体,绘图无乱码。 配置时区为东八区,Zabbix配置We…

使用pip在Windows机器上安装Open Webui,配合Ollama调用本地大模型

之前的文章分享过在 linux 服务器上安装,并使用Open-webui 来实现从页面上访问本地大模型的访问。也写了文章分享了我在家里 Windows Server 台式机上安装 Ollama 部署本地大模型,并分别使用 Chatbox 和 CherryStudio 来访问本地的大模型。今天我来分享一…

【python运行Janus-Pro-1B文生图功能】

前言 体验了一把本地部署Janus-Pro-1B实现文生图功能。 1、开源项目下载 官方开源项目代码直接从Github上下载。 2、模型下载 模型官方下载需要魔法 Janus-Pro-1B模型文件:Janus-Pro-1B模型文件 百度网盘: https://pan.baidu.com/s/16t4H4z-QZe2UDAg4…

18 | 实现简洁架构的 Handler 层

提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…

宇树ROS1开源模型在ROS2中Gazebo中仿真

以GO1为例 1. CMakelists.txt更新语法 cmake_minimum_required(VERSION 3.8) project(go1_description) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")add_compile_options(-Wall -Wextra -Wpedantic) endif() # find dependencies find…

LearnOpenGL-笔记-其三

在之前的章节中我们学习了基本的窗口构建方法、着色器的定义与使用以及摄像机的构建,而从今天这个大章节开始我们要来学习光照有关的知识。 颜色 现实世界中有无数种颜色,每一个物体都有它们自己的颜色。我们需要使用(有限的)数…

cfi网络安全 网络安全hcip

目录 RIP (路由信息协议) 算法 开销 版本 开销值的计算方式 RIPV1和RIPV2的区别 RIP的数据包 Request(请求)包 Reponse(应答)包 RIP的特征 周期更新 RIP的计时器 1,周期更新计时器 2,失效计时器 3,垃圾回收计时器 RIP的核心思…

RabbitMQ从入门到实战-2

文章目录 Java客户端快速入门WorkQueue(多消费)能者多劳配置 交换机fanout交换机案例 Direct交换机Topic交互机 声明队列和交互机(IDEA中)基于Bean声明队列和交换机基于注解声明(推) 消息转换器配置Json消息转换器 业务改造&#…

《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)

目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功: 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具:Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…

可编辑PPT解析数字化转型是什么意思,传统企业的数字化、数字转型数字化变革之路

《传统企业数字化转型之路》是一份43页的PPT,主要探讨了传统企业在数字化转型过程中面临的挑战和解决方案。文档从竞品分析、竞标分析、整体环境、客户需求、品牌效应、市场份额、技术架构和部门效率等方面进行了详细讨论,指出如果企业在这些方面都存在问…

Pytorch系列教程:可视化Pytorch模型训练过程

深度学习和理解训练过程中的学习和进步机制对于优化性能、诊断欠拟合或过拟合等问题至关重要。将训练过程可视化的过程为学习的动态提供了有价值的见解,使我们能够做出合理的决策。训练进度必须可视化的两种方法是:使用Matplotlib和Tensor Board。在本文…

5.1 程序调试

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 本节中为了演示方便,使用的代码如下: 【例 5.1】【项目:code5-001】程序的调试。 static void Ma…

webRTC实现一对一通话视频流程

WebRTC 需要一个 信令服务器(使用 WebSocket、Socket.io 或 WebRTC SDP 交换),用于两端互相交换连接信息(SDP、ICE)。 具体流程 1. 获取本地音视频流 设备 A 和 B 通过 getUserMedia() 获取摄像头和麦克风的音视频流…

理解 XSS 和 CSP:保护你的 Web 应用免受恶意脚本攻击

在当今的互联网世界中,Web 应用的安全性至关重要。随着网络攻击技术的不断演进,开发者需要采取多种措施来保护用户数据和应用的完整性。本文将深入探讨两种关键的安全概念:XSS(跨站脚本攻击) 和 CSP(内容安…

数据结构--【栈与队列】笔记

栈的应用【实验题】 使用栈实现后缀表达式计算,其中,在后缀表达式中,输入的数字为整数,且为正数,数字、符号之间用空格隔开,整个后缀表达式用“#”表示结束。其中,整个后缀表达式长度不超过200…

Spring中的对象创建与生命周期管理

控制Spring工厂创建对象的次数 1.如何控制简单对象的创建次数 <bean id"account" scope"singleton|prototype" class"xxx.xxx.xxx"/> singleton:只会创建一次简单对象 默认值 prototype:每一次创建都会创建新的对象 2.如何控制复杂对象的…