LLMs时代的推荐系统

论文地址:https://arxiv.org/pdf/2307.02046.pdf

0、概述

随着电子商务和网络应用的繁荣发展,推荐系统(RecSys)已经成为我们日常生活中的重要组成部分,它们提供个性化建议,迎合用户偏好。虽然深度神经网络(DNNs)通过建模用户-项目交互并整合它们的文本信息,在增强推荐系统方面取得了显著进展,但这些基于DNN的方法仍然存在一些限制,例如在有效理解用户兴趣和捕获文本信息、泛化到各种已见/未见推荐场景以及对其预测进行推理等方面的困难。与此同时,大型语言模型(LLMs)如ChatGPT和GPT-4的出现,因其在语言理解和生成的基本职责以及令人印象深刻的泛化和推理能力,已经彻底改变了自然语言处理(NLP)和人工智能(AI)领域。因此,近期研究已经尝试利用LLMs的力量来增强推荐系统。鉴于这一研究方向在推荐系统中的迅速演变,迫切需要一个系统的概述,总结现有的LLM增强推荐系统,以便为相关领域的研究人员和从业者提供深入的理解。因此,在这一份调查中,我们从多个方面对LLM增强推荐系统进行了全面回顾,包括预训练、微调和提示。更具体地说,我们首先介绍了利用LLMs(作为特征编码器)来学习用户和项目表示的代表性方法。然后,我们回顾了LLMs从三个范式,即预训练、微调和提示,来增强推荐系统的最近先进技术。最后,我们全面讨论了这一新兴领域的有前景的未来方向。

1、简介

推荐系统的基本思想是利用用户与物品之间的交互及其关联的附加信息,特别是文本信息(例如物品标题或描述、用户个人资料和物品的用户评价),来预测用户与物品之间的匹配分数(即用户是否喜欢该物品的概率)。更具体地说,用户与物品之间的协同行为被利用来设计各种推荐模型,进一步用于学习用户和物品的表示。此外,关于用户和物品的文本附加信息包含丰富的知识,可以帮助计算匹配分数,为推进推荐系统提供了巨大的机会。由于深度神经网络在各个领域的表示学习能力,它已被广泛应用于推荐系统。深度神经网络(DNNs)通过不同的架构展示出在建模用户-物品交互方面的独特能力。例如,作为处理序列数据的特别有效工具,循环神经网络(RNN)已被采用来捕捉用户交互顺序中的高阶依赖关系。将用户的在线行为(例如点击、购买、社交)视为图结构数据,图神经网络(GNN)已经成为一种前沿的表示学习技术,用于学习用户和物品的表示。

尽管取得了前述的成功,大多数现有的推荐系统仍然面临一些固有的局限性。

首先,由于模型规模和数据规模的限制,先前基于深度神经网络的模型(例如CNN和LSTM)和预训练语言模型(例如BERT)对于推荐系统而言不能充分捕捉有关用户和物品的文本知识,表明它们的自然语言理解能力较差,这导致在各种推荐场景中的预测性能不能达到最优。

图1:在电影推荐场景中,LLMs用于各种推荐任务的示例。LLMs可以利用文本数据(甚至是多模态数据,如图像)用于推荐任务。

其次,大多数现有的推荐系统方法都是针对特定任务设计的,并且对于没见过的推荐任务缺乏充分的泛化能力。例如,一个推荐算法在用户-物品评分矩阵上进行训练,可以很好地预测电影的评分,但是对于该算法来说,在给出某些解释的情况下进行top-k电影推荐是具有挑战性的。这是因为这些推荐体系结构的设计高度依赖于特定任务的数据和领域知识。

接着,大多数现有的基于DNN的推荐方法可以在需要简单决策的推荐任务上到达期望的性能(例如评分预测和top-k推荐)。然而,它们在支持涉及多个推理步骤的复杂决策方面面临困难。例如,在旅行规划推荐中,多步推理至关重要。推荐系统首先应基于目的地考虑热门旅游景点,然后根据旅游景点安排适当的行程,并最后根据具体用户偏好(如旅行时间和费用)推荐旅行计划。

LLMs已经证明了它们在语言理解和生成的基本职责上具有前所未有的强大能力。这些改进使LLMs能够更好地理解人类意图并生成更贴近人类的语言范式。此外,最近的研究表明,LLMs具有令人印象深刻的泛化和推理能力,使LLMs更好地泛化到各种没见过的任务和领域。具体而言,LLMs无需对每个特定任务进行大量微调,只需提供适当的指示或几个任务演示,即可将其学习的知识和推理技能应用于适应新任务。使用前沿技术,如上下文学习,可以进一步增强LLMs在特定下游任务上的泛化性能。此外,借助思维链(COT)等提示策略的支持,LLMs可以在复杂的决策过程中生成具有逐步推理的输出。因此,鉴于它们的强大能力,LLMs展示了改变推荐系统的巨大潜力。

2、介绍

2.1 大语言模型(LLMs)

LLMs是通过在大量的文本数据上进行训练并具有数十亿个参数,以理解自然语言的模式和结构。

有几种经典的预训练语言模型可供选择,如BERT(基于Transformers的双向编码器表示),GPT(生成式预训练Transformer)和T5(文本到文本转换Transformer)。通常,这些语言模型分为三大类别:仅编码器模型,仅解码器模型和编码解码器模型。

