本文范式取自参考文献[3],内容贴近工业界推荐系统。在遵循其分类范式基础上,补充了一些学术届和工业界的相关工作.

1. 相关背景

1.1. 现代推荐系统架构

推荐系统的核心任务就是在给定一个用户$u \in \mathbb{U}$和上下文$C$的情况下,推荐一批排好序的items:$[i_k]^N_{k=1}$,$\mathcal{i}k \in \mathscr{I}$即:

$$ \bigl[i_k\bigr]_{k=1}^N \leftarrow \mathbf{RS}(u, c, \mathscr{I}),\; u \in \mathcal{U},\; i_k \in \mathscr{I} $$

上下文是个比较重要的变量,比如同一用户在首猜和在LazFlash推荐的结果差异很大。

推荐系统大致可分为数据收集、特征工程、特征编码、打分/排序、用户交互和流程控制器几个环节。除了数据收集外,其他环节大模型都可以参与其中。

img

1.2. 分类范式

LLM在推荐系统的应用可以从两个视角来看:WhereHow。Where是指LLM在推荐系统哪个环节应用,How是指LLM在推荐系统的应用方式(训练和推理)。CRM表示Conventional Recommendation Model。

img

2. Where to adapt LLM

2.1. 特征工程

2.1.1. 特征增强

由于具有强大的推理能力和开放世界知识,LLM(大型语言模型)常被视为灵活的知识库。因此,它能够提供辅助特征,以更好地进行用户偏好建模和项目内容理解。CUP 采用 ChatGPT 根据用户评论文本总结每个用户的兴趣,通过关键词压缩用户画像数据,使其可以被小规模语言模型(如 BERT)编码。

2.1.2. 样本生成

除了特征增强,LLM 还用于生成合成样本,丰富训练数据集,提高模型预测质量。Zhang 等人进一步尝试结合多个大型语言模型作为代理,以模拟更真实推荐场景中的细粒度用户交流和交互。

2.1.3. 相关工作

2.1.3.1. MINT

论文:Large Language Model Augmented Narrative Driven Recommendations

MINT表示Data augMentation with INteraction narraTives。

叙事驱动推荐(Narrative-driven recommendation,NDR)是一个信息访问问题,其中用户通过详细描述自己的偏好和情境来请求推荐,例如,旅行者在描述他们的喜好/厌恶和旅行情况时请求推荐景点。随着基于自然语言的对话接口在搜索和推荐系统中的崛起,这些请求变得越来越重要。然而,NDR缺乏丰富的用于模型训练的训练数据,当前的平台通常不支持这些请求。作者利用大模型扩充数据来训练NDR模型。核心思路是利用现有的user-item交互数据,用大模型将用户兴趣总结成陈述性文本。

img

2.1.3.2. TagGPT

论文:TagGPT: Large Language Models are Zero-shot Multimodal Taggers

标签在现代互联网时代的各种应用中(如搜索引擎和推荐系统)对多媒体内容的有效分发起着关键作用。本文提出了TagGPT,一个能够以完全零样本方式进行标签提取和多模态标签化的全自动系统。我们的核心启示是,通过精细的提示工程,LLMs能够根据多模态数据的文本线索(例如OCR, ASR, 标题等)提取和推理出合适的标签。具体来说,为了自动构建一个高质量的标签集,以反映特定应用的用户意图和兴趣,TagGPT通过提示LLMs从一系列的原始数据中预测大规模的候选标签,并通过频率和语义进行筛选。

img

抽取的标签也做了进一步后处理,频率太高的没有区分性,频率太低的没有代表性。另外也对相似度过高的tag进行合并。

下图是抽取结果的一个示例:

img

2.2. 特征编码

利用LLM作为辅助文本特征编码器,从而获得两大主要好处:(1)进一步为后续的神经推荐模型提供丰富的user/item表示,其中包含语义信息;(2)通过自然语言作为桥梁,实现跨领域推荐,在这种情况下,ID特征字段可能不共享。

2.2.1. 表示增强

