2305.00447_TALLRec: An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation

总结

总结

  • 比较简单,快速看完

Paper引用说明

  • 使用 LoRA 对 LLaMA-7B 模型进行微调

TALLRec

  • 一种高效的微调框架,用于对齐 LLMs 与推荐任务

  • 通过两个阶段的调优(alpaca tuning和rec-tuning)来高效地将LLM与推荐任务进行对齐

消融实验

  • Rec-tuning 是 TALLRec 成功的关键,Alpaca-tuning 在数据稀缺时提供辅助

  • Alpaca-tuning 在样本较少时有助于提升 LLM 通用性,但随着样本增加,其作用减弱。

  • TALLRec (Both) 在样本超过64时表现最佳,说明其能够整合多领域数据提升泛化性能。

Abstract

本研究探讨了大型语言模型(LLMs)在推荐系统中的应用潜力。LLMs因其出色的知识表示和泛化能力,在多个领域表现出色。研究人员最初尝试通过In-context Learning,将推荐任务转化为提示(prompt)形式,以利用LLMs的优势。然而,由于LLMs的训练任务与推荐任务之间存在显著差异,且预训练过程中缺乏推荐相关的数据,导致其在推荐任务中的表现仍不理想。

为了解决这一问题,本文提出了一种高效的调优框架TALLRec,旨在通过推荐数据对LLMs进行微调,从而缩小其与推荐任务之间的性能差距。实验结果显示,TALLRec框架能在电影和书籍推荐领域显著提升LLMs的推荐能力,即使在样本数量少于100的情况下。此外,该框架具有很高的计算效率,可以在单块RTX 3090 显卡上运行LLaMA-7B 模型,并展现出跨领域泛化能力。 d

重点内容强调:

  • TALLRec框架是本文的核心贡献,其提出目的是增强LLMs的推荐能力。

  • 框架在小样本单GPU环境下表现出色,具有实际应用价值。

  • 跨领域泛化能力表明该方法具有广泛适用性。

主要内容:
近年来,大型语言模型(LLMs) 在多个领域表现出色,激发了研究者探索其在推荐系统中的应用潜力。早期的研究尝试利用 LLMs 的优势,例如丰富的知识通过上下文学习(In-context Learning)的强泛化能力,通过将推荐任务构造成提示(prompt)来实现。然而,由于 LLMs 的训练任务与推荐任务之间存在显著差异,且 LLMs 在预训练阶段缺乏足够的推荐相关数据,因此其在推荐任务中的性能仍不理想。

解决方案与贡献:
为了解决这些问题,作者提出构建一个大型推荐语言模型,即通过使用推荐数据对 LLMs 进行微调。为此,作者提出了一种高效且有效的对齐 LLMs 与推荐任务的微调框架,名为 TALLRec。实验表明,TALLRec 框架能够显著提升 LLMs 在电影和书籍推荐任务中的能力即使在样本数量少于 100 的小数据集上也能取得良好效果。此外,该框架计算效率高可在单个 RTX 3090 显卡上运行 LLaMA-7B 模型。微调后的 LLM 还表现出跨领域泛化的鲁棒性

关键词:
推荐(Recommendation)、指令微调(Instruction Tuning)、大型语言模型(Large Language Models)


出版信息:

  • 会议名称: 第十七届 ACM 推荐系统会议(RecSys 2023)

  • 时间地点: 2023年9月18日至22日,新加坡

  • DOI: 10.1145/3604915.3608857

  • ISBN: 979-8-4007-0241-9

  • 版权: ACM 授权

  • CCS 分类: 信息系统 → 推荐系统


总结重点:

  1. LLMs 在推荐系统中的应用潜力:LLMs 的知识丰富性和泛化能力使其成为推荐系统的潜在工具。

  2. 当前挑战:训练任务与推荐任务的不匹配、推荐数据在预训练中缺失。

  3. 提出方法 TALLRec:一种高效的微调框架,用于对齐 LLMs 与推荐任务。

  4. 实验效果显著:在小数据集和跨领域任务中表现良好。

  5. 高效性与实用性:可在单卡上运行,并适配 LLaMA-7B。

  6. 开源共享:代码与数据公开,便于复现与进一步研究。


如需对论文的其他章节(如 Introduction、Method、Experiment 等)进行详细总结,也可继续提供内容。