BERT、GPT和T5是基于Transformer架构的不同模型。具体而言,BERT是一个仅有编码器的模型,它使用双向注意力来处理标记序列,考虑每个token的左右上下文。它使用掩蔽语言建模和下一句预测等任务进行预训练,并能够在大量文本数据中捕捉语言和含义的细微差别。这个过程将文本转化为向量空间,实现了细致入微的、有上下文意识的分析。另一方面,基于Transformer解码器架构的GPT使用自注意机制进行从左到右的单向词序列处理。GPT主要用于语言生成任务,将嵌入向量映射回文本空间,生成与上下文相关的响应。最后,T5是一个编码解码器模型,通过将每个自然语言处理问题转化为文本生成问题,可以处理任何文本到文本的任务。

由于模型规模的不断增大,通过展示前所未有的理解和生成类似于人类文本知识的能力,语言模型彻底改变了自然语言处理领域。这些模型(如GPT-3、LaMDA、PaLM和Vicuna等模型)通常基于Transformer架构,在大量文本数据上进行训练。这个过程使它们能够捕捉复杂的语言模式和细微差别。

最近,LLMs展示了令人惊讶的上下文知识学习(ICL)能力,ICL是它们设计和功能的核心概念。ICL指的是模型根据输入上下文理解并提供答案的能力,而不仅仅依靠通过预训练获得的内部知识。一些研究工作探索了在各种任务中利用ICL的方法,如SG-ICL和EPR。这些工作表明,ICL允许LLMs根据输入上下文来调整其回答,而不是生成通用的回答。

另一种可以增强LLMs推理能力的技术是思维链(CoT)。该方法通过在提示中提供多个示例来描述思维链,引导模型的推理过程。CoT的一个扩展是自一致性的概念,它通过在答案上实施多数表决机制来操作。目前的研究继续深入探索在LLMs中应用CoT的方法,如STaR、THOR和Tab-CoT。通过提供一组提示来引导模型的思维过程,CoT使模型能够更有效地推理并提供更准确的回答。有了上述强大的能力,LLMs在化学、教育和金融等各个领域展现出了巨大的潜力。这些模型,如ChatGPT,也在提升RecSys的功能和用户体验方面发挥了重要作用。

LLMs在RecSys中的一个关键应用是预测用户对物品的评分。这通过分析历史用户交互和偏好来实现,从而提高了推荐的准确性。LLMs还被用于顺序推荐,该方法分析用户交互的序列以预测他们的下一个偏好,例如TALLRec、M6-Rec、PALR和P5。此外,LLMs,特别是ChatGPT,已被用于生成可解释的推荐。其中一个例子是Chat-Rec,它利用ChatGPT提供清晰易懂的推理,从而增强了信任和用户参与度。

此外,LLMs的互动和对话能力已被用于创建更动态的推荐体验。例如,UniCRS开发了一个基于预训练语言模型的知识增强提示学习框架,以满足会话和推荐子任务。UniMIND提出了一个统一的多任务学习框架,通过在会话式推荐系统中使用提示学习策略。

3、基于LLM的推荐系统的深度表示学习

在推荐系统中,用户和物品是原子单位。为了表示推荐系统中的物品和用户,一种直接的方法是为每个物品或用户分配一个唯一的索引(即离散ID)。为了捕捉用户对物品的偏好,提出了基于ID的推荐系统,从用户-物品交互中学习用户和物品的表示。此外,由于有关用户和物品的文本信息提供了丰富的知识来理解用户的兴趣,已经开发了增强了文本侧信息的推荐方法,用于为推荐系统进行端到端的表示学习。在本节中,我们将介绍这两类利用语言模型在推荐系统中的应用。这两种推荐系统的示意图如图2所示。

3.1 基于ID的推荐系统

推荐系统通常用于影响用户从一系列候选项中做出决策的行为。这些用户行为(如点击、喜欢和订阅)通常被表示为user-item交互,其中用户和物品被表示为离散的ID。现代推荐方法提出通过学习每个ID表示的嵌入向量来建模这些行为。通常,在基于LLM的推荐系统中,一个item或一个user可以用“[前缀] [ID]”的格式表示为一个短语,其中前缀表示其类型(即物品或用户),ID编号有助于识别其唯一性。

作为LLM方法的早期探索,提出了一个统一的范式P5,以便将各种推荐数据格式,如user-item交互、用户个人资料、item描述和用户评论,通过将user和item映射到索引中,转化成自然语言序列。注意,预训练的T5结构用于通过个性化提示训练P5。同时,P5将普通索引短语与一对尖括号相结合,将这些索引视为LLM词汇表中的特殊记号(例如“<item 6637>”),避免将短语分词为单独的标记。基于P5,在索引方法的方向,提出了四种直接但有效的索引解决方案:顺序索引、协同索引、语义(基于内容)索引和混合索引。与P5随机分配数字ID给每个user或item不同,提出了语义ID,即每个user或item具有具有语义含义的编码词元组,用作唯一标识符,每个标识符都带有特定user或item的语义含义[66]。同时,为了生成这些编码词,还提出了一种称为RQ-VAE的分层方法,利用语义ID,将推荐数据格式有效地转化为基于转换器的模型的自然语言序列。

3.2 文本辅助信息增强的推荐系统