在一些文本特征丰富的场景(例如item有标题、详细描述等),LLM被用于特征编码器。LLM4ARec利用GPT2从用户画像和评论中提取个性化的方面术语和潜在向量,以更好地辅助推荐。在一些特殊情况下,LLM编码的语义表示不会直接用作后续评分/排序函数的输入。相反,它通过量化被转换为一系列离散的token,以适应需要离散输入的评分/排序函数(例如,生成推荐)。

2.2.2. 统一跨领域推荐

除了改善user/item表示之外,LLM作为特征编码器还可以实现迁移学习和跨领域推荐,自然语言在其中起到了对齐不同领域异构信息的桥梁作用。ZESRec应用BERT将物品描述转换为通用的语义表示,用于零样本推荐。在UniSRec中,物品表示通过一个固定的BERT模型和一个轻量级的MoE增强网络进行学习,以实现跨领域序列推荐。

2.2.3. 相关工作

2.2.3.1. LLM探索Text CF上限

论文:Exploring the Upper Limits of Text-Based Collaborative Filtering Using Large Language Models: Discoveries and Insights

现存TCF系统大都采用参数规模较小的BERT系架构编码item,本文探索利用LLM提升TCF上限。针对下面几个问题有初步结论。

  • Q1:TCF范式达到性能瓶颈了么?

    • 还未看到瓶颈,随着参数规模增大,性能一直在提升。
img
  • Q2:175B的LLM能得到通用表征么?

    • 在推荐任务上fine-tune的LLM性能有明显提升,说明现在的LLM生成的Embedding远不够通用
img
  • Q3:基于175B参数LLM的TCF能轻易替代IDCF么?

    • 175B的TCF在某些场景下和IDCF性能可比,但远谈不上能够替代,尤其是考虑到IDCF的高效性。
img

2.2.3.2. VQ-Rec

论文:Learning Vector-Quantized Item Representation for Transferable Sequential Recommenders

基于IDCF方法的推荐模型可迁移性差,因此出现大量工作研究利用item的文本来表示item,在跨领域迁移时取得了不错的结果。然而item和其文本绑定太紧密可能会造成潜在问题,例如过分强调文本特征而忽略交互特征,两个文本相似的item其表现可能差异很大。因此本文提出VQ技术建模item表示,让其既具备文本特征,又能通过协同过滤更新,减少对推荐系统影响。

VQ-Rec分为三步:

  1. VQ Item表征. 利用PLM对item的文本进行编码得到item embedding,然后通过PQ将item embedding映射为D个code,再给每个code分配一个可学习embedding。item最终由这D个code池化后的向量表示。
  2. 对比学习预训练. 为提高跨领域能力,提高方法通用性,在多领域推荐数据上预训练code emb和Transformer参数,采用对比学习方式训练。为让负样本更有意义,摈弃了batch内随机采样,采用了两种方案构造hard负样本:一是半混合负样本,二是混合领域采样。
  3. 跨领域微调. 由于不同领域文本分布差异较大,因此对item->code映射重新适配,并微调code emb,fix住Transformer参数。
img

2.3. 打分/排序函数

打分/排序的目标一般和推荐系统的最终目标息息相关。根据LLM所解决的不同任务,分为三类:1)item打分任务 2)item生成任务 3)混合任务

2.3.1. item打分任务

在item打分任务中,LLM扮演pointwise打分函数$F(u,i)$。候选商品最终的序由排序分决定:

img

Pre-filter为item预选阶段,主要是为了减小候选集规模,一般包含检索和粗排阶段。

LLM产生token的一般流程如下:

img

其中$\hat{t}$为离散token。但打分任务一般要求打分函数产生有意义的实数,例如CTR任务要求输出分数为$\hat{y} \in [0,1]$,打分预测任务要求$\hat{y} \in [0,5]$。针对这一问题,通常有三种主要解决方法:

第一种方法摈弃LLM解码层,采用单塔结构,直接将隐层$h$映射为分数:

img

