天天看点

当大语言模型邂逅推荐系统,面向应用视角的全面综述

作者:mistlike

本文从应用视角全面综述了大语言模型在推荐系统领域的研究进展。

当大语言模型邂逅推荐系统,面向应用视角的全面综述

论文:https://arxiv.org/abs/2306.05817

仓库:github.com/CHIANGEL/Awesome-LLM-for-RecSys

仓库:github.com/hongleizhang/RSPapers#llm-for-rs

1. 背景与引言

推荐系统(RS)旨在解决线上应用中的信息过载问题,并满足用户的个性化信息需求。另一方面,大语言模型(LLM)从自然语言处理(NLP)领域发源,凭借其强大的涌现能力和泛化性能成功破圈,在深度学习的各个领域都得到了长足的应用。

从推荐系统的角度出发,传统推荐模型和大语言模型都有着各自的优缺点。整体概之,传统推荐模型复杂度较低,偏重行为记忆和协同信号匹配,但缺乏语义信息和深度意图推理;反之,大语言模型语义信号丰富,但协同信息缺失严重,不具备传统模型的长期记忆能力,计算复杂度高导致对海量样本数据筛选困难。

由此,这自然也就引出了本文想要调研的研究方向和科学问题:

核心问题

推荐系统如何大语言模型中取长补短,进而充分优化推荐性能和用户体验?

当大语言模型邂逅推荐系统,面向应用视角的全面综述

在本文中,我们以推荐系统为核心、以工业应用为视角出发,全面综述调研大语言模型在推荐系统领域的应用和挑战。

如上图所示,我们从两个核心问题出发,去分析该研究方向(LLM+RS)的进展:

  1. 何处运用大语言模型(Where to Adapt LLM)
  2. 如何运用大语言模型(How to Adapt LLM)

针对上述两个问题的讨论和分析,我们分别总结出了以下两个核心观点和发展趋势:

核心观点 & 发展趋势

突破传统定位,重塑推荐流程

通过对Where问题的分析,我们总结认为,伴随着参数规模上升带来的涌现能力(逻辑推理、指令跟随),大语言模型在推荐系统中扮演的角色开始逐渐突破传统定位,从简单的编码器、打分器向外扩展延伸,,能够完成用户意图推断、知识延展外推等传统模型难以兼顾的任务,向重塑推荐流程、实现推荐系统一体化迈进了一步。

语义协同兼顾,跨域知识融合

通过对How问题的分析,我们发现直接将大语言模型用于行为预测等传统推荐任务并不能取得良好的性能。我们总结认为,推荐系统是一个知识高度专有化的领域,更强调域内协同知识,和大语言模型所蕴含的开放语义知识仍有一定差异,二者应当充分兼顾,不可偏废。因此我们,进而和大语言模型的能力相辅相成,达到更优的推荐效果。

接下来,我们会在第2、3两节介绍两种分类方案并给出简短讨论,随后在第4节从效率、效益、伦理三方面重点介绍LLM+RS方向下的五点核心挑战和可能的解决方案,最后我们在第5节总结本篇推文的内容。

注:在本篇推文中,我们仅仅介绍综述论文的主干内容,相关工作的具体细节和更多讨论分析请读者参考我们的论文与Github仓库。

2. 何处运用大语言模型(Where)

当大语言模型邂逅推荐系统,面向应用视角的全面综述

如图,我们对现代基于深度学习的推荐系统流程(Pipeline)进行了抽象,得到了以下五个环节:

  • 数据采集阶段:线上收集用户的行为和记录,得到原始数据(raw data)。
  • 特征工程阶段:对原始数据进行筛选、加工、增强,得到可供下游深度模型使用的结构化数据(structured data)。
  • 特征编码阶段:对结构化数据进行编码,得到对应的稠密向量表示(neural embeddings),这是深度学习推荐系统的关键一步。
  • 打分排序阶段:对候选物品进行打分排序,得到要呈现给用户的物品排序列表(recommended items)。
  • 推荐流程控制:把控上述推荐系统整体流程,也可细化到对排序阶段的召回/粗排/精排的控制。