尽管基于ID的方法取得了一定的成功,但存在固有的局限性。这是由于用户和物品的纯ID索引本质上是离散的,无法提供足够的语义信息来捕捉user和item的表示,尤其是在user-item交互数据非常稀疏时,很难基于索引表示进行相关性计算。同时,ID索引通常需要修改LLM的词汇表和参数,增加计算成本。为了解决这些局限性,一个有希望的替代解决方案是利用user和item的文本辅助信息,包括user个人资料、item的用户评论和item标题或描述。具体而言,给定一个item或user的文本辅助信息,如BERT这样的语言模型可以作为文本编码器,将item或user映射到语义空间,从而能够更加细致地分组相似的物品或用户,并了解它们在更细粒度上的差异。

一般来说,在推荐任务中,开发和部署LLMs有三种关键方式,即预训练、微调和提示。该部分首先介绍预训练和微调的模式,分别在图3和图4中显示。具体而言,我们将重点关注在用于推荐系统的LLMs中应用的特定预训练任务以及在下游推荐任务中提高性能的微调策略。需要注意的是,下面提到的工作总结在表1和表2中。

4、推荐系统的预训练和微调模式

4.1 推荐系统的预训练模式

预训练是开发LLMs的重要步骤,它涉及对LLMs进行大量无标签数据的预训练。这种策略使得LLMs能够全面理解各种语言的方面,包括语法、句法、语义,甚至常识推理。通过预训练,LLMs可以学会识别和生成连贯且上下文恰当的响应。一般来说,对于自然语言领域的LLMs,有两种主要的预训练方法,取决于采用的模型结构。一种方法是用于仅编码器或编码器-解码器Transformer结构的掩码语言建模(MLM),它随机屏蔽序列中的标记或跨度,并要求LLMs根据剩余的上下文生成被屏蔽的标记或跨度。另一种方法是用于仅解码器Transformer结构的下一个标记预测(NTP),它要求根据给定的上下文预测下一个标记。

在推荐系统的上下文中,现有工作大多遵循这两种经典的预训练策略。接下来,我们将介绍代表性的方法。PTUM提出了两个类似的预训练任务,即掩码行为预测(MBP)和下一个K行为预测(NBP),用于建模推荐系统中的用户行为。与语言标记不同,用户行为更加多样,因此更难预测。在这种情况下,PTUM只屏蔽一个单独的用户行为,目标是基于目标用户的交互序列中的其他行为来预测被屏蔽的行为。另一方面,NBP模型了过去和未来行为之间的相关性,这对于用户建模至关重要。NBP的目标是根据用户与物品的交互历史来预测下一个k个行为。

M6也采用了两个受经典预训练任务启发的预训练目标,即文本填充目标和自回归语言生成目标,分别对应上述两个预训练任务。具体而言,文本填充目标展现了BART的预训练任务,它随机屏蔽文本序列中的一段,并预测被屏蔽的跨度作为预训练目标,提供了评估推荐评分任务中文本或事件可信度的能力。同时,自回归语言生成目标遵循自然语言预训练中的下一个标记预测任务,但略有不同,它基于屏蔽序列预测未屏蔽的句子。

此外,P5采用了多掩码建模方法,并混合了各种推荐任务的数据集进行预训练。在这种情况下,它可以用于各种推荐任务,甚至是零样本生成的未知任务。在不同的推荐任务中,P5采用了一种统一的索引方法,用于表示语言序列中的用户和物品,以便可以应用掩码语言建模任务。

4.2 推荐系统的微调范式

微调是将预训练的语言模型应用于特定下游任务的关键步骤。特别是对于推荐任务来说,语言模型需要进行微调来掌握更多的领域知识。特别地,微调范式涉及根据任务特定数据(参数高效微调)微调预训练的模型,并使用微调后的模型进行下游任务。

图4是LLM的两种主要微调方法的示意图:全模型微调(左侧)涉及更改整个模型的权重,参数高效微调(右侧)涉及微调模型的一小部分权重或几个额外的可训练权重,同时固定大部分LLM的参数。在微调过程中,LLM在相对较小数量的任务特定数据集上进行训练(与用于预训练的数据集相比较)。

表2列出了应用在LLM强化的推荐系统中使用的微调方法。

推荐数据集包括user-item交互行为(例如购买、点击、评分)和关于user和item的额外知识(例如用户的社交关系和物品的描述)。这个过程使得模型能够专门化其知识和参数,以提高推荐领域的性能。一般来说,微调策略可以根据改变的模型权重的比例来分为两类。一种是全模型微调,即在微调过程中更改整个模型的权重。考虑到计算成本,另一种是参数高效微调,旨在仅改变一小部分权重或开发可训练的适配器以适应特定任务。

4.2.1 全模型微调

作为将预训练的LLM直接应用于特定推荐任务的直接策略,全模型微调涉及更改整个模型的权重。例如,RecLLM提出了将LaMDA作为对话推荐系统(CRS)对YouTube视频推荐进行微调的方法。同时,GIRL利用一种监督微调策略来指导LLM在工作推荐方面的应用。然而,直接微调LLM可能会对推荐系统带来无意识偏见,基于敏感属性如性别、种族和职业,对特定群体或个体造成严重伤害。为了减轻这种有害影响,开发了一种简单的由LLM驱动的推荐系统(LMRec),通过训练侧masking和测试侧中和非偏好实体,从而实现了令人满意的结果并基本不降低性能。TransRec以端到端的方式研究了预训练的推荐系统,通过直接从组合模态项目(即文本和图像)的原始特征中进行学习。在这种情况下,无需依赖重叠的用户或物品,TransRec可以有效地迁移到不同的场景中。