输入提示需要包含用户和item信息,以支持基于隐层的偏好估计。E4SRec通过预先学习的用户和物品ID嵌入来构建个性化提示,以实现精确的偏好估计。CER加强了推荐内容与其自然语言解释之间的一致性,以提高评分预测的性能。

第二种方法也摈弃了LLM解码层,采用双塔结构:

img

在这类工作中,一般重点是设计不同的辅助结构以使用LLM增强双侧信息。通过采用编码器-解码器LLM,TASTE首先将每个用户行为编码成一个软提示向量,然后利用解码器从软提示序列中提取用户偏好。

第三种方法保留了LLM解码层,将打分问题转化成二元问题,即给定U和I,U是否喜欢I,基于候选答案概率归一化得到最终分数:

img

2.3.2. item生成任务

在item生成任务中,LLM作为生成函数$F(u)$直接生成最终item排序列表,仅需要一次前向计算。一般而言,item生成任务高度依赖LLM的内在推理能力,其过程可表示为:

img

根据是否提供候选item,其方案可分为两类:1)开放集item生成 2)闭集item生成。

2.3.2.1. 开放集item生成

LLM直接根据user profile和历史行为生成用户偏好的排序item列表。由于在输入提示中并未提供候选item,因此可能会产生幻觉问题,生成的item无法准确匹配item池中的item。因此除了设计输入提示模版和微调算法之外,还需要在item生成后进行匹配后处理操作 ,以克服幻觉问题。这一过程描述如下:

img

其中$\hat{i_k}$是LLM生成的item,$i_k$为item池中真实存在的item,Match为匹配函数。

LANCER采用知识增强的前缀微调来进行生成基础,并进一步应用余弦相似度将生成item文本的编码表示与通用item池进行匹配。Di Palma 等人利用ChatGPT进行用户兴趣建模和下一个item标题生成,并使用Damerau-Levenshtein 距离进行item匹配。

除了以文本方式生成item外,另一研究方向聚焦于将语言空间与基于ID的推荐空间对齐,从而使LLM可以直接生成item ID。例如,Hua 等人探索了更好的item索引方法(如顺序索引、协作索引),以提升此类索引生成任务的性能。LightLM设计了一种轻量级 LLM,结合了精心设计的用户和item索引,并使用约束束搜索进行开放集合item ID 的生成。此外,LLaRA在 LLM 的输入提示中采用了一种新颖的混合方法,将传统推荐系统中的基于 ID 的item嵌入与文本item特征相结合。其他关于开放集合item生成的典型工作包括:GenRec,TransRec,LC-Rec,ControlRec和POD。

2.3.2.2. 闭集item生成

LLM需要根据给定的候选item集合排序。候选item一般由pre-filter挑选得到。受限于LLM上下文窗口长度,候选item数量通常最多设置成20个,一般是重排阶段。过程形式化为:

img

例如,LlamaRec 采用 LRURec作为检索器,并在预筛选的项目上微调 LLaMA2 以进行列表排名。DRDT通过多轮迭代反思对给定候选项目进行排名,以逐步优化排列表。

相比之下,开放集生成任务通常会遭遇生成幻觉问题,即生成的item可能无法与通用item池中的确切item匹配。因此,后续的生成匹配功能是非常必要的,这增加了推理推理成本甚至可能影响最终的推荐性能,尤其是在item文本与大型语言模型的语言分布差异很大的场景中。与此相反,封闭集生成任务使用轻量级检索模型作为预筛选器,提供一组明确的候选item,因此大型语言模型可以缓解幻觉问题。然而,将候选item引入大型语言模型的输入提示中会导致其他问题。首先,由于上下文窗口的限制,大型语言模型无法处理大量的候选item(通常少于20个),最终的推荐性能可能会受到检索模型(即预筛选器)的限制。此外,Ma 等和 Hou 等发现,在提示中打乱候选item的顺序会影响排名结果,导致不稳定的推荐结果。上述封闭集生成任务的问题本质上源于输入提示中存在候选item集,这在开放集生成任务中可以得到很好地解决。总的来说,我们可以观察到,开放集和封闭集生成任务在各自的优缺点上是互补的。因此,在实际应用中选择哪种任务实际上取决于我们在现实场景中遇到的具体情况和问题。

