📝推荐系统综述(二)——结合基础模型的推荐系统
2024-4-2
| 2024-4-2
5124  |  阅读时长 13 分钟
type
status
date
slug
summary
tags
category
icon
password
本篇文章主要参考文献[1]

一 介绍

大型语言模型(Large Language Models,LLM)已成为自然语言处理(Natural Language Processing,NLP)领域的强大工具,并最近在推荐系统(RS)领域引起了重大关注。这些模型通过自监督学习使用大量数据进行训练,展现了在学习通用表示方面取得了显著成功,并有潜力通过一些有效的迁移技术(如微调(fine-tuning)和提示调整(prompt tuning)等)来增强推荐系统的各个方面。利用语言模型的力量来提高推荐质量的关键在于利用它们对文本特征的高质量表示以及对外部知识的广泛覆盖,以建立物品和用户之间的相关性。与传统推荐系统不同,基于LLM的模型擅长捕捉上下文信息,更有效地理解用户查询、物品描述和其他文本数据。此外,面对有限历史交互的常见数据稀疏问题,LLMs 还能通过零或少次(zero/few-shot)推荐能力为推荐系统带来新的可能性,因为它们经过了大量的基于事实信息、领域专业知识和常识推理的预训练,使其能够提供合理的推荐,即使没有事先接触过特定的项目或用户。
上述策略已经在判别模型中得到很好的应用。然而,随着人工智能学习范式的演变,生成式语言模型开始崭露头角。将生成模型与推荐系统融合,为更多创新和实际应用提供了潜力。例如,基于其语言生成能力,LLM系统能够提供解释,从而改善推荐的可解释性,帮助用户理解影响推荐的因素。此外,生成式语言模型使得推荐更加个性化和上下文感知,例如在基于聊天的推荐系统中,用户可以定制提示,增强用户参与度和对多样化结果的满意度。
受上述范式在解决数据稀疏性和效率问题方面的显著有效性的启发,语言建模范式在推荐领域的应用已经成为学术界和工业界的一个有前途的方向,显著推动了推荐系统研究的最新进展。

二 方法

图 1. 推荐系统中大型语言模型研究的三种建模范式
图 1. 推荐系统中大型语言模型研究的三种建模范式
所有大型语言模型的基本框架由多个 Transformer Block 组成,例如 GPT、PaLM、LLaMA 等。该架构的输入通常由标记嵌入位置嵌入等组成,而期望的输出嵌入或标记可以在输出模块中获得。在这里,输入和输出数据类型都是文本序列。如图 1 中的(1)-(3)所示,对于语言模型在推荐中的应用,即建模范式(Modeling Paradigm),现有工作大致可分为以下三类:
  1. LLM Embeddings + RS。这种建模范式将语言模型视为特征提取器,将项目和用户的特征输入到 LLMs 中,并输出相应的嵌入。传统的 RS 模型可以利用知识感知嵌入进行各种推荐任务。
  1. LLM Tokens + RS。与前一种方法类似,这种方法基于输入的项目和用户特征生成令牌。生成的令牌通过语义挖掘捕捉潜在的偏好,可以整合到推荐系统的决策过程中。
  1. LLM as RS。与上述两种不同,这种范式旨在直接将预训练的 LLM 转化为强大的推荐系统。输入序列通常包括个人资料描述、行为提示和任务说明。预期输出序列能够提供合理的推荐结果。
图 2. 推荐系统中大型语言模型研究的分类
图 2. 推荐系统中大型语言模型研究的分类
图 3. 基于LLM推荐的五种不同训练(领域适应)方式的详细解释
图 3. 基于LLM推荐的五种不同训练(领域适应)方式的详细解释
在实际应用中,语言模型的选择显著影响推荐系统中建模范式的设计。如图 2 所示,原文中将现有工作分为两大类,分别是用于推荐的判别式LLMs和生成式LLMs。推荐的LLMs分类可以根据训练方式进一步细分,不同方式之间的区别如图 3 所示。一般来说,判别式语言模型非常适合嵌入到范式(1)中,而生成式语言模型的响应生成能力进一步支持范式(2)或(3)。