对比学习也成为推荐系统中微调LLM的流行方法之一。在这个方向上提出了几种方法。SBERT提出了一个三元损失函数,其中一个意图句子与锚点配对,并且在电子商务领域使用对应的产品作为正面和负面示例。此外,UniTRec提出了一个统一框架,将鉴别匹配得分和候选文本困惑度结合起来作为对比目标,以改善基于文本的推荐。

4.2.2 参数高效微调

整个模型的微调需要大量的计算资源,因为LLM的大小会不断增加。目前,单个消费级GPU无法对最先进的LLM进行微调,这些LLM通常具有超过100亿个参数。在这种情况下,参数高效微调(PEFT)致力于以更低的计算资源要求高效地微调LLM。PEFT包括微调模型中的一小部分参数或少量额外的可训练参数,同时将LLM中的大多数参数固定,以实现与完全模型微调相当的性能。

目前,最流行的PEFT方法是通过引入额外的可训练参数作为适配器来实现的。适配器结构是为嵌入到LLM的Transformer结构中而设计的。对于每个Transformer层,适配器模块被添加两次:第一个模块在多头注意力之后的投影之后添加,另一个模块在两个前馈层之后添加。在微调过程中,预训练LLM的原始参数保持不变,而适配器和层归一化层被微调以适应下游任务。适配器有助于LLM的扩展和泛化,缓解了完全模型微调和灾难性遗忘的问题。受适配器的思想和LLM中权重矩阵的低内在秩的启发,LLMs的低秩适应(LoRA)引入了低秩分解来模拟参数的变化。基本上,LoRA在LLM的原始结构中为处理矩阵乘法的特定模块添加了一条新路径。在这条路径中,两个连续的矩阵首先将维度降低到预定义的中间层维度,然后再增加维度。在这种情况下,中间层的维度可以模拟内在秩。

在推荐系统中,PEFT可以大大降低微调LLM以进行推荐任务的计算成本,这需要较少的更新,并保持了大部分模型功能。TallRec在LLaMA-7B模型上引入了一种高效有效的微调框架和LoRA,用于将LLM与推荐任务对齐,可以在单个RTX 3090上执行。GLRec也利用LoRA进行微调和适应LLM,作为职位推荐器。此外,M6也应用了LoRA微调,使得在手机设备上部署LLM成为可能。
除了预训练和微调范式之外,提示作为一种最新的范式,通过使用针对特定任务的提示,来使得LLM适应于特定的下游任务。提示是一个可以应用于LLM输入的文本模板。例如,一个提示“The relation between _ and _ is _”可以设计为部署LLM进行关系抽取任务。提示使LLM能够将不同的下游任务统一为语言生成任务,在预训练期间对其目标进行对齐。

为了提升推荐系统中的LLMs的性能,越来越多的研究探索了诸如上下文学习(ICL)和思维链(CoT)等提升技术,以手动设计适用于各种推荐任务的提示。此外,提示调整作为一种提示的附加技术,通过向LLMs添加提示标记,然后根据特定任务的推荐数据集更新它们。最近,还探索了将预训练和微调范式与提示相结合的指导调整,以通过基于指令的提示对多个推荐任务进行微调,这提高了LLMs在未见推荐任务上的零样本性能。图5比较了与上述三种LLMs提示技术相对应的代表性方法。

图5:提示LLMs的三种代表性方法的说明:上下文学习(顶部)不需要LLMs的参数更新,提示调整(中部)在LLMs的输入层添加新的提示标记,并在最小参数更新中对提示进行优化,指导调整(底部)通过多个任务特定的提示(也称为指令)对LLMs进行微调。

5、推荐系统的PROMPTING LLMS

5.1 提示

提示的关键思想是保持LLMs冻结(即没有参数更新),通过特定任务的提示使LLMs适应下游任务。为了使LLMs适应下游任务而发展的提示策略,早期传统的提示方法主要是针对将下游任务统一到语言生成方式,如文本摘要、关系抽取和情感分析。之后,ICL 作为一种强大的提示策略出现,它使LLMs能够根据上下文信息学习新任务(即具有知识需求的任务)。此外,另一种最新的提示策略称为CoT,它作为一种特别有效的方法,使LLMs可以通过复杂推理来处理下游任务。

5.1.1 传统提示

有两种主要方法可以提示预训练语言模型以提高特定下游任务的性能。一种方法是提示工程,它通过模拟语言模型在预训练过程中遇到的文本(例如自然语言处理任务中的文本)生成提示。这使得预训练语言模型可以将具有未知目标的下游任务统一为具有已知目标的语言生成任务。另一种方法是少样本提示,其中为了指导预训练语言模型生成特定下游任务的期望输出,提供了一些输入-输出示例(即少量样本)。

由于语言生成任务(即LLMs的预训练目标)与下游推荐任务之间存在巨大差距,这些传统的提示方法在与语言生成任务类似性质的特定推荐任务上只显示了有限的应用,比如用户的评论总结和物品间的关系标注。

5.1.2 上下文学习(ICL)

随着GPT-3的引入,ICL被提出作为一种先进的提示策略,大大提升了LLMs在适应许多下游任务上的性能。ICL在提示LLMs适应下游任务方面的成功归因于两个设计:提示和上下文演示。换句话说,ICL的关键创新在于通过推理阶段的上下文唤起LLMs的上下文学习能力,用于学习(新的或未见的)下游任务。特别是,ICL提出的两个设置在提示LLMs用于推荐系统方面得到广泛利用。一种是少样本设置,在该设置中,提供了一些具有特定下游任务上下文和所需完成的演示以及提示。另一种是零样本设置,在此设置中,LLMs不会得到任何演示,而只会得到特定下游任务的自然语言描述,附加到提示中。如图6所示,分别提供了用于推荐任务的少样本ICL和零样本ICL的两个简洁模板。