2.3.2.3. 混合任务

在混合任务中,大型语言模型以多任务的方式运作,通过统一的语言接口处理item打分和生成任务。支持这种混合功能的基础是大型语言模型本质上是多任务学习器。例如,P5、M6-Rec和InstructRec通过不同的提示模板调整编码器-解码器模型,以更好地对齐一系列推荐任务,包括项目评分和生成任务。

2.3.3. 相关工作

2.3.3.1. LLMRank

论文:Large Language Models are Zero-Shot Rankers for Recommender Systems

基于用户行为数据的推荐算法有两个问题:一是没有显式理解用户偏好,二是解决复杂推荐问题时,缺乏知识和推理能力。文章研究了使用PLM来推荐的若干问题。

img

流程如下:

  • 序列化用户行为历史. 设计了3中不同的prompt:

    • Sequential prompting. 用原始用户行为顺序.
      • Recency-focused prompting. 强调最近的行为.
      • In-context learning. 引入其他用户的demonstration examples会引入噪声,因此使用当前用户的历史行为构造示例.
  • LLM对候选排序. 将用户历史行为和候选商品放入prompt中,并加上排序instruction.

  • 结果后处理. 当item标题较短时,可以让LLM直接输出标题,否则可以输出标号。采用字符串匹配算法来匹配不能严格对齐的结果。LLM也有较小概率会生成不存在的item,大约3%.

通过实验得到如下结论:

  1. LLM对历史行为顺序不敏感,按照时间顺序和随机打乱效果一样。但可以通过强调最近行为和ICL都能得到改善;
  2. 历史行为增多,LLM性能反而变差。这是因为LLM对历史行为顺序不敏感,较少行为反而能让LLM关注近期的行为;
  3. LLM排序时会考虑item流行度、文本相似度、历史行为等信息;
  4. 当候选集变大时,LLM排序能力也下降。可能和任务变难有关系;
  5. LLM受到Position bias影响,调整候选集顺序效果会有较大差异。可采用bootstrapping方式合并排序结果;
  6. 经过instruction tuning,排序性能更好。

2.3.3.2. TALLRec

论文:TALLRec: An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation

直接利用PLM对候选商品打分可能会遇到以下问题:LLM要么只给出积极的预测(喜欢),要么拒答。即使忽略拒答样本,剩余样本的AUC也只接近0.5,和随机猜类似。因此需要探索新的方法改善。

img

本文采用了Llama-7B模型验证了在few-shot进行微调,其效果比传统模型明显好。

img
img

2.4. 用户交互

在许多实际应用中,推荐系统通常是一个单轮交互过程,系统会随着时间的推移监控用户的行为(如点击和购买),然后在某些预定义的情况下呈现一组量身定制的相关item。这样的单轮交互在复杂场景中缺乏有效和多样化的方法来获取用户兴趣并检测用户当前的情况或需求。为此,大型语言模型的出现提供了一个有前途的替代方案,通过提供更积极和适应性更强的用户交互形式。LLM可以在与用户进行实时互动时,收集更多微妙的自然语言反馈,而不仅仅是被动地依赖用户过去的行为。

一般来说,基于LLM的用户交互在推荐系统中通常表现为多轮对话,这涵盖了对话式推荐系统。在这样的对话过程中,LLM通过整合对话中的上下文和应用广泛的开放世界知识,提供了前所未有的理解用户兴趣和需求的丰富性。LLM可以通过引导用户当前的偏好、为项目建议提供解释或处理用户对建议的反馈来支持推荐系统进行高度相关和量身定制的推荐。换句话说,大型语言模型的引入使得推荐系统在用户交互方面更加可行和用户友好。具体来说,从交互内容的角度来看,基于LLM的用户交互方式可以分为:(1) 任务导向的用户交互,和 (2) 开放式用户交互。

2.5. 流程控制器

