LEARN:百川大模型在快手推荐中的应用

文摘   2024-07-09 10:12   上海  


作者 | 冯卡门迪 

整理 | NewBeeNLP

https://zhuanlan.zhihu.com/p/705497209

这一两年推荐的论文工作离不开冷启和长尾问题,就像过去几年离不开序列和多目标一样,所套的壳子也从时序模型发展到对比学习和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以防止其遗忘广域知识:

CEG

偏好理解模块(PCH)

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

PCH

历史序列和目标序列

感觉是对行为序列做截断,当前曝光之前的作为历史序列,当前曝光之后的作为目标序列,对于第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:

InfoNCE

辅助损失(Auxiliary Loss)

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

实验

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

命中率
召回率

商品Embedding:

商品Embedding

训练方式:

训练方式对比

和SOTA比较:

和SOTA对比

三个商品塔:

商品塔

PCH消融:

PCH

线上AB的AUC:

AUC

CVR提升:

CVR提升

冷启和长尾:

冷启和长尾

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

进交流群请添加小助手微信



关于互联网持续学习圈


互联网持续学习圈是由清华大学计算机系校友、前阿里和微软算法工程师创办。汇聚互联网精英、985高校及海外硕博、自主创业者等,是持续学习者的专属圈。专注互联网资讯、科研、求职等。器识其先,文艺其从,陪你进化二十年。



互联网持续学习圈
清华大学计算机系校友、前微软、阿里高级算法工程师创办。汇聚互联网精英、985高校及海外硕博、自主创业者,持续学习者的专属圈。专注互联网资讯、科研、求职等。器识其先,文艺其从,陪你进化二十年。
 最新文章