大语言模型在推荐场景的实践
一、简介
随着大语言模型(LLMs)的不断发展,工业界大量探索LLM在实际推荐场景的应用。本文介绍小红书在笔记推荐场景应用LLM的探索,以及字节应用LLM在抖音业务上的实践。
二、NoteLLM: A Retrievable Large Language Model for Note Recommendation(WWW 2024)
NoteLLM是小红书在笔记推荐场景下的I2I召回方案,利用LLM的表征能力和生成能力生成适合更I2I召回的物品编码。为了利用LLM的表征能力和生成能力,作者提出两个任务:生成式对比学习和协同监督微调。生成式对比学习利用LLM的表征能力将笔记的内容编码成一个特殊的token,并使用协同过滤信号作为标签对编码进行对比学习,以适应推荐任务;协同监督微调任务训练LLM生成笔记的标签和类别,从而增强第一个任务生成的编码,因为作者认为两个任务都需要提取笔记中的关键信息。
2.1.生成式对比学习
生成式对比学习旨在将推荐的协同过滤信号引入大模型的预训练过程中,使得LLM学到用户的行为信息,从而生成的嵌入更适合下游推荐任务。因为大模型的预训练任务是为了获取语义信息,而下游推荐的目标却是为了点击率,两个目标存在差距。
具体地,使用LLM中特殊token的隐向量经过全连接层映射得到的向量作为文本表征向量, 进行对比学习。负样本采用batch内负采样,正样本通过统计笔记的共现次数构造相关样本对,即统计一周时间窗口内每个用户点击笔记A后再点击笔记B的次数,然后算出一个共现分数,作为协同过滤的信号。损失函数使用info-NCE:
2.2.协同监督微调
为了充分发挥LLM的生成能力,考虑到生成笔记的标签、类别也是对笔记关键信息的总结,与笔记编码有一定的相似性,作者额外做标签/类别生成任务的微调。该任务的损失函数为:
最后的损失为两个任务的损失的加权和。
2.3.实验效果
离线实验主要是和线上的SentenceBERT基线以及其他几种用大模型生成文本嵌入的方法对比,效果更好。
线上AB实验也是和SentenceBERT基线比较,点击率提高了16.20%,平均每周发布者数量增加了0.41%,评论数量增加了1.10%。
三、HLLM: Enhancing Sequential Recommendations via Hierarchical Large Language Models for Item and User Modeling
HLLM是字节在推荐中的实践方案,通过层次化设计显著降低了计算复杂性。现有的许多基于LLM的推荐模型将用户的历史行为简单转化为文本输入给LLM,导致长输入序列和复杂度的平方级增长。HLLM将内容建模与用户建模解耦,首先使用Item LLM编码item的文本信息,提取内容特征,然后使用User LLM建模用户行为序列。
3.1.item LLM
item LLM以item的文本描述作为输入,输出一个嵌入表示。具体地,在item的文本描述后面添加一个特殊的token:[ITEM],经过LLM编码后将[ITEM]的隐层表示作为其嵌入表示。
3.2.user LLM
经过item LLM编码,用户历史序列可以表示为item嵌入序列,作为user LLM的输入,然后item LLM和user LLM进行端到端的训练。训练目标包括生成式目标和判别式目标:
生成式目标
生成式训练目标是:给定用户历史中前一项物品的嵌入,生成下一项物品的嵌入,使用InfoNCE损失,其中负样本是从数据集中随机采样,但不包括当前用户序列。
判别式目标
判别式目标是在给定用户序列和目标item的情况下,判断用户是否对目标项感兴趣。判别式目标可选两种模式:Early Fusion和Late Fusion。Early Fusion中target item会通过user LLM与用户交互历史进行交叉,但是所有候选的item都需要过一遍,计算成本太高;Late Fusion中user LLM退化为用户特征编码器,类似item LLM,用一个[USER]来提取用户特征。
判别式目标优化的损失为:
3.3.实验效果
在公开数据集上超越之前大火的sota模型HSTU;作者还在线上的排序任务进行测试,关键指标提高0.705%
四、总结
可以看出LLM有应用在推荐链路的不同阶段的潜力,小红书是应用在召回阶段,字节是在排序阶段,而且都获得了不错的收益。期待未来LLM能简化重构推荐的链路。