2.1 判别式 LLMs 推荐系统

目前推荐领域中的判别式语言模型(Discriminative LLMs)主要是基于BERT的模型。由于判别式语言模型在自然语言理解任务中的专业知识,它们通常被认为是下游任务的嵌入主干(Embedding Backbones)。这也适用于推荐系统。大多数现有工作通过微调将预训练模型(如BERT)的表示与特定领域的数据对齐
notion image

2.1.1 微调

微调(Fine-tuning)预训练语言模型是一种通用技术,在各种自然语言处理 (NLP) 任务(包括推荐系统)中得到了极大的关注。微调背后的想法是采用预训练语言模型,该模型已经从大规模文本数据中学习了丰富的语言表示,并通过在特定任务数据上进一步训练它来使其适应特定任务或领域。
微调过程包括使用预训练语言模型学习到的参数初始化自己,然后在特定于推荐的数据集上对其进行训练。此数据集通常包括用户与项目交互、项目的文本描述、用户配置文件和其他相关的上下文信息。在微调期间,模型的参数会根据特定任务的数据进行更新,使其能够适应和专门用于推荐任务。在预训练和微调阶段,学习目标可能会有所不同。
将微调预训练语言模型集成到推荐系统中,融合了强大的外部知识和个性化的用户偏好,主要是为了提高推荐的准确性,同时对历史数据有限的新项目获得一点冷启动处理能力。

2.1.2 提示调优

提示调优(Prompt Tuning)不是通过设计特定的目标函数来适应LLMs不同的下游推荐任务,而是试图通过硬/软提示和标签词语言器将推荐的调优对象与预训练的损失保持一致。

2.2 生成式 LLMs 推荐系统

notion image
与判别式模型相比,生成式语言模型(Generative LLMs)具有更好的自然语言生成能力。因此,与大多数基于判别式模型的方法不同,这些方法将学习到的 LLMs 表示与推荐领域保持一致,大多数基于生成模型的工作将推荐任务转换为自然语言任务,然后应用上下文学习、提示调整和指令调整等技术来适应 LLMs 直接生成推荐结果。此外,随着 ChatGPT 展示的令人印象深刻的能力,此类工作最近受到越来越多的关注。
如图2所示,根据是否调优参数,这些基于生成LLM的方法可以进一步细分为两种范式:非调优范式(Non-tuning Paradigm)和调优范式(Tuning Paradigm)。

2.2.1 非调优范式

LLMs 在许多看不见的任务中表现出强大的零/少样本(Zero/Few-Shot)能力。因此,最近的一些工作假设LLMs已经具有推荐能力,并试图通过引入特定的提示来触发这些能力。他们采用了研究 [2] 中的教学和情境学习的最新实践,在不调整模型参数的情况下采用LLMs推荐任务。根据提示是否包含示范示例,该范式中的研究主要分为以下两类:提示(Prompting)和情境学习(In-context Learning):
  1. 提示:这类方法旨在设计更合适的说明和提示,利用自然语言提示激活了推荐任务的零样本能力LLM,以帮助LLMs更好地理解和解决推荐任务。
  1. 情景学习:上下文学习是 GPT-3 和其他人LLMs用来快速适应新任务和信息的一种技术。通过一些演示输入-标签对,他们可以预测看不见的输入的标签,而无需额外的参数更新。然而,与提示相比,只有少数研究探索了语言模型的上下文学习在推荐任务中的使用。许多悬而未决的问题仍然存在,包括演示示例的选择以及演示示例数量对推荐效果的影响。

2.2.2 调优范式