1. Introduction

背景与研究动机

近年来,大语言模型(LLMs) 在生成类人语言和执行多种任务方面表现出色,包括自然语言处理、机器人技术和信息检索等领域。这些模型展现出丰富的知识内容组合泛化能力,仅通过适当的指令,就能学会解决未见过的任务并利用自身知识实现高性能。鉴于这些能力,LLMs在需要强泛化能力和丰富知识的推荐系统中也展现出应用潜力。然而,目前LLMs在推荐系统中的应用研究仍较为有限,是一个值得探索的方向。

LLMs在推荐中的初步尝试

已有研究尝试将LLMs应用于推荐系统,主要采用In-context Learning(上下文学习)的方法,通过OpenAI API进行实现。这些研究通常将LLM作为传统推荐模型(如MF、LightGCN)的重排序工具,即在传统模型筛选出候选物品后,LLM用于进一步排序。然而,此类方法的性能与传统模型相当,并未体现出LLM的优势。更严重的是,仅依赖In-context Learning有时会完全失败,例如ChatGPT在书籍和电影推荐任务中,要么拒绝回答,要么总是给出正面预测(喜欢)。如果忽略拒绝回答的情况,计算AUC指标后发现其表现接近随机猜测(AUC ≈ 0.5)。

问题分析与研究假设

我们分析了仅依赖In-context Learning失败的两个主要原因:

  1. 任务不匹配:LLMs训练任务(语言生成与理解)与推荐任务之间存在较大差距,且推荐领域在LLM训练中提供的数据非常有限。

  2. 模型能力限制:LLM的效果受到底层推荐模型的限制,这些模型可能无法将目标物品纳入候选列表。

因此,我们提出构建一个大型推荐语言模型(LRLM),通过进一步调优LLMs,弥合其与推荐任务之间的差距,并更有效地激发其推荐能力。

提出方法:TALLRec 框架

为实现这一目标,我们专注于推荐任务下的LLM调优。考虑到指令调优(Instruction Tuning) 对提升LLM解决多种任务能力具有关键作用,我们提出一个轻量级调优框架 TALLRec,用于将LLM适配到推荐任务中。

TALLRec 的核心方法是:

  • 将推荐数据结构化为指令形式

  • 通过额外的指令调优过程对LLM进行训练;

  • 采用LoRA(低秩适配)结构,仅对模型的部分参数进行微调,从而在计算资源有限的GPU(如NVIDIA RTX 3090 24GB)上高效运行。

同时,为了验证框架的高效性,我们在少样本(few-shot)设置下进行实验,仅使用少量调优样本,验证了TALLRec框架的快速适应能力

实验与结果

我们基于LLaMA-7B模型应用TALLRec框架,并在知识密集型的电影和书籍推荐任务中进行了全面实验。实验结果表明:

  1. TALLRec 能在少样本设置下快速激发LLM的推荐能力;

  2. 调优后的LLM具有强大的跨领域泛化能力(如从电影推荐迁移到书籍推荐);

  3. TALLRec 在性能上优于传统推荐模型和基于In-context Learning的GPT3.5(更强的LLM)。

研究贡献总结

本研究的主要贡献包括:

  1. 提出新问题:探索如何将LLMs与推荐系统对齐,揭示了基于In-context Learning方法的局限性,并强调了指令调优的重要性;

  2. 提出新框架 TALLRec:一个轻量级、高效、低成本(低GPU资源消耗)的LLM调优框架,适用于推荐任务;

  3. 开展广泛实验:验证了TALLRec的有效性与高效性,并发现其具有跨领域强鲁棒性,可无缝迁移至不同领域。

2. TALLRec

本节首先介绍调优大语言模型(LLMs)所需的基础知识与任务设定,然后提出 TALLRec 框架。


2.1. 预备知识

指令调优(Instruction Tuning)

指令调优是训练大语言模型以理解人类指令并生成合适响应的重要技术。

步骤如下(以翻译任务为例)

  1. 定义任务并编写“任务指令”:用自然语言描述任务,例如“将英文翻译为中文”。

  2. 构造“任务输入”和“任务输出”:例如,“Who am I?” 和 “我是谁?”。

  3. 构建“指令输入”和“指令输出”:将“任务指令”与“任务输入”合并为“指令输入”,“任务输出”作为“指令输出”。

  4. 基于指令对进行模型调优:通过训练这些指令-输出对来调优模型。