通过少样本ICL提示LLMs进行推荐系统。

在向LLMs教授如何作为推荐系统执行的场景推荐方面,一个直接的方法是教导LLMs如何充当RecSys。除了直接教导LLMs作为RecSys行动外,少样本ICL还用于指导LLMs调用传统的RecSys或外部领域工具进行推荐。例如,Chat-Rec框架,通过少样本ICL连接ChatGPT和传统RecSys,ChatGPT学习从传统RecSys接收候选项,然后优化最终的推荐结果。

许多现有工作同时考虑了少样本ICL和零样本ICL的设置,以比较它们在相同推荐任务下的性能。通常,由于提供了额外的上下文演示,少样本ICL能够胜过零样本ICL的性能。尽管性能有所降低,但零样本ICL完全消除了形成上下文演示所需的任务特定推荐数据集的要求,适用于某些任务,如会话型推荐,用户不太可能向LLMs提供任何演示。

5.1.3 思维链提示(COT)

虽然ICL已经显示出在向LLMs提示下游任务方面的很强效果,但最近的研究表明,LLMs在重理性任务中仍然具有有限的性能。更具体地说,通过使用上下文示例的输入输出对LLMs进行提示,LLMs直接生成的答案往往在多步问题中缺少一个或几个中间推理步骤,导致推理逻辑出现错误并在后续推理步骤中出现错误(即“缺失一步错误”)。类似的多步问题也存在于推荐系统中,例如在会话式推荐中基于多轮对话推理用户喜好的多步推理。为了解决这种限制,CoT提供了一种特殊的提示策略,以增强LLMs的推理能力,通过注释中间推理步骤来提示。这使得LLMs能够将复杂的决策过程分解为步骤,并通过逐步推理生成最终输出。考虑到适合将LLMs适应于复杂推理的各种下游任务的合适提示策略,ICL和CoT提示的结合:少样本CoT和零样本CoT。

  • zero-shot CoT。通过插入如“让我们逐步思考”和“因此,答案是”等棘手的文本来提示,零-shot CoT引导LLL独立生成特定任务的推理步骤,而无需提供任何任务相关的指令或基准示例。
  • few-shot CoT。为ICL中的每个演示手动设计任务特定的推理步骤,在原始的输入-输出示例中增加了输入CoT输出方式。此外,CoT还可以增加ICL演示中任务描述,通过添加基于任务特定知识的推理步骤的可解释描述。

在实践中,适当的CoT推理步骤的设计高度依赖于特定推荐任务的上下文和目标。例如,提出了一个简单的CoT模板“请推断用户的偏好并推荐合适的物品。”来指导LLL首先推断用户的显式偏好,然后生成最终的推荐。到目前为止,仍然缺乏研究来解决用于推荐任务的CoT提示的一般格式。接下来,我们通过以下电子商务推荐背景下的例子,提出了CoT提示的初步想法。

[CoT提示]根据用户的购买历史,让我们逐步思考。首先,请推断用户的高级购物意图。其次,通常与购买的物品一起购买的物品是哪些?最后,请根据购物意图选择最相关的物品并推荐给用户。

尽管在RecSys领域对CoT提示的研究数量有限,最近的研究揭示了采用CoT提示来促进LLL的图推理能力(尤其是T5模型)的极高效性,其中将推理步骤建模为节点,并将推理路径连接为边而不是顺序链。我们相信类似的思想可以潜在地转移到RecSys的CoT提示,并对此做出贡献,因为推荐任务可以被视为图学习中链接预测问题的特例。

5.2 提示调优

与之相反,手动提示LLM用于下游任务(例如,手动生成自然语言下游任务特定的提示),提示调优作为提示的一种附加技术,向LLL添加新的提示标记,并根据任务特定的数据集对提示进行优化。通常,提示调优需要的专业知识和人力工作比手动设计面向特定任务的提示要少,并且只涉及可调整提示和LLL输入层的最小参数更新。例如,AutoPrompt[107]的步骤是将提示分解为一组词汇标记,并通过基于梯度的搜索找到适合任务的词汇标记来传递给语言模型。根据定义,提示可以是离散(即硬提示)或连续(即软提示),以引导LLL生成期望的输出。因此,我们将LLL 的提示调优策略分为硬提示调优和软提示调优。

5.2.1 硬提示调优

硬提示调优是为LLM生成和更新离散的文本模板提示(例如,自然语言),以提示LLM对特定的下游任务。尽管生成或完善用于下游推荐任务的自然语言提示的有效性和方便性,硬提示调优不可避免地面临离散优化的挑战,这要求通过频繁的试错来发现广阔的词汇空间,以找到适合特定推荐任务的提示。

5.2.2 软提示调优

与离散提示不同,软提示调优使用连续向量作为提示(例如,文字嵌入),并基于任务特定的数据集进行提示调优,例如使用梯度方法根据推荐损失更新提示。在LLM中,软提示令牌通常会在输入层(例如,分词器)将软提示与原始输入令牌连接起来。在软提示调优过程中,只有LLM的输入层的软提示和极少量的参数会被更新。

