AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


LEARN:百川大模型在快手推荐中的应用
发布日期:2024-07-09 08:12:14 浏览次数: 2599 来源:NewBeeNLP



这一两年推荐的论文工作离不开冷启和长尾问题,就像过去几年离不开序列和多目标一样,所套的壳子也从时序模型发展到对比学习和LLM,更像是“问题长期存在,我们现在有了更好的工具解决”,鸡生蛋与蛋生鸡总是这么的迷人和无所遁形。

关于冷启动和长尾推荐,以往推荐模型主要的问题是对于ID的依赖,大部分模型学到的价值都是ID对应的Embedding向量,由此数据量不够时就效果甚微。

分享一篇快手将百川大模型应用于推荐中的工作。

  • 论文:Knowledge Adaptation from LLM to Recommendation for Practical Industrial Application
  • 机构:快手
  • 链接:https://arxiv.org/pdf/2405.03988
  • 会议:论文里还是ACM的标准模板

LLM-Rec大模型推荐

大型语言模型(如GPT-3,文中使用的是Baichuan2-7B)在处理和理解自然语言方面表现出色,可以将其作为基座,认为具备更加普世的知识提取,从而使推荐系统更好地理解物品描述,提高推荐的准确性和多样性

Baichuan2-7B: https://huggingface.co/baichuan-inc/Baichuan2-7B-Base

将大语言模型引入到推荐中的工作在前几年也一直都有(指NLP模型,非要说BERT这类不算LLM那就不算),比如Bert4Rec、RankT5、RecFormer之类

过往使用大模型做推荐分为两种思路:

  • 冻结LLM参数并适应推荐领域数据 :利用LLM生成物品的内容嵌入,通常是通过处理生成物品的文本描述(如标题、说明、评论等),从而捕捉物品的语义信息,比如Chat-Rec。
  • 在推荐领域的特定文本数据集上微调LLM :利用LLM捕捉用户行为序列,通过设计提示prompt,使LLM学习用户和物品之间的潜在关系,在预测任务中理解用户的偏好变化和行为模式,从而更好地预测用户可能感兴趣的物品,比如TallRec。

文中认为以上其实都是将LLM的广域和推荐领域强行结合(Rec-to-LLM),可能会出现遗忘,即随着推荐任务的学习,模型会丢失在预训练过程中学到的知识。

由此有了新的这个LEARN框架(Llm-driven knowlEdge Adaptive RecommeNdation),旨在有效融合大模型和推荐系统(LLM-to-Rec),更像是一种特征提取,LEARN框架通过双塔结构(用户塔和物品塔),利用LLM生成的Embedding来改进推荐性能。

LEARN

LEARN模型的主要结构包括两个塔:用户塔(User Tower)和商品塔(Item Tower),每个塔由两个模块组成:内容嵌入生成模块(Content-Embedding Generation Module, CEG)和偏好理解模块(Preference Comprehension Module, PCH)。

商品文本描述

首先对每个商品按标题、品类、品牌、价格、关键词和属性进行文本描述:

内容Embedding生成模块(CEG)

通过主谓宾将item描述转为句子后使用大模型抽取token的高维向量,通过均一池化生成Embedding,在训练阶段,冻结LLM以防止其遗忘广域知识:

偏好理解模块(PCH)

其实是用户Embedding生成,将内容Embedding映射到推荐系统的协作域:使用来自用户历史交互的商品内容Embedding序列作为输入,传入Transformer中做时序预测,最终生成用户Embedding。在训练时,使用自监督对比学习作为训练目标,以增强模型区分用户偏好商品和非偏好商品的能力。

历史序列和目标序列

感觉是对行为序列做截断,当前曝光之前的作为历史序列,当前曝光之后的作为目标序列,对于第i个用户,其历史交互序列和目标交互序列分别定义如下:

  • 历史交互序列:U_hist_i = {Item_i1, Item_i2, ..., Item_iH}
  • 目标交互序列:U_tar_i = {Item_i(H+1), Item_i(H+2), ..., Item_i(H+T)}

用户塔和商品塔

用户塔就是PCH,商品塔给了三种样式:

用户塔、商品塔

  1. Variant 1 :使用与用户塔相同的架构和模型权重,但输入的是用户目标交互序列(user target interactions)。这种方法通过使用相同的因果注意机制(causal attention)来处理用户历史交互,从而对齐用户和商品Embedding。
  2. Variant 2 :使用自注意机制(self-attention mechanism),只关注商品本身。独立处理每个商品,不考虑商品之间的顺序依赖。
  3. Variant 3 :直接使用CEG生成的内容Embedding,在训练阶段使用用户目标交互序列,在推理阶段只使用商品的文本描述作为输入。

在训练阶段,Variant 1 使用用户目标交互序列作为输入,Variant 2 和Variant 3 独立处理每个商品。

在推理阶段,这三种变体只使用一个商品的文本描述作为输入,独立输出Embedding。

损失和实际模型

实际的使用还是要预测cvr,因此训练时再加一个传统的关于CVR任务的MLP结构:

由此,损失包含主损失和辅助损失。

主损失(Main Loss)

主损失用于直接指导模型,利用用户和商品Embedding来预测用户对商品的偏好。主损失的目标是最小化推荐结果与实际用户行为之间的误差,从而提高模型的推荐准确度。通过模型的主塔计算,输入为用户Embedding和商品Embedding。正样本是用户实际与之交互的商品,负样本则是用户没有交互的商品。通过对比正负样本,模型能够更好地学习用户偏好的特征,因此损失为InfoNCE:

辅助损失(Auxiliary Loss)

辅助损失用于进一步提升模型性能,帮助模型更好地融合不同类型Embedding,是一个转换率(CVR)损失,交叉熵吧。

实验

H代表命中率(hit rate),R代表召回率(recall rate):

商品Embedding:

训练方式:

和SOTA比较:

三个商品塔:

PCH消融:

线上AB的AUC:

CVR提升:

冷启和长尾:

整体上就像曾经的ResNet、Attention、LSTM、GNN等,推荐领域紧跟时事,提一嘴Diffusion-Model,现在各家都在搞对比学习,为啥不给推荐序列加噪音呢??




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询