推荐任务的指令调优(Rec-tuning)

推荐任务的目标是利用大语言模型(LLM)构建一个语言推荐模型(LRLM),预测用户是否喜欢新物品。

具体步骤

  • 任务指令:基于用户历史交互,判断用户是否会喜欢目标新电影,输出“Yes”或“No”。

  • 任务输入:将用户的历史交互物品分为“喜欢”和“不喜欢”两类(按时间排序),并加入目标新物品。

  • 构造指令输入与输出:将任务指令与输入合并为“指令输入”,目标输出为“是”或“否”。


2.2. TALLRec 框架

TALLRec 框架旨在高效、低 GPU 内存消耗下,使大语言模型与推荐任务对齐。该框架包括两个调优阶段和轻量级调优技术。

TALLRec 调优阶段

  • Alpaca 调优:使用 Alpaca 提供的自指令数据,通过条件语言模型目标训练 LLM,提升其通用能力。

  • Rec-tuning:通过推荐任务的指令输入输出对(如上所述)进一步调优 LLM 的推荐能力。

图2展示了 TALLRec 的整体框架,其中 rec-tuning 阶段使用推荐数据构造的指令对进行调优,同时采用轻量级调优技术以提高效率。

轻量级调优(Lightweight Tuning)

直接对 LLM 进行训练计算开销大、耗时长。为此,TALLRec 采用 LoRA(Low-Rank Adaptation) 技术进行轻量级调优。

原理

  • 认为现代语言模型的参数冗余,关键信息集中在低维空间中。

  • 因此,只需调整少量参数即可达到与全模型相当的性能。

  • 具体做法:冻结预训练模型参数,在 Transformer 的每一层中引入可训练的低秩矩阵进行调优。

目标函数: $\( \max_{\Theta} \sum_{(x,y)\in\mathcal{Z}} \sum_{t=1}^{|y|} \log\left(P_{\Phi+\Theta}(y_t|x,y_{<t})\right) \)$ 其中,Φ 是原始参数,Θ 是 LoRA 参数,仅更新 Θ。

优势:通过 LoRA,仅需原模型 1/1000 的参数量即可完成训练,极大提升了效率。

模型选择(Backbone Selection)

目前已有大量 LLM,如 GPT、PaLM、Chinchilla、LLaMA 等。但部分模型(如 PaLM、Chinchilla)不开放参数或 API,难以用于研究。

考虑因素

  • 数据安全性要求(推荐系统中尤其重要)

  • 第三方 API 的使用存在不确定性

最终选择

  • 选用开源 LLM LLaMA 进行实验,因其表现优秀,训练数据公开,适合模拟实际推荐场景下的模型调优。


总结

  • TALLRec 框架通过 Alpaca 调优 + Rec-tuning 两阶段流程,使 LLM 对齐推荐任务。

  • 利用 LoRA 轻量调优 技术,大幅降低计算开销和 GPU 内存需求。

  • 选择 LLaMA 作为基模型,兼顾实际应用可行性与研究可重复性。

3. Experiments

本节通过实验回答以下几个研究问题(RQ):

  • RQ1:TALLRec 相比于当前基于大语言模型(LLM)和传统推荐模型的表现如何?

  • RQ2:TALLRec 中的不同组件对其效果有何影响?

  • RQ3:TALLRec 在跨域推荐任务中的表现如何?


∙∙ 数据集

实验在两个数据集上进行:

  • Movie:基于 MovieLens100K 的处理数据集,包含用户对电影的评分及文本描述(如标题、导演)。在少样本设置下,从最新交互中抽取10,000次,按8:1:1划分为训练集、验证集和测试集。每个样本保留前10次交互作为历史行为。

  • Book:基于 BookCrossing 数据集,包含书籍评分(1-10)和文本描述(如书名、作者)。由于没有时间戳,历史行为通过随机采样生成。同样按8:1:1划分,并将评分二值化为5分阈值。


∙∙ 少样本训练设置

采用“少样本训练”(few-shot training),即从训练集中随机选择少量样本进行训练。记为“K-shot”设置,K 表示训练样本数量。例如,64-shot 表示仅使用64个样本进行训练。此设置用于验证模型在少量数据下快速学习推荐能力的效果。