LLM具有知识和推理能力,除了参与到推荐的某个环节外,还可以参与系统的流程控制,可能导致更具互动性可解释性的推荐过程。例如Chat-REC利用ChatGPT来连接会话界面和传统推荐系统,其需要推断用户偏好,决定是否调用后端推荐API,并在向用户展示之前进一步修改(例如过滤和重新排序)返回的候选item。这些操作使LLM超越了上节的用户交互角色,并通过某些API调用和工具使用在多阶段推荐流水线中进行控制,以实现会话推荐系统。

2.5.1. 相关工作

2.5.1.1. Chat-REC

论文:Chat-REC: Towards Interactive and Explainable LLMs-Augmented Recommender System

传统推荐系统互动性差、可解释性差,也不能准确推荐新item。核心方法是连接推荐系统和LLM。

img

2.5.1.2. RecLLM

论文:Leveraging Large Language Models in Conversational Recommender Systems

会话推荐系统(CRS)通过允许用户通过实时多轮对话与系统交互,为用户提供了更高的透明度和控制权。最近,大型语言模型(LLMs)展现出了前所未有的自然对话能力,并将世界知识和常识推理融入语言理解中,解锁了这种范式的潜力。然而,在CRS中有效利用LLMs带来了新的技术挑战,包括正确理解和控制复杂的对话以及从外部信息源检索。这些问题因不断演变的大量物品语料库和缺乏对话数据进行训练而加剧。在本文中,提供了利用LLMs构建端到端大规模CRS的路线图。

在推荐环境中特别具有挑战性的是如何在LLM和底层推荐引擎之间进行接口交互。一种方法是让LLM在充当对话代理的同时,也充当推荐引擎。然而,对于大规模推荐应用,物品语料库可能包含数百万或数十亿相互变化的物品,这使得LLM难以在其参数中记住语料库。另一种方法是LLM必须以某种方式连接到外部推荐引擎或数据库,传递相关的偏好信息。许多传统推荐系统采用两阶段管道,首先检索候选项目,然后对其进行排序。RecLLM 也遵循这种策略,增加了一个额外的特点,即排序器还会联合生成每个item被选择的推荐理由。

img

第一阶段:召回

img

采用了4种召回方法:

  1. 双encoder模式:LLM为对话上下文生成embedding,item encoder生成item embedding,然后依据相似度做召回。这种从LLM内部提取embedding的方法的一个缺点是,它严重阻碍了我们以样本高效的方式学习检索模型的能力。 从头训练的双编码器模型需要大量的训练数据,以便将上下文塔的embedding约束在与物品塔embedding相同的子空间中。
  2. LLM生成式推荐:LLM直接输出推荐的结果,推荐引擎负责在item pool中做匹配。在这种方法中,LLM直接以文本形式输出推荐的项目ID或标题。检索算法是对内容库中的项目进行精确或模糊匹配,推荐引擎在这简单匹配之外不再起其他作用。LLM必须通过其预训练和特定内容库的微调阶段的组合来学习输出这些ID/标题。假设我们的系统必须能够从固定的内容库返回推荐列表,这种方法最接近于让一个基于LLM的聊天机器人直接作为CRS工作。这个方法的缺点是,由于推荐引擎仅完成了微不足道的工作,LLM必须在其模型参数中记住整个内容库的信息。对于大型内容库,这在模型大小和所需训练数据方面可能是极其昂贵的,同时也使得难以在不重新训练LLM的情况下刷新内容库
  3. 基于概念的搜索:让LLM基于对话生成一个概念list,推荐引擎将这个概念list编码成embedding,并和item embedding做召回。这种方法一个限制是概念列表通常是对话的粗略表示,类似于连续词袋方法,在词序和语言其他细微差别方面会有损失,这可能会对检索质量产生负面影响。
  4. 基于搜索API:LLM基于对话生成一条搜索的query,调用搜索引擎返回候选物品。检索质量受限于搜索查询能多大程度上适当地表示对话的全部上下文。

第二阶段:排序/解释

