当大语言模型遇见推荐系统
导读 最近,大型语言模型(LLMs)已经成为数据科学社区和新闻界的热门话题。自 2017 年 Transformer 架构问世以来,我们看到这些语言模型处理的自然语言任务复杂程度呈指数级增长。这些任务包括分类、意图和情感抽取,甚至它们被要求生成与人类自然语言相似的文本内容。大语言模型是否能够承接推荐任务,它是如何辅助推荐系统工作的?大语言模型对于特定推荐任务的模型表现如何?针对上述问题,本文将分享一些探索性实验的结果。另外,此工作相关论文及代码可通过下方链接获取:
PDF: https://arxiv.org/pdf/2305.02182.pdfGithub: https://github.com/rainym00d/LLM4RS今天的介绍会围绕下面三点展开:1. LLMs for Recommendtion
2. Experimental Results
3. Discussion
分享嘉宾|徐君 中国人民大学 教授
编辑整理|乔伊
内容校对|李瑶
出品社区|DataFun
LLMs for Recommendtion
第一个思路是,将LLM当作backbone,利用训练时的strategy,让它去适应某一个推荐任务。例如早期的BERT4Rec,在训练的时候让模型猜测,如果少了一个item,这个item应该是什么,由模型补上这个item。再比如UniSRec,利用了pre-train和fine-tune的流程。以及P5,利用了pre-train和promting的流程。
第二个思路是,把LLM当作现有推荐系统的补充。比如可以把LLM当作一个embedding生成器,让它生成更好的user、item以及context的表达,换句话说,LLM可以辅助我们更好地理解用户。当然,不仅是通过生成embedding的方式,我们也可以用LLM生成一段文字描述来用户等。然后把LLM带来的附加信息加入现有的推荐模型中去。
1.Key Tasks:Top-K Ranking of Items
第一种是打分的方式,Point-wise ranking。假设有5个items,可以直接询问大模型对这5个item的打分。这种方式最大程度模拟了业界推荐模型的工作方式,因为在线侧每一个item都会询问一次大模型,所以是Point-wise的方式。 第二种方式是Pair-wise ranking。每一次选取两个items去问大模型,哪个才是更适合用户的结果,哪个才是用户更喜欢的item,大模型会告诉我们一个答案。这样的话,如果我们有n个item,那么我们最多问 n*(n-1)/2次,就能得到n个item的排序。 第三种方式是List-wise ranking。这种方式对于大模型的理解是个挑战,直接询问大模型n个item的排序方式,相当于直接把大模型当成item排序结果的生成器。
具体的,在构建Prompt的做法如下图所示。
Point-wise
Pair-wise List-wise
02
Experimental Results
Movie数据来自MovieLens
Book和Music数据来自Amazon
News数据则来自MIND-small
2. Main Results
针对Baseline为Random和Pop的情况,主要实验结果数据呈现如下:
LLMs performed much better than random/pop policies on almost all cases。LLMs相比于random/pop 规则几乎在所有实验实例上表现更好。 ChatGPT performed best across four domains。关于各个LLMs的效果,ChatGPT针对4个Domain表现最佳。
此外,我们从其他维度将上述实验结果做个排序,得到实验结果如下:
text-davinci-002 and text-davinci-003 performed better with Pair-wise ranking in most cases。针对Pair-wise ranking的方式,text-davinci-002 与text-davinci-003表现更好。
ChatGPT is better with List-wise ranking except on movie。针对List-wise ranking的方式,ChatGPT表现更佳,当然在movie数据集是个例外。
Given enough user-item interactions, traditional models still performed better than LLMs。在给足训练数据的情况下,传统推荐模型表现比LLMs更佳。
LLMs can be used to mitigate cold start。针对上述情况,LLMs具有更广阔的世界知识,则更适合冷启动任务。
4. Costs for Improvements
另外我们不能忽视的一点是,Point-wise、Pair-wise和Listw-ise这三种大语言做推荐的使用方式带来的成本开销是不同的。
List-wise achieved the best improvements per unit cost。List-wise 的方式在单位成本上提升最明显。 Point-wise and Pair-wise are similar. Pair-wise achieved higher performances with the cost of more sessions。Point-wise 和Pair-wise是类似的,Pair-wise会带来更好的表现,但是是在增加更多的session成本的基础上。这一点,在具体应用中也是重点考察项目。
5. Zero-shot v.s. Few-shot
Zero-shot prompt outperformed the random and pop. ( capability of LLMs for zero-shot recommendation)
Few-shot performed much better than zero-shot in most cases. (effective of few-shot prompts in-context learning)
6. Analysis: Number of Prompt Shots
More examples ≠ better results?
7. Analysis: Number of History Items
Given more historical interacted items ≠ better results?
More items -> more context information, but higher noise
8. Case Study
(1) Ranking with Explanations
(2) No Ranking, with Explanations
上图实例中,模型并没有按要求给出排序结果,但是对每一个item进行了说明解释。这种情况,我们需要抽取更多信息才能完成排序需求。
(3) Reject to Answer
这个实例中,模型拒绝回答。针对这种情况需要系统进行相应处理,例如重新提问等。
(4) Incorrect Ranking with Explanations
(5) Reject to Answer
(6) Incorrect Ranking with Explanations
03
Discussion
1. Summary
2. Discussion
LLMs v.s. traditional models (e.g., MF/NCF) for recommendation
Ranking item with LLMs is not natural 使用大语言模型进行item ranking任务并不是直接且自然而然的,我们需要额外的系统适配。
分享嘉宾
INTRODUCTION
徐君
中国人民大学
教授
往期优质文章推荐
往期推荐