为了提高LLM的推荐性能,一些现有作品将特征提取和表示学习方法与软提示结合起来,以更好地捕捉和嵌入RecSys中特定任务的信息。除了直接将任务特定信息嵌入软提示外,软提示还可以基于任务特定的数据集进行学习。例如,随机初始化的软提示被采用来指导T5产生期望的推荐结果,其中软提示在T5输出的推荐损失基础上以端到端的方式进行优化。与硬提示相比,软提示在连续空间上的调优更加可行,但牺牲了可解释性。换句话说,与自然语言(如“你的任务是推荐...”)中的具体任务硬提示相比,连续向量中写入的软提示与具体下游任务之间的关系对人类来说不可解释。

5.3 指示调优

尽管使用提示方法在未见的下游任务上展现了杰出的少样本性能,但最近的研究表明,提示策略在零样本能力上较差。为了解决这些限制,提出了指示调优的方法,以对多个任务特定提示进行微调。换句话说,指示调优具备提示和预训练与微调范式的特点。这有助于LLM准确遵循各种下游任务的指示作为说明,从而提高LLM在未见任务上的零样本性能。指示调优的关键观点是训练LLM以遵循任务提示,而不是解决特定的下游任务。

具体而言,指示调优可以分为两个阶段:“指示”(即提示)生成和模型“调优”,因为指示调优的基本思想是提示和微调LLM的结合。- 指示(提示)生成阶段。形式上,指示调优引入了一种基于自然语言的指示格式,由任务导向的输入(即基于任务特定数据集的任务描述)和期望的目标(即基于任务特定数据集的对应输出)对组成。

- 模型调优阶段。第二阶段是对多个上述下游任务的LLM进行微调,我们根据LLM的调优方式将已有的RecSys作品分为完整模型调优和参数高效模型调优两类,因为在这个阶段基本上采用了相同的LLM微调原则。

除了在推荐系统中的文本数据外,最近还探索了指令调整来增强LLM对推荐任务的图理解能力。具体而言,吴等人提出了一种基于LLM的提示构造器,用于将行为图中节点(例如候选物品)和边(例如物品之间的关系)的路径编码为自然语言描述,并用于根据特定任务的数据集指令调优基于LLM的推荐器。

6、未来方向

6.1 幻觉缓解

虽然LLM在各个领域都得到了应用,但其面临的一个重大挑战是“幻觉”现象,即语言模型生成的输出听起来似乎合理,但实际上是错误的或者在输入数据中无法引用。例如,考虑一个情景,你正在寻找今天的新闻事件,LLM错误地推荐/生成了实际上并不存在的新闻。这个问题的原因是多种多样的,比如数据集中存在的来源-引用分歧,以及神经网络模型的训练和建模选择。此外,幻觉问题对用户和社会造成严重威胁,尤其是在高风险的推荐场景下,如医疗推荐或法律咨询,错误信息的传播可能导致严重的现实后果。为了解决这些问题,使用事实知识图作为LLM在推荐系统中训练和推理阶段的辅助事实知识,有望缓解幻觉问题。此外,可以对模型的输出阶段进行审查,验证所产生内容的准确性和真实性。

6.2 可信的大型语言模型用于推荐系统

LLM在推荐系统中的发展为人类带来了巨大的好处,包括经济价值创造、时间和精力节省以及社会效益。然而,这些基于数据驱动的LLM推荐系统也可能对用户和社会造成严重威胁,因为其决策不可靠,对不同的消费者或生产者不平等对待,缺乏透明性和可解释性,并且由于广泛使用个人数据进行定制化而引发隐私问题,等等。因此,人们对LLM在推荐系统中的可信性问题越来越关注,以减轻其负面影响并增强公众对基于LLM的推荐系统技术的信任。因此,从安全与稳健性、非歧视与公平性、可解释性和隐私保护等四个最关键的维度实现LLM在推荐系统中的可信性是期望的。

6.2.1 安全与稳健性

LLM已被证明在各个方面提升推荐系统的效果,但它们对于故意扰动(即输入的微小变化)非常脆弱,这可能会损害其在安全关键应用中的安全性和稳健性。这种对噪声输入的脆弱性常常是出于恶意目的,比如为了获得非法利润和操纵特定产品的市场。因此,确保LLM在推荐系统中的输出在LLM输入的微小变化下稳定是至关重要的。为了增强模型的安全性和稳健性,在GPT-4中集成了与安全相关的提示,通过从人类反馈中进行强化学习。但是,RLHF方法需要大量的专家进行手动标注,这在实践中可能并不可行。另一种解决方案可能涉及预处理设计用于推荐任务的提示,然后将其输入到LLM中。这可能包括恶意提示的预处理或标准化具有相似目的的提示,从而潜在地提高安全性和稳健性。此外,作为代表性技术之一,对抗性训练可用于改善基于LLM的推荐系统的稳健性。

6.2.2 非歧视与公平

LLM在庞大的数据集上训练时,往往会无意中学习并弘扬人类数据中的偏见和刻板印象,这些偏见和刻板印象在推荐结果中会显现出来。这种现象可能导致一系列不利的结果,从传播刻板印象到对某些用户群体的不公平对待。例如,在推荐系统的背景下,这些偏见可能表现为具有歧视性的推荐,即基于学习到的偏见而不公平地推广或降低某些物品的地位。最近的一些研究,如FaiRLLM和UP5,探讨了由LLM带来的推荐系统中的公平问题,但仅关注用户端和物品生成任务。同时,Hou等人通过指导LLM以将推荐任务形式化为条件排名任务来改善物品端的公平性。然而,对于LLM在推荐系统中的非歧视和公平性的研究仍处于初步阶段,需要进一步的研究。