2.1 LLM在特征工程阶段的应用

在特征工程阶段,我们旨在利用大语言模型蕴藏的开放世界知识和逻辑推理能力,对原始数据进行后加工和数据增强,生成新的辅助文本信息来提升后续推荐模型的性能。例如,GENRE [1] 利用大语言模型完成用户画像重塑、新闻内容摘要与模拟生成等任务;AnyPredict [2] 则利用ChatGPT来弥合异构表格数据,形成统一的训练数据。

2.2 LLM在特征编码阶段的应用

在传统推荐领域,特征工程得到的结构化数据往往是稀疏独热编码的形式,而特征编码则被设计成一个简单的Embedding Look-up Table。即使是富含文本语义的特征(如用户的性别、地区,物品的标题、属性)都被统一成了独热编码,产生了语义层面的信息损失。

伴随着语言模型的兴起,研究人员开始采用语言模型作为编码器来得到文本信息的稠密向量表示,与传统的独热编码模式相辅相成。例如,U-BERT [3] 对用户评论内容进行编码来增强用户的个性化向量表示;UniSRec [4] 则通过对物品标题/描述进行编码,来达成跨域序列推荐的目标。

2.3 LLM在打分排序阶段的应用

打分排序是当前推荐系统的核心任务,最终目标是得到一个符合用户兴趣偏好的物品排序列表(长度可为1)。根据达成最终目标的任务形式,我们将该类目进一步细分为以下三种任务:

  • 物品评分任务(Item Scoring Task)
  • 大语言模型以逐点的方式(pointwise)对每一个候选物品进行评分,而后根据分数排序筛出最终的推荐物品列表 [5, 6]。
  • 物品生成任务(Item Generation Task)
  • 大语言模型不再对候选物品逐一打分,而是直接生成要推荐给用户的物品或列表。例如VIP5 [7] 训练T5模型来直接生成下一个推荐物品的ID;还有 [8] 则直接利用ChatGPT输出对输入候选列表的重排序结果。此类任务极其依赖于大语言模型强大的语言理解、逻辑推理和文本生成能力。
  • 混合任务(Hybrid Task)
  • 大量研究表明,大语言模型天然地能够应对多任务场景,因此我们也可以很自然地为大语言模型构造混合任务的形式,让一个统一的大语言模型来完成上述的多种不同任务形式,进而服务于不同的推荐场景 [9, 10]。

2.4 LLM在推荐流程控制的应用

对推荐系统流程的控制不再是一个简单的评分排序任务,还需要涉及更高层次的人类能力,如任务组织、逻辑推理等等。而如今大语言模型逐渐展现出的涌现能力(逻辑推理、指令跟随、上下文学习)使得推荐流程控制自动化有了可能。在这一子方向的先期工作探索还较少,如Chat-REC [11] 使用ChatGPT来控制对话流程、决定是否调用推荐API、并对返回的候选列表进行重排、最终进行推荐内容的展示。

2.5 讨论与小结

在“何处运用大语言模型”的角度下,我们发现大语言模型在推荐领域呈现出“突破传统定位,重塑推荐流程”的发展态势。

伴随着参数规模上升带来的涌现能力(逻辑推理、指令跟随),大语言模型在推荐系统中扮演的角色开始逐渐突破传统定位,从简单的编码器、打分器向外扩展延伸,在特征工程、乃至推荐流程控制都发挥重要作用,能够完成用户意图推断、知识延展外推等传统模型难以兼顾的任务,向重塑推荐流程、实现推荐系统一体化迈进了一步。

3. 如何运用大语言模型(How)

当大语言模型邂逅推荐系统,面向应用视角的全面综述

如图,我们从训练和推理两个阶段出发,提出了关于“如何运用大语言模型”的四象限分类法:

  • 在,大语言模型是否需要。这里微调的定义包含了全量微调和参数高效微调。
  • 在,是否需要引入(Conventional Recommendation Model, CRM)。需注意,将CRM作为前置预排序(pre-ranking)模型的情况不在考虑范围之内。

