【文献阅读四】An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation
文献来源:TALLRec: 一套高效且精确的参数微调框架以对齐大型语言模型与推荐系统
期刊会议:RecSys '23: Proceedings of the 17th ACM Conference on Recommender Systems
本文仅作为初步了解而对原文进行过简要浏览。如有不当之处恳请大家多加指导如需进一步了解请重新阅读原文。
一、摘要
本文主要提出了一种结合语言模型(LLM)与推荐系统的微调框架命名为TALLRec。该研究旨在解决以下两个关键问题:第一,在现有语言模型(LLM)与传统推荐系统的训练目标之间存在显著差异;第二,在预训练阶段缺乏足够的用户互动数据。通过整合用户行为数据进行优化后,我们成功地将语言模型(LLM)转化为一种新的形式——即基于检索的协同模型(LRLMs)。这不仅提升了模型在信息检索方面的性能表现。
二、介绍
在最近的研究实验中, 以主要采用上下文学习的方法, 将LLM视作传统推荐模型被视作参考, 即LLM用于对这些模型过滤后的候选项目进行重新排列. 然而, 这些方法仅能达到与传统基准相当的效果. 更糟糕的是, 即使如此, 纯粹依赖上下文学习可能也无法满足要求.
- ①因训练任务与推荐任务之间存在差距,
LLM可能难以很好地与推荐系统相适应, 同时, 预训练数据集中基于推荐系统的资源相对匮乏; - ②
LLM的效果可能会受到底层推荐模型的影响, 其计算能力有限, 因此可能导致目标物品未被包含在候选列表中。

基于此而言
我们的 TALLRec 框架可以在少量样本情况下有效提升 LLMs 的推荐性能。
通过 TALLRec 框架训练后的 LLMs 具有强大的跨领域应用潜力。
三、TALLRec
如下是框架图:

TALLRec 由两个关键步骤组成:首先实施 alpaca tuning(旨在提升模型的泛化能力),接着开展 rec-tuning(通过模仿指令微调模式,并对推荐任务进行微调优化)。
alpaca tuning
该阶段的微调利用了 Alpaca 来训练 LLM 。

alpaca tuning不是很理解,后续在深入了解了解。
rec-tuning
在此之前介绍一下指令微调(Instruction Tuning )。

步骤如下:
- step1 :以自然语言形式创建一个
task instruction;- step2 :开发并构建输入输出的Input/Output数据集;
- step3 :整合
Task Instruction和Task Input为统一的指令输入,并使指令输出用于生成相应的结果; - step4 :将指令输入与指令输出配对使用,并对该模型进行LLM指示微调。

推荐微调任务的步骤和指令微调类似。
- step1 : 将推荐数据按照指令微调的格式进行处理
- step2 : 构建具体的指示信息(即:Task Instruction),使得LLM能够直接生成所需的结果;同时定义 Task Output 格式为Yes/No的形式。
- step3 : 根据评分信息(ratings)将 Task Input 数据划分为喜欢类(liked items)与不喜欢类(disliked items),并确保包含待评价的新物品(target new item)。
- step4 : 最后整合所有的指令输入信息与相应的输出结果。
Lightweight Tuning
轻量级的核心要点在于现代语言模型存在大量冗余参数,并且其核心信息主要分布在较低维的空间中。 因此我们可以聚焦于优化一个较小的部分参数来进行性能提升。 具体而言 我们采用了LoRA方法 这一技术涉及固定住预先训练好的模型参数 并在每个Transformer层中引入可训练的低秩分解矩阵 从而实现资源效率提升。 通过这种方法 我们能够在不释放原始参数的前提下有效整合额外的信息 从而提高模型性能 综上所述 最终的学习目标可以表示为:

借助 LoRA 技术,在实际应用中我们仅需原始 LLM 参数数量的千分之一即可实现模型的训练流程。
TALLRec框架微调的LLM是LLaMA,开源且训练集公开。
这里的轻量级微调 以及涉及其中的低秩分解矩阵尚不完全理解其机制与作用。
上述的公式1和公式2均出自这篇论文LoRA: Low-Rank Adaptation of Large Language Models。
四、实验结果
RQ1: What is the performance comparison of TALLRec against existing LLM-based and traditional recommendation models?

- TALLRec 相对于传统方法及 LLM-based 方法展现出更高的性能水平;
- 虽然 LLM-based 方法的表现与随机猜测相近程度不一, 但通过 TALLRec 的训练显著提升了 LLM 的性能水平; 在推荐任务与语言任务之间存在明显差距, 因此利用推荐数据对 LLM 实施 rec-tuning 十分重要;
- 传统方法依赖于有限数量的训练数据, 因此难以迅速掌握推荐能力;
- GRU-BERT 与 DROS-BERT 亦并非在所有情况下均优于基准模型, 并且在小样本训练场景下单纯引入文本描述并不能有效增强传统推荐模型的能力。
### RQ2: How do the different components in TALLRec affect its effectiveness?
$AT$的性能相较于$RT$$ 和TALLRec 显著降低,在此情况下 `rec-tuning 是强化 `LLM$` 核心能力的关键因素;- 当样本数量少于 128 时,在经过
$alpaca-tuning$ 后,在新任务上LLM` 的泛化能力得到提升; - 随着样本数量的增加,在经过
$TALLRec$ 后,在基准线之上不断超越,并且通过有限的样本实现rec-tuning 能够促进在推荐任务中$LLM$性能水平的提升。
RQ3: How does TALLRec perform under cross-domain recommendation?

在book数据集上运行时,在电影领域中使用了 TALLRec(Movie)模型后表现出色。
当样本数量达到或以上64时,在两个测试集中分别验证后发现:基于多领域融合的模型TALLRec(Both)的表现不仅超过了仅专注于电影的模型(TALLRec(Movie)),也超过了专注于书籍领域的模型(Tall-Rec(Book>)。这一结果进一步证明了所提出方法的优势——能够有效地整合来自不同领域的数据。
(PS: 就Figure 4(b)而言,
TALLRec(Both)在样本数量超过64时未能达到预期水平的性能,并不知道作者为什么会得出这一结论。)
五、结论
研究者开发了名为 TALLRec 的微调框架旨在解决大语言模型在匹配推荐任务方面表现不足的问题。具体而言,在训练过程中采用了双重微调策略:首先进行 Alpaca Tuning 阶段的优化;随后进行 Rec-tuning 环节的精炼。实证研究表明,在提升模型与推荐系统的契合度方面, TALLRec 框架展现出显著的优势,并且其性能超越了许多现有的基准模型。值得注意的是,该方法在跨领域适应性方面表现尤为出色。
