论文链接:
https://arxiv.org/abs/2306.05817
Github:
https://github.com/CHIANGEL/Awesome-LLM-for-RecSys
背景与引言
推荐系统(RS)旨在解决线上应用中的信息过载问题,并满足用户的个性化信息需求。另一方面,大语言模型(LLM)从自然语言处理(NLP)领域发源,凭借其强大的涌现能力和泛化性能成功破圈,在深度学习的各个领域都得到了长足的应用。
从推荐系统的角度出发,传统推荐模型和大语言模型都有着各自的优缺点。整体概之,传统推荐模型复杂度较低,偏重行为记忆和协同信号匹配,但缺乏语义信息和深度意图推理;反之,大语言模型语义信号丰富,但协同信息缺失严重,不具备传统模型的长期记忆能力,计算复杂度高导致对海量样本数据筛选困难。
由此,这自然也就引出了本文想要调研的研究方向和科学问题:
核心问题:推荐系统如何大语言模型中取长补短,进而充分优化推荐性能和用户体验?
在本文中,我们以推荐系统为核心、以工业应用为视角出发,全面综述调研大语言模型在推荐系统领域的应用和挑战。
如上图所示,我们从两个核心问题出发,去分析该研究方向(LLM+RS)的进展:
1. 何处运用大语言模型(Where to Adapt LLM)
2. 如何运用大语言模型(How to Adapt LLM)
针对上述两个问题的讨论和分析,我们分别总结出了以下两个核心观点和发展趋势:
1. 突破传统定位,重塑推荐流程:通过对 Where 问题的分析,我们总结认为,伴随着参数规模上升带来的涌现能力(逻辑推理、指令跟随),大语言模型在推荐系统中扮演的角色开始逐渐突破传统定位,从简单的编码器、打分器向外扩展延伸,在特征工程、乃至推荐流程控制都发挥重要作用,能够完成用户意图推断、知识延展外推等传统模型难以兼顾的任务,向重塑推荐流程、实现推荐系统一体化迈进了一步。
2. 语义协同兼顾,跨域知识融合:通过对 How 问题的分析,我们发现直接将大语言模型用于行为预测等传统推荐任务并不能取得良好的性能。我们总结认为,推荐系统是一个知识高度专有化的领域,更强调域内协同知识,和大语言模型所蕴含的开放语义知识仍有一定差异,二者应当充分兼顾,不可偏废。因此我们需要通过微调大语言模型(数据层面)或引入传统推荐模型(模型层面)的方式来为语言模型注入推荐的域内知识,进而和大语言模型的能力相辅相成,达到更优的推荐效果。
接下来,我们会在第 2、3 两节介绍两种分类方案并给出简短讨论,随后在第 4 节从效率、效益、伦理三方面重点介绍 LLM+RS 方向下的五点核心挑战和可能的解决方案,最后我们在第 5 节总结本篇推文的内容。
注:在本篇推文中,我们仅仅介绍综述论文的主干内容,相关工作的具体细节和更多讨论分析请读者参考我们的论文与 Github 仓库。
何处运用大语言模型(Where)
个环节:
- 数据采集阶段:线上收集用户的行为和记录,得到原始数据(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.5 讨论与小结
在“何处运用大语言模型”的角度下,我们发现大语言模型在推荐领域呈现出“突破传统定位,重塑推荐流程”的发展态势。
伴随着参数规模上升带来的涌现能力(逻辑推理、指令跟随),大语言模型在推荐系统中扮演的角色开始逐渐突破传统定位,从简单的编码器、打分器向外扩展延伸,在特征工程、乃至推荐流程控制都发挥重要作用,能够完成用户意图推断、知识延展外推等传统模型难以兼顾的任务,向重塑推荐流程、实现推荐系统一体化迈进了一步。
如何运用大语言模型(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 象限,这说明虽然大语言模型具备庞大的开放世界知识和逻辑推理能力,但推荐系统是一个知识高度专有化的领域,因此我们仍然需要通过微调大语言模型(数据层面)或引入传统推荐模型(模型层面)的方式来注入推荐的领域知识,进而和大语言模型的能力相辅相成,达到更优的推荐效果。
挑战
在介绍完 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 类特征来达到更好的单域推荐性能。在这种思路下,研究人员需要去探索更合理的 ID 索引和建模策略。例如,P5 [9] 直接在语言模型的文本输入中保留了 ID 特征,并引入 Whole-word Embedding 来对其进行显式建模。建立在 P5 的基础上,[13] 进一步探究了物品 ID 的进阶索引策略,如序列索引和基于语义的树状索引。
其次,我们也可以通过抛弃纯 ID 类特征来达到跨域推荐的目标。如此,研究人员需要聚焦于如何通过隐式方案将纯 ID 类特征信息注入跨域推荐模型(如对比学习与蒸馏),以期能够达到和上述单域推荐相似的性能。
4.5 公平性问题
公平性是推荐系统领域的常见问题之一,而研究人员也指出了大语言模型可能会因为预训练语料中存在的偏差而产出有害的、带歧视性的偏见输出。因此在 LLM+RS 的研究方向下,公平性仍然是一个亟待解决的议题。尽管已有工作 [8] 通过提示词工程、自助法等策略去尝试缓解基于大语言模型的推荐系统的公平性问题,但他们仍然只聚焦于单项任务和少量评价指标,LLM+RS 在公平性问题上的研究仍然值得深入探索。
总结
本文以推荐系统为核心,以工业应用为视角,从 Where 和 How 两个角度出发,概括总结了大语言模型在推荐系统领域的应用与挑战,我们希望本文的分析和讨论,可以一定程度上为读者提供新颖的思考角度、多样的研究方向、以及未来可能的发展路径。更多的内容,欢迎读者移步我们的综述论文和 Github 仓库(见推文开头或点击下方阅读全文)。
参考文献
[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.