LLM推荐系统时代来了?2024大厂顶会工作总结
基于Large Language Model做推荐系统可以说是最近2年推荐系统领域最火的研究点。一方面,LLM的理解能力、在各个领域的广发应用,使其自然而然衍生了和推荐系统结合的研究方向;另一方面,传统的推荐模型优化已逐渐进入瓶颈,依然基于原有的建模思路进一步优化很难带来显著收益。因此无论是工业界还是学术界,都在LLM+推荐系统这个方向投入了很多的人力和资源。
在2024年的推荐系统顶会工作中,大厂、学校合作的论文70%都是和大模型相关的,可见其火热程度。这篇文章就给大家汇总一下2024年,大厂发布的基于LLM的推荐系统模型工作,涉及LLM和ID模型对齐、LLM解决长尾推荐、LLM提供可解释性和外部知识、直接用LLM进行推荐等多个主题。
1.LLM和ID模型对齐
LLM应用到推荐模型,一个很大的问题是对齐问题。推荐系统都是以ID为主的模型,包括user id、item id等,模型基于用户行为等协同过滤信号学习这些id embedding。因此,如何对齐两种模态非常重要。
FLIP: Towards Fine-grained Alignment between ID-based Models and Pretrained Language Models for CTR Prediction(华为)核心解决方法是通过预训练对齐ID模型和语言模型的表征。文中引入了类似MLM的方法和对比学习的方法。在MLM中,对特征的文本表示和ID表示分别进行mask,使用上下文两种模态的信息进行被mask部分的还原。在对比学习中,对于同一个样本特征的ID和文本表示方法作为正样本对,使用对比学习拉近其距离。在预训练后,使用ID模型和大语言模型的预测结果做加权求和得到最终预测结果,使用下游数据进行finetune。
ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction(华为)提出了一种用ID模型和LLM对齐的方法,利用ID模型生成prompt,作为prefix拼接在transformer每一层,通过预训练任务实现ID模型和LLM模型的对齐。
首先,将CTR预估中每个样本的特征转换成文本描述的形式。接下来,将原来的CTR模型中间层的embedding作为prompt,拼接到上述文本描述的前面。将拼接了prompt的文本描述输入到LLM中,让LLM生成影响的token序列,再基于token序列对预测结果进行还原。通过这种用CTR预估模型embedding作为prompt的方式,实现ID的CTR模型和LLM的CTR模型对齐的目标。在下游应用部分,使用两个模型的预测结果相融合,作为最终的预测结果,拟合相应的Label。
The Elephant in the Room: Rethinking the Usage of Pre-trained Language Model in Sequential Recommendation分析了基于纯文本+预训练语言模型的推荐模型RecFormer,探索了能最大限度发挥语言模型在推荐系统中作用的方法。文中通过对RecFormer的attention分布、模型冗余性等的分析,发现现在的大模型应用效率较低,存在比较多的参数冗余,效果也不是最优的。文中基于上述发现,以及后续的实验验证,提出了一种高效利用且能充分发挥大模型效果的方法:使用基于ID的序列建模模型进行建模,同时使用经过行为序列finetune过的预训练语言模型的item embedding作为其ID表征的初始化。
2.LLM解决长尾推荐
推荐系统基于纯ID embedding训练模型,对于那些长尾的user、item,数据量少,id embedding就学习不充分。这种场景下,LLM就展现了其特有的优势,通过文本信息的输入,将id表征解耦成泛化性更强的组件,提升长尾推荐效果。
LLM-ESR: Large Language Models Enhancement for Long-tailed Sequential Recommendation(腾讯)就是借助大模型的文本建模能力解决长尾推荐问题。在本文的推荐场景中,80%的用户只交互过10个以内的item,这种行为稀疏的用户推荐模型的打分效果会显著下降。为了解决这类长尾user的推荐问题,本文采用了LLM的文本能力提升长尾user表征的学习。核心包括dual-view modeling和retrieval-augmented self-distillation两个部分。在dual-view modeling中,对于一个user,使用文本侧和协同过滤侧两个encoder生成user表征。文本侧使用大模型基于item的文本描述生成item表征存储起来,然后使用一个类似Transformer的Encoder对用户历史行为的item文本embedding进行建模;协同过滤测就是最基础的基于id序列的Transformer序列建模。两部分信息一方面使用cross-attention进行融合,另一方面输出结果页直接拼接到一起融合。
在retrieval-augmented self-distillation部分,基于user的表征检索出表征最相似的topK个其他用户,让当前用户的表征和这些检索出来的用户表征的L2距离尽可能小,作为指导目标,蒸馏其他user表征的知识,让长尾user的表征学习的更充分。
3.LLM让推荐模型具备可解释性
推荐模型都是黑盒的MLP,对于打分缺乏可解释性。而LLM是文本模型,可以通过文本生成传达信息。因此,文中通过LLM和推荐模型对齐,实现LLM的可解释性。
RecExplainer: Aligning Large Language Models for Explaining Recommendation Models(微软)使用LLM实现推荐系统的可解释性。文中的一个核心假设是,如果能让LLM产生和一个训练好的推荐模型具备相似的预测结果,LLM就能模拟推荐模型的计算逻辑,进而就可以让其生成文本解释其预测逻辑,实现推荐模型的可解释性。文中设计了6种任务对齐推荐模型和LLM,包括下一个item预测(注意这里是以推荐系统模型的预测结果为目标,而非下一个item的ground truth)、item排序、用户兴趣的二分类预测、生成item的描述、使用GPT数据继续训练防止灾难遗忘等。同时,借助多模态领域的建模思路,在这些任务中奖id随机替换成推荐系统中的embedding,当成另一个模态的信息,实现LLM对推荐系统embedding模态的理解。
4.LLM提供外部知识
LLM中蕴含着大量的世界知识,将这些知识提取出来加入到推荐模型中,也是一种应用方式。
Enhancing Sequential Recommenders with Augmented Knowledge from Aligned Large Language Models(蚂蚁)通过从LLM中提取知识信息,增强推荐系统模型的训练。对于一个item,将其相关信息输入构建prompt输入到LLM中,让LLM生成一些数据集中没有的知识信息,并通过一个文本Encoder编码成item embedding。文本embedding和原始的id embedding融合到一起输入到推荐系统模型中。由于LLM生成的文本信息可能包含很多和推荐无关的部分,并且由于是提前生成的,无法更新LLM参数。因此文中直接建模一个从LLM中采样生成文本知识信息的分布,基于这个分布从LLM生成的文本中采样对推荐有效的信息。
5.直接用LLM进行推荐
上述方法都是将LLM作为一个外部组件和推荐系统融合,另一些工作更加极端一些,直接使用LLM替代原先的推荐模型。
Adapting Large Language Models by Integrating Collaborative Semantics for Recommendation(微信)直接使用大模型进行item的全库生成推荐,不再需要item候选集,核心包括基于LLM的item ID生成以及LLM的推荐系统finetune两个部分。文中基于item的文本标题、描述等文本信息,使用LLM生成每个item的表征,再基于Vector Quantization等量化技术,将每个item的表征进行各个维度的离散化,得到每个item的ID作为索引。另一方面,引入了多种类型的任务对LLM进行finetune,让LLM能够适配这些item ID,并融合推荐领域的知识。在finetune阶段,引入了包括next item预测、根据item的标题或描述预测item的索引ID、根据item ID序列预测用户的兴趣偏好(数据从GPT3根据历史item文本序列生成用户的兴趣偏好描述)、根据用户搜索文本预测item ID等近10种任务进行LLM的finetune,充分对齐新引入的item ID、推荐任务和文本含义。经过finetune后,这些item ID直接作为单次加入到LLM的vocabulary中,基于LLM进行下一个item推荐。