给定items和上下文摘要作为输入,LLM排序器使用链式推理来评分项目。LLM生成的中间链式推理步骤作为某些项目最终包含或被排除在推荐清单之外的解释。这些解释可以内部用于调试,也可以展示给用户,通过将其作为输入包含在生成对话接口中的对话管理器中,或者通过后处理将其包含在推荐清单显示的视觉用户界面中的弹出框中。

模型微调

在搜索API查找中,LLM处理会话历史记录并输出搜索查询,然后将其传递到黑箱搜索算法中。当使用这种架构时,损失不再是可微的,普通的监督学习不可行。相反,我们可以将设置重新框定为一个上下文bandit问题,其中LLM是一种策略,标签是奖励信号,黑箱搜索算法被视为环境。如果LLM编码器与其他模块共享,我们可以选择调优仅影响输出搜索查询这一任务的保护参数,或者调优也影响这些其他模块行为的共享参数。

img

3. How to adapt LLM

3.1. 分类体系

根据是否微调/推断是否需要CRM两个维度将现有工作分为4个象限:

img

3.2. 发展过程

img

3.3. 重要结论

3.3.1. 协同过滤知识非常重要

我们可以观察到第3象限和第1、2、4象限的研究工作之间存在明显的性能差异。即使第3象限的研究工作采用了大规模模型(如ChatGPT或GPT-4),并且配备了先进技术如用户行为检索和工具使用,其表现依然较差。这表明推荐系统是一个高度专业化的领域,要求大量的领域内协同知识。大型语言模型(LLM)无法从其通用预训练语料库中有效学习这种知识。因此,当我们将LLM应用于推荐系统时,必须涉及领域内协同知识以提高性能。通常有两种方法可以实现这一目标(对应于第1、2、4象限):

  • 在训练阶段调优LLM,从数据中心的角度注入协同知识。
  • 在推理阶段利用CRM,从模型中心的角度注入协同知识。

3.3.2. LLM擅长重排困难样本

尽管大型语言模型(LLM)在零样本/小样本学习方面通常表现较差,因为涉及的领域内协同知识较少,但研究发现,大型语言模型如ChatGPT更有可能在处理困难样本时表现出色。他们引入了过滤-再排序范式,该范式利用传统推荐系统中的预排序功能(例如在工业应用中的匹配或预排序阶段)来预先过滤掉那些容易的负例项,从而生成一组包含更难样本的候选项供LLM重新排序。这样,LLM的列表式再排序性能(尤其是类似ChatGPT的API)可以得到提升。这个发现对于工业应用具有指导意义,我们可以要求LLM仅处理困难样本,而将其他样本留给轻量级模型处理,以节省计算成本。

4. 实际应用中的挑战

4.1. 训练效率

提升现代深度学习推荐系统性能的两个关键因素是:增加训练数据量和提高模型的更新频率。尽管调校大规模语言模型(LLM)可能提升性能,但也会带来巨大的时间和计算资源成本。因此,在实际应用中,需要确保适配LLM的训练效率。现有的研究主要通过参数高效微调(PEFT)方法解决内存使用问题,但在大规模场景中时间消耗仍然高。我们建议采用异步更新策略,将LLM用于特征工程时减少训练数据量和降低更新频率,同时保持CRM的完整数据和高频更新。这是基于LLM具有强大的归纳学习能力,通过少量监督可以产生广泛适用的结果。由此,LLM为CRM提供领域内知识,CRM则作为LLM的频繁更新适配器。

4.2. 推理延迟

在线推荐系统通常是实时服务,对时间非常敏感,各个阶段(如匹配、排序、重排序)需在几十毫秒内完成。大规模语言模型(LLM)在推理阶段的参与会增加推理延迟。预计算和缓存LLM的输出或中间表示是确保低延迟的一种常见策略。例如,M6-Rec提出了分段后期交互策略,先预计算和缓存细粒度文本特征的编码表示,再在推荐请求到达时进行后期交互。其他方法如UniSRec和VQ-Rec则直接缓存语言模型生成的嵌入。此策略对静态的物品信息有效,但对动态的用户信息来说效果不佳,因此需要找到合适的缓存频率来平衡性能和计算成本。