6.2.3 可解释性

由于隐私和安全考虑,某些公司和组织选择不公开其先进的语言模型(LLM),如ChatGPT和GPT-4,这意味着这些用于推荐系统的LLM的架构和参数对公众来说并不是公开可用的,因此公众无法理解它们的复杂内部工作机制。因此,LLM用于推荐系统可以被视为“黑匣子”,使用户难以理解为什么会产生特定的输出或推荐。

6.2.4 隐私

隐私是涉及LLM用于推荐系统时的一个重要关注点。其原因有多方面。一方面,LLM用于推荐系统的成功程度高度依赖于从各种来源(如社交媒体和图书)收集的大量数据。用户的敏感信息(如电子邮件和性别)可能会用于训练现代LLM,以提高预测性能并提供个性化体验,从而导致泄漏用户的私人信息的风险。另一方面,这些系统常常处理敏感的用户数据,包括个人偏好、在线行为和其他可以识别的信息。如果没有妥善保护,这些数据可能会被滥用,导致隐私泄漏。因此,确保这些数据的隐私和安全至关重要。

6.3 用于推荐系统的垂直领域特定LLM

通用LLM,如ChatGPT,其强大的生成和推理功能使其成为各种领域的通用工具。垂直领域特定LLM是针对特定领域或行业进行训练和优化的LLM,例如健康和金融。与推荐系统的通用LLM相比,垂直领域特定LLM赋予了推荐系统更专注于特定领域知识和技能的能力,并具有更高的领域专业知识和实用性。用户可以专注于与他们的工作或个性化偏好直接相关的内容,而不必筛选无关的信息。通过提供定制的推荐,垂直领域特定LLM可以节省专业人士大量的时间。最近的研究作品提出了涵盖医疗、法律和金融等各种领域的垂直领域特定LLM。由于经过特定领域的训练,这些垂直领域特定LLM可以更好地理解和处理特定领域的知识、术语和上下文。然而,为训练这些模型需要大量的领域特定数据,这对数据收集和注释提出了重大挑战。因此,在开发用于推荐系统的垂直领域特定LLM时,构建高质量的领域数据集并使用适当的调优策略是必要的步骤。

6.4 用户和物品索引

最近的研究表明,LLM在处理推荐系统中的长文本时可能表现不佳,因为在长文本中有效捕捉用户-物品互动信息可能很困难。另一方面,在推荐系统中,包含有唯一身份的用户-物品交互(如点击、喜欢和订阅)包含丰富的协同知识,并对理解和预测用户偏好做出重要贡献,其中既包括明确的行为,如评分和评论,也包括隐含的行为,如浏览历史或购买数据。包括InstructRec、PALR、GPT4Rec和UP5在内的几项研究尝试利用用户-物品历史交互信息作为输入到LLM(如ChatGPT)中的文本提示,以进行推荐。为了解决长文本问题,一种可能的解决方案是通过将用户和物品索引进行学习,将协同知识纳入其中。因此,不仅仅使用文本格式来表示用户和物品,而是需要先进的方法来索引用户和物品,以构建基于LLM的推荐系统。

6.5 微调效率

在将语言模型自然语言处理(LLMs)应用于推荐系统(RecSys)时,微调是指将预训练的LLM适应到特定的任务或领域,比如推荐电影或书籍。这个过程使得模型能够利用在预训练过程中学习到的一般语言理解能力,并将其专门化到当前任务。然而,微调可能计算成本很高,特别是对于在推荐系统中使用非常大模型和大数据集的情况。因此,提高微调的效率是一个关键挑战。

6.6 数据增强

推荐系统领域中的大多数传统研究依赖于通过用户在数字平台上的交互或通过招募标注员收集用户行为数据的真实数据驱动研究。然而,这些方法似乎资源密集且在长期内可能不可持续。输入数据的质量和多样性直接影响模型的性能和多功能性。为了克服真实数据为中心研究的局限性,引入基于LLMs的推荐系统模拟范例RecAgent,其中包括用于在社交媒体上浏览和通信的用户模块,以及用于提供搜索或推荐列表的推荐模块。此外,LLM-Rec通过四种启示策略,改进了个性化内容推荐,实验证明多种提示和输入增强技术可以提高推荐性能。因此,与其仅仅将LLMs应用于推荐系统,利用它们进行数据增强以强化推荐在未来成为一种有前途的策略。

作为最先进的人工智能技术之一,由于其在语言理解和生成、强大的泛化和推理能力以及对新任务和多领域的迅速适应能力,LLMs在分子发现和金融等各种应用中取得了巨大的成功。类似地,人们也在不断努力运用LLMs来改革推荐系统,以提供高质量和个性化的建议服务。鉴于LLMs在推荐系统中的研究课题的快速发展,迫切需要一个系统性的概述来全面总结现有的LLM增强推荐系统。为了填补这个空白,在本调研中,我们提供了LLM增强RecSys从预训练和微调,以及启示范式的全面概述,以便为相关领域的研究人员和从业者提供深入的理解。然而,目前关于RecSys的LLM研究仍处于早期阶段,需要进行更系统和全面的LLMs在该领域的研究。因此,我们也讨论了这个领域的一些潜在的未来方向。

7、结论 