我们还在图中用浅色箭头标出了大致的发展趋势,接下来我们会按照该趋势对四个象限的内容进行逐一介绍。

3.1 微调LLM;引入CRM(第1象限)

该象限的工作主要是一些早期工作,他们将BERT等小规模语言模型纳入作为可更新的文本编码器,来服务于下游的传统推荐模型。虽然他们也能够达到优异的性能,但大语言模型的关键能力其实还没有得到充分的利用。

3.2 不微调LLM;不引入CRM(第3象限)

第3象限的工作既不微调大语言模型,也不引入传统推荐模型,因此主要针对ChatGPT这种大规模语言模型,并落脚于推荐任务的零样本和少样本学习(zero/few-shot learning)。但如图可知,这一类工作的推荐性能往往不如人意,仅仅只能打败矩阵分解(MF)这种弱基线模型。

3.3 不微调LLM;引入CRM(第2象限)

对比第3象限,第2象限在不微调大语言模型的基础下,通过引入可训练的传统推荐模型来达到良好的推荐性能。部分先期工作仍然是将一个固定的语言模型作为文本编码器;另一类前沿工作,则开始将大语言模型作为特征工程和数据增强的利器,这充分利用到了大语言模型的逻辑推理能力和开放世界知识,并且不会对下游的传统推荐模型的训练推理造成过大的额外负担,是一种比较优雅的运用大语言模型的方案。

3.4 微调LLM;不引入CRM(第4象限)

第4象限的工作不再引入传统推荐模型,而是直接将大语言模型在推荐系统的数据集上进行微调,使其能够适应推荐数据分布,进而得到更好的推荐性能。而因为不再引入传统推荐模型,大语言模型必须承担打分排序阶段的任务,参考2.3小节,这些工作的任务形式也可以细分为评分、生成、混合三种。

3.5 讨论与小结

在“如何运用大语言模型”的角度下,我们发现大语言模型在推荐领域呈现出“语义协同兼顾,跨域知识融合”的发展态势。

从图中我们可以清晰地看到一条性能边界线,即第3象限的工作显著弱于第1、2、4象限,这说明虽然大语言模型具备庞大的开放世界知识和逻辑推理能力,但推荐系统是一个知识高度专有化的领域,因此我们仍然需要通过微调大语言模型(数据层面)或引入传统推荐模型(模型层面)的方式来注入推荐的领域知识,进而和大语言模型的能力相辅相成,达到更优的推荐效果。

4. 挑战

在介绍完LLM+RS研究工作的详细分类后,我们从效率(efficiency)、效益(effectiveness)、伦理(ethics)三个角度总结了研究方向的五个挑战。

4.1 训练效率

工业推荐系统维持良好性能有两大要素,一是大量的训练数据(上亿规模),二是高频率的模型更新小时级别甚至分钟级别)。但大语言模型的引入固然带来了优势(开放世界知识、逻辑推理能力),但也给推荐系统整体的训练流程带来了极大的效率问题:。

从可能的解决方案上看,我们可以引入来解决显存用量过大的问题,引入来缓解大语言模型训练时间过长的问题。

4.2 推理时延

推荐系统是一个高度时间敏感的应用场景,从用户发起请求到推荐结果呈现的整个流程,往往需要在数百乃至几十毫秒的时间内完成。而大语言模型的引入,也带来了的问题,即上线困难。而从解决方案上看,有以下可能的解决思路:

  • 部分语言模型的输出或中间结果,用空间换时间 [12]。
  • 通过等手段,降低推理模型的真实规模。
  • 让大语言模型阶段,进而避免对后续推理部分造成时延困扰。

4.3 推荐领域的长文本建模

为了运用大语言模型,我们需要对推荐的领域内知识进行模板和提示词处理,得到相应的文本信息交给大语言模型进行处理。但在推荐系统领域,我们往往需要更长的用户序列、更大的候选物品集和更多元的特征来达成更优秀的推荐性能,这会导致我们通过提示词模板得到的,而长文本可能会带来以下挑战。