正如上面提到的,LLMs 具有很强的零/少样本能力,并且通过适当的提示设计,他们的推荐性能可以显着超过随机猜测。然而,以这种方式构建的推荐系统无法超越专门针对特定数据的给定任务训练的推荐模型的性能。因此,许多研究人员旨在通过进一步微调或提示学习来增强推荐 LLMs 能力。原文将调优范式分为三类:微调、提示调优和指令调优。具体来说:
  1. 微调范式中,判别式和生成式大型语言模型的使用方法非常相似,即:
    1. 主要将 LLMs 作为编码器提取用户或项目的表示,随后根据下游推荐任务的特定损失函数对编码 LLMs 器的参数进行微调。
    2. 有研究发现,使用更强大 LLMs 作为文本编码器可以提高推荐准确性。但是,非常大的 LM 可能不会产生用户和项目的通用表示形式,并且在暖项目(Warm Item)推荐设置中,基于 ID 的简单协同过滤方法仍然极具竞争力。
  1. 提示调优:在此范式中,LLMs通常将用户/项目信息作为输入,并输出用户对项目的偏好(例如,喜欢或不喜欢,评级),或输出用户可能感兴趣的项目。
    1. 如前所述,大型语言模型的一个显著优势是它们能够有效地将模型参数与特定领域对齐。目前,对此进行最广泛探索的领域是在线招聘场景
  1. 指令调优:在这种范式中,LLMs 使用不同类型的指令针对多个任务进行微调。这样,LLMs 可以更好地与人类的意图保持一致,并实现更好的零射能力。
  1. 提示调优指令调优范式中,大型模型的输出是一致的文本,并且使用语言建模的损失来训练其参数。提示调优和指令调优训练范式之间的主要区别在于:
    1. 提示调优主要集中在特定任务上,例如评级预测,而LLMs提示调优范式下针对具有不同类型指令的多个任务进行训练。
    2. 因此,LLMs可以通过指令调优获得更好的零样本能力。

三 挑战