作为人工智能领域的尖端技术之一,大型语言模型(LLMs)已经在包括分子发现和金融服务等多个领域取得了显著成就。这些成就得益于它们在语言理解、文本生成、泛化能力和逻辑推理方面的显著优势,以及它们能够迅速适应新任务和多样化领域的能力。为了提供更优质、更个性化的推荐服务,人们正不断尝试将LLMs应用于推荐系统的创新。由于推荐系统领域的研究正迅速发展,目前迫切需要一份全面的综述,以便系统地总结利用LLMs增强的推荐系统的研究现状。为了满足这一需求,我们在本次调查中全面回顾了基于LLMs的推荐系统,涵盖了模型的预训练、微调以及提示技术,旨在为相关领域的研究人员和从业者提供深入的知识和见解。尽管如此,推荐系统中LLMs的应用研究仍处于初级阶段,需要更系统、更深入的研究。因此,我们也探讨了这一领域未来可能的发展趋势。

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

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

相关文章

【Redis 知识储备】读写分离/主从分离架构 -- 分布系统的演进(4)

读写分离/主从分离架构 简介出现原因架构工作原理技术案例架构优缺点 简介 将数据库读写操作分散到不同的节点上, 数据库服务器搭建主从集群, 一主一从, 一主多从都可以, 数据库主机负责写操作, 从机只负责读操作 出现原因 数据库成为瓶颈, 而互联网应用一般读多写少, 数据库…

数仓开发之Flume《一》:Flume的概述及安装

目录 1. &#x1f959;Flume概述 1.1 Flume简介 1.2 Flume的架构 1. &#x1f9c0;agent介绍 2. ​Agent 主要有 3 个部分组成&#xff0c;Source、Channel、Sink。 &#x1f957;2.1 Source &#x1f957;2.2 Sink &#x1f957;2.3 Channel 3. &#x1f9c0;Flume 自…

milvus search api的数据结构

search api的数据结构 此api的功能是向量相似度搜索(vector similarity search) 一个完整的search例子: 服务端collection是一个hnsw类型的索引。 import random from pymilvus import (connections,Collection, )dim 128if __name__ __main__:connections.connect(alias…

zdpdjango_argonadmin使用Django开发一个美观的后台管理系统

初始代码 安装依赖 pip install -r requirements.txt生成管理员账户 迁移模型&#xff1a; python manage.py makemigrations python manage.py migrate创建超级用户&#xff1a; python manage.py createsuperuser启动服务 python manage.py runserver浏览器访问&#xf…

es6新增set、map两种数据结构(超级详细-附加代码)

文章目录 一、Set增删改查add()delete()has()clear()遍历 二、Map增删改查sizeset()get()has()delete()clear()遍历 三、WeakSet 和 WeakMapWeakSetWeakMap 参考文献 如果要用一句来描述&#xff0c;我们可以说 Set是一种叫做集合的数据结构&#xff0c;Map是一种叫做字典的数…

wheeltec轮趣ROS教育机器人的网络连接

一、术语解析 宿主机&#xff1a;宿主机是指物理主机&#xff0c;比如用于开发测试的笔记本电脑和台式机电脑。 虚拟机&#xff1a;虚拟机是指安装在宿主机的VMware&#xff0c;推荐在宿主机上安装虚拟机&#xff0c;官方提供虚拟机的镜像以及配套的开发环境。 ROS主机&…

内容创作策略:打造影响力强大的技术博客

CSDN的朋友你们好&#xff0c;我是未来&#xff0c;今天给大家带来专栏【程序员博主教程&#xff08;完全指南&#xff09;】的第6篇文章——“博客内容创作策略”。本文为技术博主提供了一个精简的内容创作策略指南&#xff0c;涵盖了设定目标、分析竞争、关键词研究、内容规划…

Vue中的键盘事件

目 录 1. 概述 2. JavaScript 键盘事件 2.1 键盘事件类型 2.1.1 keydown 事件2.1.2 keypress 事件2.1.3 keyup 事件2.1.4 input 事件 2.2 键盘事件的响应顺序 3. Vue 键盘事件监听与处理 3.1 获取按键的 键码&#xff08;keyCode&#xff09;3.2 监听按键事件 4. Vue 按键…

基于单片机交流电参数测试仪系统设计

**单片机设计介绍&#xff0c;基于单片机交流电参数测试仪系统设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 &emsp&#xff1b;基于单片机交流电参数测试仪系统设计的概要主要涵盖了系统的整体架构、功能实现、硬件组成以及软件…

【Kaggle】练习赛《鲍鱼年龄预测》(下)

前言 上一篇讲解《鲍鱼年龄预测》的数据分析和可视化一些操作&#xff0c;对不同的四个模型产生了Baseline。本文在这个基础上做优化。 【Kaggle】练习赛《鲍鱼年龄预测》(上) 加载库 (略)以参考上篇 加载数据 # 加载所有数据 train pd.read_csv(os.path.join(FILE_PATH,…

嵌入式Linux驱动开发——汇编点灯

嵌入式Linux驱动开发——汇编点灯 本文章开始记录学习嵌入式Linux的过程&#xff0c;使用的开发板是正点原子的阿尔法&#xff0c;以及左老师的书籍和视频。然后这个系列不会介绍基础知识&#xff08;书上都有&#xff09;&#xff0c;主要是记录思考过程以及需要注意的点。 代…

【C++】继承总结

一、前言 我们众所周知的C三大特性分别为&#xff1a;封装、继承、多态。 封装就是将接口实现统一化&#xff0c;隐藏那些不同的地方&#xff0c;在上层函数调用体现的方式一样&#xff0c;如各种容器的迭代器iterator&#xff0c;尽管底层实现的方式不同&#xff0c;但是在使用…