首先,有工作 [8] 指出大语言模型在应对推荐领域长文本的时候会表现不佳,。除此之外,长文本还会带来过高的显存开销,进一步(Inefficiency)。并且甚至可能超过语言模型的(Context Window Limitation),导致部分信息损失和性能下降。

因此,在大语言模型运用于推荐系统的场景下,我们需要着重研究如何对推荐系统的原始数据进行,为大语言模型提供真正简短有效的文本输入(即提示词工程)。与此同时,如何指导并微调语言模型使其和推荐系统的数据分布(Alignment)也是至关重要的挑战。

4.4 ID类特征的索引与建模

在推荐系统中存在一种纯ID类特征(如用户ID,物品ID),他们天生不具备任何语义信息,同时不同域下的命名编码规则也大不相同,大语言模型对此类特征的处理往往存在一定的困难。例如用户ID AX5896一般会被分词器切成[AX, 58, 96],随机字母和数字的排列组合,为有效的语义信息。

有的工作 [12] 提出直接抛弃此类纯ID特征,用行为序列替代用户ID,用物品标题和描述替代物品ID,进而达到的目标;但另一方面,又有工作 [4] 指出,引入纯ID类特征虽然牺牲了跨域推荐的能力,但却可以极大幅度地提升模型的。因此在“ID类特征的索引与建模”的议题下,主要存在两方面的挑战。

首先,我们可以牺牲跨域推荐能力,通过保留纯ID类特征来达到更好的单域推荐性能。在这种思路下,研究人员需要去探索。例如,P5 [9] 直接在语言模型的文本输入中保留了ID特征,并引入Whole-word Embedding来对其进行显式建模。建立在P5的基础上,[13] 进一步探究了物品ID的进阶索引策略,如序列索引和基于语义的树状索引。

其次,我们也可以通过抛弃纯ID类特征来达到跨域推荐的目标。如此,研究人员需要聚焦于如何(如对比学习与蒸馏),以期能够达到和上述单域推荐相似的性能。

4.5 公平性问题

公平性是推荐系统领域的常见问题之一,而研究人员也指出了大语言模型可能会因为预训练语料中存在的偏差而产出有害的、带歧视性的偏见输出。因此在LLM+RS的研究方向下,公平性仍然是一个亟待解决的议题。尽管已有工作 [8] 通过提示词工程、自助法等策略去尝试缓解基于大语言模型的推荐系统的公平性问题,但他们仍然,LLM+RS在公平性问题上的研究仍然值得深入探索。

5. 总结

本文以推荐系统为核心,以工业应用为视角,从Where和How两个角度出发,概括总结了大语言模型在推荐系统领域的应用与挑战,我们希望本文的分析和讨论,可以一定程度上为读者提供新颖的思考角度、多样的研究方向、以及未来可能的发展路径。更多的内容,欢迎读者移步我们的综述论文和Github仓库(见推文开头或点击下方阅读全文)。

Reference

[1] A First Look at LLM-Powered Generative News Recommendation.

[2] AnyPredict: Foundation Model for Tabular Prediction.

[3] U-BERT: Pre-training User Representations for Improved Recommendation.

[4] Towards Universal Sequence Representation Learning for Recommender Systems.

[5] UniTRec: A Unified Text-to-Text Transformer and Joint Contrastive Learning Framework for Text-based Recommendation.

[6] Do LLMs Understand User Preferences? Evaluating LLMs On User Rating Prediction.

[7] VIP5: Towards Multimodal Foundation Models for Recommendation.

[8] Large Language Models are Zero-Shot Rankers for Recommender Systems.

[9] Recommendation as Language Processing (RLP): A Unified Pretrain, Personalized Prompt & Predict Paradigm (P5).

[10] Is ChatGPT a Good Recommender? A Preliminary Study.

[11] Chat-REC: Towards Interactive and Explainable LLMs-Augmented Recommender System.

[12] M6-Rec: Generative Pretrained Language Models are Open-Ended Recommender Systems.

[13] How to index item ids for recommendation foundation models.

继续阅读