∙∙ 基线模型

对比模型分为两部分:

  • LLM-based 方法:采用 In-context Learning 直接生成推荐,使用的模型包括 Alpaca-LoRA、Text-Davinci-002、Text-Davinci-003 和 ChatGPT。TALLRec 与其对齐,使用相同指令进行公平比较。

  • 传统推荐模型:包括 GRU4Rec、Caser、SASRec、DROS,这些模型基于用户的历史行为(item ID)进行推荐。为了公平比较,还引入了 GRU-BERT 和 DROS-BERT,它们结合了 BERT 对物品文本描述的编码。


∙∙ 评估指标

由于 TALLRec 是一个二分类问题(判断用户是否喜欢目标物品),使用 AUC(Area Under the ROC Curve)作为主要评估指标。


∙∙ 实现细节

  • 历史交互序列长度统一为10,不足的用用户最后交互填充。

  • 所有模型使用 Adam 优化器,学习率 1e-3,损失函数为 MSE。

  • GRU-BERT 和 DROS-BERT 使用 Hugging Face 的 BERT,GRU 层数设为4,隐藏层大小为1024。

  • 所有模型运行5次,取平均结果。


3.1 性能比较(RQ1)

重点总结

  • TALLRec 显著优于传统和基于 LLM 的方法,证明其调优方法有效提升了 LLM 在推荐任务中的性能。

  • 基于 LLM 的原始方法性能接近随机猜测(AUC≈0.5),表明推荐任务与语言任务存在显著差异,需使用推荐数据进行调优。

  • 传统推荐方法在少样本下表现不佳,说明其难以在数据稀缺时快速学习推荐能力。

  • GRU-BERT 和 DROS-BERT 没有明显优势,表明仅添加文本描述不足以提升传统模型在少样本下的性能。


3.2 消融实验(RQ2)

重点总结

  • Rec-tuning 是 TALLRec 的关键组件,其效果明显优于仅使用 Alpaca-tuning 的版本(AT)。

  • Alpaca-tuning 在样本较少时有助于提升 LLM 通用性,但随着样本增加,其作用减弱。

  • TALLRec 在不同样本数量下均优于基线模型,说明其能够有效地利用有限样本激发 LLM 的推荐能力。


3.3 跨域泛化分析(RQ3)

重点总结

  • TALLRec 具有显著的跨域泛化能力。例如,仅在 Movie 数据上训练的模型,也能在 Book 数据上表现良好,接近专门训练于 Book 的模型。

  • TALLRec (Both) 在样本超过64时表现最佳,说明其能够整合多领域数据提升泛化性能。

  • 未来可探索在大规模异构数据集上预训练 TALLRec,以进一步增强其跨域推荐能力。


总结

本节通过一系列实验验证了 TALLRec 的有效性,主要结论如下:

  1. TALLRec 显著优于传统和基于 LLM 的方法;

  2. Rec-tuning 是 TALLRec 成功的关键,Alpaca-tuning 在数据稀缺时提供辅助;

  3. TALLRec 具有良好的跨域推荐能力,是当前推荐模型难以实现的特性。

这些结果表明,TALLRec 是一个高效且有效的 LLM 调优框架,适用于少样本和跨域推荐任务。

5. Conclusion

随着大语言模型(LLMs)的发展,人们逐渐认识到它们在推荐系统中的潜力(Yuan 等,2023;Li 等,2023a;Zhang 等,2023a)。重点内容是:本文探讨了在推荐系统中使用LLMs的可行性。研究的初步发现表明,即使是最先进的LLM模型在推荐任务中的表现也并不理想。

为了解决这一问题,重点内容是:作者提出了一个名为TALLRec的框架,该框架通过两个阶段的调优(alpaca tuningrec-tuning)来高效地将LLM与推荐任务进行对齐。实验结果显示,使用TALLRec框架训练的LLM在性能上优于传统模型,并展现出强大的跨领域泛化能力。

不重要内容是:未来的研究方向是探索更有效的方法来激活更大模型在推荐任务中的能力,并调整LLM以同时处理多个推荐任务。

致谢:本研究得到了国家自然科学基金(62272437)以及文化和旅游部支持的**数字文化与创意内容重点实验室(CCCD)**的资助。