另外,可以通过模型压缩技术(如蒸馏、剪枝和量化)来减少模型大小以提高推理效率。例如,CTRL和FLIP通过对比学习将LLM的语义知识蒸馏到CRM中,从而在保持低延迟推理的同时改进推荐性能。这些策略通常涉及模型性能和推理延迟之间的权衡。另一种选择是将LLM用于特征工程阶段,预存其输出,从而在推理时减少额外负担。此外,还可以将LLM应用于推理延迟要求较宽松的场景,如对话推荐系统。

4.3. 领域长文本建模

在适配大规模语言模型(LLM)时,需通过提示模板构建领域内的文本输入,并在前面必要时插入适当的指令和示范。然而,真实世界的推荐系统通常需要更长的用户历史、更大的候选集和更多特征,这可能导致LLM输入的长文本带来两大挑战:

  1. 过长的文本输入会导致内存效率低下的问题(经典变压器的空间复杂度为O(L²),其中L是词元数量),甚至可能超出上下文窗口的限制,导致部分信息丢失和次优的输出。
  2. 即使输入长度不超过上下文窗口,LLM在完全理解和推理推荐数据上也可能存在问题。研究表明,LLM处理长文本时困难重重,尤其是在扩展用户历史或候选集时,即使总词元数远未达到上下文窗口限制。这可能是因为领域内长文本与LLM预训练语料的分布差异很大。

因此,研究如何在提示工程中适当地筛选、选择和安排文本信息作为LLM的输入,以及如何指导或调校LLM更好地适应这些领域内长文本的分布非常重要。此外,在自然语言处理领域,有一系列工作提出了解决上下文窗口限制的方法(如滑动窗口、记忆机制),这些方法可以在推荐系统中考虑应用。此外,最近的研究提出结合CRM的潜在表示来压缩LLM的个性化输入提示,以缓解长文本问题。例如,CoLLM和E4SRec通过线性投影层将每个用户行为的文本描述替换为CRM嵌入表中的潜在向量,从而大大减少长用户序列的词元数量。受前缀调优的启发,ClickPrompt将CRM的样本级最终表示转化为LLM的层级提示,从而更容易从提示模板中去除不必要的特征。

4.4. ID索引化和建模

在推荐系统中,存在一种本质上不包含语义信息的纯ID特征(如用户ID、物品ID)。如果将这些ID特征包含在提示文本中,它们的分词对语言模型而言实际上是无意义的。许多研究倾向于直接放弃这些ID特征,以通过自然语言界面实现统一的跨领域推荐,因为这些ID通常在不同领域之间不共享。然而,有些研究指出,尽管牺牲跨领域的泛化能力,ID特征可以大大提升推荐性能。因此,是否保留ID特征仍然是一个未解决的问题,将研究分为两种方向。

**一方面,我们可以保留ID特征以牺牲跨领域泛化能力换取更好的领域内推荐性能。**P5及其变体在提示模板中保留ID特征,并设计了全词嵌入层,为相同ID特征的词元分配相同的全词嵌入,类似于位置嵌入的方式。基于此,Hua等进一步探索了各种物品ID索引策略以确保相似物品的ID由相似的子词元组成。RecFormer和UniSRec则在提示文本中省略物品ID,但在底部嵌入层或顶部投影层引入额外的ID嵌入。其他研究则寻求整合传统推荐模型中的ID嵌入,从而使LLM的输入提示不包含纯ID特征。总之,这条研究线路上,研究人员应专注于通过精心设计的ID索引与建模策略来将LLM与ID特征关联起来。

**另一方面,我们可以放弃ID特征,以通过自然语言界面实现统一的跨领域推荐。**保持一个统一的模型来服务多个领域是非常有前景的,尤其是在涉及大规模语言模型时。为了在放弃ID特征的情况下实现与保留ID特征的类似性能,研究人员可以探讨隐式引入ID特征的方法,例如应用对比学习来对齐语义和协同知识,从而避免涉及LLM的ID特征。

5. 参考文献