
随着ChatGPT横空出世,大模型的风算是吹遍了每一个领域,推荐系统作为老牌AI领域,也得沾沾光嘛~
大模型与推荐结合的方式有很多,我个人将其分为三种类型:

相比于其他方案,LLM-to-Rec是最容易落地的,且ROI较高,也不用太多训练资源。
本文主要看一下今年工业界落地LLM-to-Rec的一些方案并进行快速总结,供大家一起讨论~
《Knowledge Adaptation from Large Language Model to Recommendation for Practical Industrial Application》
和之前想用word2vec、bert的思路一样,都是想用LM的embedding来弥补推荐模型中的冷启动以及长尾物品由于行为稀疏学不好的问题。
直接硬怼进去效果不好,主要是觉得在特征embedding那么长的里面,文本embedding比较小的一个点。另外就是这些特征本质上都是在其对应的预训练任务上做的,与推荐任务的目标是不一致的,直接加入到模型中可能会被当成噪音。之前尝试过把文本embedding单取出来与其他特征做attention,有一定效果。但是总感觉不是最好的方法。
2024.5快手这篇工作主要就是说怎么把LLM的embedding用在排序中,简单说一下我理解的点:

3. 模型:文章这里是又train了一个模型,简单说就是一个双塔模型来获取user embedding和item embedding,输入是用户序列,中间一刀切,一半在user塔,一半在item塔。loss就是infonce。
其中每个塔都是一个SASRec,和传统的dssm相比,从id embedding换成了LLM的embedding。
这里为啥没用Bert,文章里面说的是:
用了,效果不如SASRec这种结构。(Although Variant 2 also achieves the projection from the content domain to the collaborative domain, its performance is not as well as Variant 1, which utilizes the causal attention mechanism.)
文章没有解释清楚原因,感觉是BERT的自注意力机制导致泄露信息,毕竟这里和Bert4Rec不一样,本质上还是一个序列模型。

4. 线上使用:这里生成了64维的用户和物品向量。线上弄了个辅助的CVR任务,没说具体是啥转换任务,可以根据自己业务选择吧。把用户和物品embedding concat之后输入到左边的MLP里面做辅助任务,取中间的embedding再和之前的64维embedding一起塞入主模型。

《HLLM: Enhancing Sequential Recommendations via Hierarchical Large Language Models for Item and User Modeling》
推荐系统主流的方法是基于ID embedding的,基于id的两个缺点:1. 严重依赖 ID 特征,导致冷启动场景中性能不佳;2.相对较浅的神经网络,难以对复杂多样的用户兴趣进行建模。抖音HLLM仅使用文本特征,往LLM怼,并且做SFT。和LEARN比,HLLM去STF模型。模型结构大概如下:


细节:
线上使用:

《FLARE: Fusing Language Models and Collaborative Architectures for Recommender Enhancement》
本文是把LLM生成的Emb作为ID Emb的side info,来补充信息。同时借鉴了很多 多模态的技术,来优化模型和效果。比如CLIP和Perceiver。


从业界近期工作看下来之后发现:
而LLM emb与推荐系统结合,可以总结成2个步骤:
因此可以有以下几个步骤来实现:
【直接拿】:利用LLM生成item embedding,再根据用户历史互动序列,做avg pooling获取user embedding。
【直接用】:拿到Ei和Eu之后,直接以dense特征送入排序模型。比如:分别MLP再Concat;或先Concat再MLP
【排序辅助任务对齐】:简单一些的类似于LEARN的辅助塔结构,思路打开后也可以把FLARE的对比学习模块放入精排中,对用户序列特征做一个辅助任务,其目的是让embedding更好的适应于推荐任务。
【离线模型对齐】:参考LEARN、HLLM、FLARE,基本上都是利用交互信息来把LLM emb对齐推荐任务。
聪明的大家肯定可以排列组合来一步步迭代自己的模型,总的来说还是换汤不换药,本质上是多模态融合,但是毕竟带着LLM,故事也好说嘛~(狗头)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。