需要注意的是,该领域的整体探索仍处于前期阶段,因此仍然存在大量挑战亟待解决。原文中列举了下述挑战以供参考:
  1. 模型偏见(Model Bias):
    1. 位置偏见(Position Bias):在推荐系统的生成式语言建模范式中,用户行为序列和推荐候选人等各种信息以文本顺序描述的形式输入到语言模型中,这可能会引入语言模型本身固有的一些位置偏差。
      1. 例如,候选人的顺序会影响基于推荐模型的LLM排名结果,即LLM通常优先考虑排名靠前的项目。而且模型通常不能很好地捕捉序列的行为顺序。
    2. 人气偏见(Popluarity Bias):LLMs 排名结果受候选人的受欢迎程度影响。
      1. 在LLMs预训练语料库中经常被广泛讨论和提及的热门项目往往排名更高。
      2. 解决这个问题具有挑战性,因为它与预训练语料库的组成密切相关。
    3. 公平性偏见(Fairness Bias):预训练语言模型表现出与敏感属性相关的公平性问题。这些问题受到训练数据或参与某些任务注释的个人的人口统计学的影响。
      1. 这些公平性问题可能导致模型提出的建议会假设用户属于特定组,从而在在商业部署时可能导致有争议的问题。一个例子是由性别或种族引起的推荐结果偏差。
      2. 解决这些公平问题对于确保公平和公正的建议至关重要。
  1. 推荐提示设计(Recommendation Prompt Designing):
    1. 用户/项目表示(User/Item Representation):在实践中,推荐系统通常利用大量离散和连续的特征来表示用户和项目。
      1. 但是,大多数现有的基于 LLM 工作仅使用名称来表示项目,并使用项目名称列表来表示用户,这不足以准确地对用户和项目进行建模。
      2. 此外,将用户的异构行为序列(例如点击、添加到购物车和电子商务领域的购买)转换为自然语言以进行偏好建模至关重要。
      3. 在传统的推荐模型中,类似 ID 的功能已被证明是有效的,但将它们整合到提示中以提高个性化推荐性能也具有挑战性。
    2. 有限的上下文长度(Limited Context Length):上下文长度限制 LLMs 将限制用户行为序列的长度和候选项目的数量,导致性能欠佳。
  1. 潜能(Promising Ability):
    1. 零/少样本推荐能力(Zero/Few-shot Recommendation Ability):多领域数据集的实验结果表明,在LLMs各种推荐任务中具有令人印象深刻的零/少样本能力。
      1. 值得注意的是,等同于情境学习的少样本学习不会改变 LLMs 的参数。这表明LLMs有可能在有限的数据下缓解冷启动问题。
      2. 然而,仍然存在一些悬而未决的问题,例如在为小样本学习选择具有代表性和有效的演示示例时需要更明确的指导,以及需要更多领域的实验结果来进一步支持关于零/少样本推荐能力的结论。
    2. 可解释的能力(Explainable Ability):生成式 LLMs 在自然语言生成方面表现出非凡的能力。因此,自然会考虑使用 LLMs 通过文本生成方式进行可解释的推荐。
      1. 根据人类的评价,ChatGPT 的解释被认为比基本事实更清晰、更合理。在这些激动人心的初步实验结果的鼓舞下,微调 LLMs 的可解释性建议的性能是有希望的。
  1. 评估问题(Evaluation Issues):
    1. 生成控制(Generation Controlling):许多研究通过提供精心设计的指令来使用 LLMs 作为推荐系统。
      1. 对于这些LLMs,输出应严格遵守给定的指令格式,例如提供二进制响应(是或否)或生成排名列表。然而,在实际应用中,输出LLMs可能会偏离所需的输出格式。例如,该模型可能会以不正确的格式生成响应,甚至拒绝提供答案。
      2. 而且,由于生成模型的训练数据和自回归训练模式,生成模型很难在列表推荐任务中表现良好,这使得它们处理多个项目的排名问题的能力较差。此问题无法通过微调来解决,因为在实际场景中,没有按顺序对多个项目进行排名的基本事实。因此,很难应用基于序列的自回归训练逻辑。PRP(成对排名提示)提出了对 LLM 的列表任务进行成对排序,它枚举了所有对并执行全局聚合以生成每个项目的分数。但是,此逻辑在推理过程中非常耗时。因此,解决确保更好地控制产出的挑战 LLMs 是一个亟待解决的问题。
    2. 评估标准(Evaluation Criteria):如果 LLMs 执行的任务是标准推荐任务,例如评级预测或项目排名,我们可以采用现有的评估指标进行评估,例如 NDCG、MSE 等。然而,LLMs它们也具有很强的生成能力,使它们适用于生成式推荐任务。遵循生成式推荐范式,LLMs可以生成历史数据中从未出现过的项目,并推荐给用户。在这种情况下,评估生成推荐能力仍然是一个LLMs悬而未决的问题。
    3. 数据集(Datasets):目前,该领域的大多数 LLMs 研究测试都使用 MovieLens、Amazon Books 和类似的基准数据集的测试推荐能力和零/少样本能力。但是,这可能会带来以下两个问题:
      1. 首先,与真实世界的工业数据集相比,这些数据集的规模相对较小,可能无法完全反映 LLMs.
      2. 其次,这些数据集中项目的相关信息,如电影和书籍,可能具有出现在 LLMs 的预训练数据中。这可能会在评估 LLMs 的零/少样本学习能力时引入偏差。目前,我们仍然缺乏一个合适的基准来进行更全面的评估。
  1. 除了上述突出的挑战之外,大型语言模型的功能也存在一些局限性,这些挑战也为该领域提供了大量研究机会。例如:
    1. 在为特定领域任务训练模型或更新模型知识时,可能会出现知识遗忘的挑战;
    2. 另一个问题是语言模型参数大小不同导致的不同性能,其中使用过大的模型将导致推荐系统中研究和部署的计算成本过高。
 

参考文献

  1. Wu, Likang, et al. "A survey on large language models for recommendation." arXiv preprint arXiv:2305.19860 (2023).
  1. Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, and Dario Amodei. Language models are few- shot learners. In NeurIPS, 2020.
机器学习
  • 机器学习
  • 科研
  • 摘抄
  • 推荐系统
  • 生成数据能否帮助模型训练?Next Token Prediction