TALLRec: An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation论文阅读笔记
Abstract
存在的问题:
由于LLM的训练任务和推荐任务之间存在显著差异,以及训练前的推荐数据不足,LLM在推荐任务中的表现仍然不理想。
解决方案:
为了弥补这一差距,我们考虑通过使用推荐数据调优LLM来构建一个大型推荐语言模型。为此,我们提出了一个高效和有效的调优框架,以将LLM与推荐对齐,即TALLRec。我们已经证明,所提出的TALLRec框架可以显著提高LLM在电影和图书领域的推荐能力,即使是在有限的数据集少于100个样本中。
Introduction
LLM的能力为解决当前在推荐领域需要强大的泛化和丰富知识的挑战提供了有希望的机会。因此,探索将LLM集成到推荐系统中是有价值的,而这在以往的研究中受到了有限的关注。
在最近的初始尝试中,实现目标依赖于上下文学习。他们将LLM视为传统推荐模型的工具生成器,即,LLM用于对这些模型过滤过的候选项目进行重新排序。然而,这些方法只能达到与传统模型相当的性能。更糟糕的是,只使用上下文学习可能无法进行推荐。如图1所示,我们发现ChatGPT要么拒绝回答,要么总是给出积极的预测(喜欢)。因此,在建议中进一步探索一种更有效地利用LLM的适当方法是至关重要的。
我们推测,仅使用上下文学习(In-context Learning)的失败有两个原因:
-
由于用于训练 LLM 的语言处理任务与推荐任务之间存在巨大差距,LLM 可能无法很好地与推荐任务相匹配。此外,在 LLMs 的训练阶段,面向推荐的语料库非常有限。
-
LLMs 的效果受到底层推荐模型的限制,由于推荐模型的容量有限,可能无法将目标项目纳入候选列表。
因此,我们考虑建立大型推荐语言模型(LRLM),以弥补 LLM 与推荐任务之间的差距,并在上下文学习(In-context Learning)之外更好地激发 LLM 的推荐能力。
为了实现这个目标,我们专注于用推荐任务来调整LLM。考虑到指令调优是让LLM学习解决不同任务的核心,并且具有很强的泛化能力,我们提出了一个轻量级的调优框架来适应LLM的推荐,名为TALLRec。详细地说,TALLRec将推荐数据构造为指令,并通过一个额外的指令调优过程来调优LLM。此外,考虑到LLM训练需要大量的计算资源,TALLRec采用了一种轻量级的调优方法来有效地使LLM适应推荐任务。
本文的贡献如下:
- 我们研究了推荐中的一个新问题——将LLM与推荐对齐,其中我们揭示了基于上下文学习的方法的局限性,并强调了指令调优的重要性
- 我们引入了一个新的TALLRec框架来构建大型推荐语言模型,它能够在低GPU成本和少量调优样本的情况下,对推荐的LLM进行有效和高效的调优。
Method
Preliminary
指令调优
指令调优是用人工注释的指令和响应来训练LLM的关键技术。一般来说,指令调优有四个步骤。具体来说:
步骤1:定义一个任务,并使用自然语言表达一个“任务指令”,这通常包括对任务的明确定义,以及解决它的具体解决方案。
步骤2:用自然语言制定并构造任务的输入和输出,分别表示为“任务输入”和“任务输出”。
步骤3:将“任务指令”和“任务输入”集成在一起,形成“指令输入”,并以“任务输出”作为对应的“指令输出”。
步骤4:基于“指令输入”和“指令输出”的格式化对对LLM进行指令调优。
推荐调优的任务形式
我们的目标是利用LLM,表示为M,来构建一个LRLM,它可以预测一个新项目是否会被用户喜欢。为了实现这一目标,我们对具有推荐数据的llm进行了推荐调优。如表所示,我们将推荐数据格式化为指令调优的模式。我们首先编写一个“任务指令”,指导模型根据历史交互确定用户是否喜欢目标项目,并使用“是”或“否”的二进制回答。为了格式化“任务输入”,我们根据评级将用户历史上交互的项目分为两组:用户喜欢的项目和不喜欢的项目,其中项目按交互时间顺序排序,并由文本描述(例如,标题和简要介绍)表示。此外,“任务输入”还包括一个用户从未见过的目标新项目。最后,我们将“任务指令”和“任务输入”合并,创建一个“指令输入”,然后将预期的“指令输出”设置为“是”或“否”以进行重新调优。
TALLRec的架构
在本小节中,我们将介绍TALLRec框架,该框架旨在促进llm与推荐任务的有效和高效的对齐,特别是在低GPU内存消耗设置下。具体来说,我们首先介绍了两个具有轻量级实现的TALLRec调优阶段,然后是主干选择。如图2所示,TALLRec包括两个调优阶段:alpaca调优和rec调优。前一阶段是LLM常用的训练过程,提高了LLM的泛化能力,后一阶段模拟指令调优模式,调整LLM的推荐任务。
TALL的调优阶段
对于羊驼(alpaca)调优,我们使用羊驼提供的自指导数据来训练LLM。具体来说,我们在羊驼调优过程中使用了条件语言建模目标,形式为:
\(\max_\Phi\sum_{(x,y)\in\mathcal{Z}}\sum_{t=1}^{|y|}\log\left(P_\Phi(y_t|x,y_{<t})\right),\)
其中,
标签:推荐,论文,笔记,任务,调优,指令,LLM,TALLRec From: https://www.cnblogs.com/anewpro-techshare/p/18209457