NoteLLM: 大语言模型在小红书推荐系统的落地应用

NoteLLM:大语言模型在小红书推荐系统的应用 如何利用LLM生成更好的embedding用于i2i召回链路? 阅读详情

今天分享一篇小红书今年3月的论文,介绍了大语言模型在小红书笔记推荐场景下的落地应用,主要是围绕如何利用LLM的表征能力来生成更适用于i2i召回的文本embedding,思路简单,落地也容易,个人觉得实践价值非常高,值得学习。

图片

  • NoteLLM: A Retrievable Large Language Model for Note Recommendation
  • https://arxiv.org/abs/2403.01744

背景

为了解决推荐中的物品冷启动问题,在召回阶段中往往会增加一路使用 内容多模态表征的i2i召回 ,这路召回由于只使用了纯内容的特征,和老物品便可以公平比较,不会产生因为新物品后验行为少而导致无法被召回的问题。

现有的多模态i2i召回方法在文本侧一般都是用一个BERT经过预训练后生成embedding然后基于embedding的相似度来进行召回,但是这样可能也会存在一些问题:

  1. BERT表征能力不足 。相较于BERT,使用参数量更大的LLM来生成embedding可能可以学习到一些更为长尾的信息,同时仅使用Bert生成的embedding只能代表文本的语义信息,和下游推荐任务的目标存在一定的不一致;
  2. 标签类别信息利用不够充分 。一篇图文笔记的标签和类别往往代表他的中心思想,对于确定两个笔记是否相关至关重要,但现有的Bert方法只是将标签和类别视为内容的一个组成部分(实际上BERT做预训练时除了MLM任务应该也会有标题预测标签/类别这种任务,这个论述感觉站不住脚)。而文章发现,使用笔记内容生成标签和类别的过程和生成笔记的embedding十分类似,都是讲笔记的关键信息压缩成有限的内容,因此引入一个生成标签和类别的任务可能会提升最终embedding的质量。

因此,文章提出了一种多任务学习的方法,称为 NoteLLM, 使用Llama 2作为backbone,旨在生成更适用于推荐任务的文本embedding 。

具体来说,首先为每个样本构造一个统一的笔记压缩Prompt,然后使用两个预训练任务来生成更好的文本embedding。

  • 一个任务称为 生成式对比学习 (Generative-Contrastive Learning),该任务会将笔记的内容压缩到一个特殊的token中,使用该token生成的向量便可以作为笔记的文本表征。这个任务使用了推荐中的协同过滤信号作为标签来进行对比学习,首先会统计所有笔记对的共现分数,然后使用共现分数高的笔记对视为相关性高的笔记,作为正样本,batch内负样本,用对比学习的方式进行训练,由于引入了协同过滤的信号,所以最终生成的embedding可以更适用于下游推荐任务。
  • 另外一个任务是用笔记标题和内容来生成笔记的标签和类别,称为 协同监督微调 (Generative-Contrastive Learning),这个任务不仅可以生成标签和类别,同时,由于它和生成embedding的过程类似,都是可以提取笔记文本中的关键信息,因此,引入该任务也可以增强第一个任务生成的笔记embedding。

方法介绍

方法分为三个部分,一个输入的prompt构建和训练时用到的两个预训练任务:

  • 笔记压缩prompt构建
  • 生成式对比学习(Generative-Contrastive Learning)
  • 协同监督微调(Collaborative Supervised Fine-Tuning)

笔记压缩prompt构建用来定义模型在训练时的输入,生成式对比学习和协同监督微调分别对应两个预训练任务,前者引入了推荐中的协同过滤信号作为标签进行对比学习来训练更好的文本表征,后者其实就是根据笔记内容来生成对应的标签和类别。

具体流程如下,首先在离线训练阶段,首先根据用户行为构建出很多的相关笔记对,作为训练样本,然后使用LLaMA 2作为backbone进行训练,在训练时一方面使用相关笔记对进行对比学习,另一方面还加入了一个标题和标签生成任务来提高前者embedding生成的质量,而在线则使用模型生成的笔记embedding做ANN召回相关的笔记,同时也可以生成笔记的标签和类别来辅助其他任务。

图片

笔记压缩prompt

这里在构建prompt的时候同时考虑到了两个预训练任务,一方面为了能够借助将笔记的文本内容压缩到一个token中,再使用这个token映射的向量来进行生成式对比学习,也作为最终输出的文本表征,另一方面也想通过标签和类别生成任务,用来加强前者文本表征的能力,具体的prompt模板如下:

Prompt: [BOS] The compression word is:“[EMB]”. [EOS]

[BOS]代表句子开头,[EOS]代表句子结尾,[EMB]则代表最终要输出文本表征所对应的那个token,最终会将这个token对应的隐向量经过一个全连接层映射后得到最终的表征向量。

同时,针对类别生成和标签生成使用了不同的prompt,但是模板都是同一个,具体来说,如果是做类别生成,那么prompt就是这样的:

: Extract the note information in json format, compress it into one word for recommendation, and generate the category of the note. : {’title’: , ’topic’: , ’content’: }. : The category is: :

如果是用来做标签生成,那么prompt就是这样的:

: Extract the note information in json format, compress it into one word for recommendation, and generate topics of the note. : {’title’: , ’content’: }. : The topics are: : topics from

由于标签有很多,大模型可以不断生成,所以这里从原始标签里随机采样j个标签作为生成的内容,并且在prompt里规定了只能生成j个标签。

在prompt构建输入完成后,便可以把[EMB]这个特殊token最终输出的隐向量当成笔记的文本表征,同时也能够根据笔记的内容生成对应的标签和类别。

生成式对比学习(Generative-Contrastive Learning)

虽然大模型通过SFT和RLHF预训练之后能够表征的语义信息是非常丰富的,但是直接用在下游推荐任务中却不一定好,主要是因为大模型的预训练任务是为了获取语义信息,而下游推荐的目标却是为了点击率,两个目标存在差距,所以这个生成式对比学习就是为了在大模型的预训练中引入推荐的协同过滤信号,从而使得生成的embedding更适用于下游的推荐任务。

具体来说,首先统计一周时间窗口内每个用户点击笔记A后再点击笔记B的次数,然后算出一个共现分数,作为协同过滤的信号,计算两篇笔记共现分数的公式如下:

这里 U 是用户的个数, 代表用户的点击次数,实际上就是对活跃用户进行了降权,防止某些高活用户什么笔记都点导致计算的共现分数不准确。

在计算得到所有笔记两两之间的共现分后,然后再卡阈值,将低于或高于某个阈值的笔记进行过滤,最后对于每个笔记,都会得到和其相关的笔记集合,再两两构建笔记对作为输入的正样本。

进一步,对于每个笔记,都使用这个特殊token的隐向量经过全连接层映射得到的向量作为文本表征向量 ,便可以采用对比学习的方式来进行学习,正样本就是构建好的相关笔记对,对应向量记作 ,负样本采用batch内负采样,对应向量记作 ,损失函数使用对比学习的Info-NCE:

相似度计算采用余弦相似度, sim(a,b)=a^\top b/(|a||b|)

通过这种方式进行训练,便可以使得LLM学到一些用户行为相关的信息,从而生成更好的文本表征服务于下游推荐任务。

顺便说一下,这个思路其实和小红书之前发的另一篇论文提到的CB2CF其实是一脉相承的,只不过另外一篇同时用了文本和图像特征,损失函数用的交叉熵。

图片

协同监督微调(Collaborative Supervised Fine-Tuning)

这个任务实际上就是一个做标签/类别生成任务的SFT,加了协同两个字可能是因为要跟前面引入了协同过滤信号的GCL对应起来,为什么要加这样一个任务呢? 文章提到了两个原因:

  1. 只用LLM生成句子embedding有点像大炮打蚊子的感觉,没有充分发挥LLM强大的生成能力。这边猜测应该是因为生成的标签和类别还可以用于一些其他场景,比如当一些笔记缺乏标签,或者类别不正确是可以使用LLM为其补充信息。
  2. 可以提高上一步生成式对比学习生成的embedding的质量。这是由于生成标签/类别和生成笔记embedding一样,都是旨在总结整个笔记内容。所以加了这个预训练任务可能可以提高生成最终生成的embedding的质量

具体来说,在CSFT里面要同时做类别和标签预测,文章提到为了提高训练效率并防止遗忘问题,会从每个批次中选择 r 个笔记用于标签生成任务,而剩余的笔记则分配用于类别生成任务。CSFT的损失函数如下,其实就是把输出部分的token计算下loss:

图片

最终模型的loss由两项加起来,并且用 作为超参控制两个loss的权重:

实验结果

离线实验

离线实验主要是和线上的SentenceBERT基线以及其他几种用大模型生成文本嵌入的方法对比,用recall@k做评价指标,效果都要更好,结论就是:NoteLLM>=其他方法微调的LLM>>BERT微调>>LLM zero-shot

图片

同时,通过对不同曝光水平的笔记对指标进行了拆分,发现NoteLLM在不同曝光水平的笔记上提升都较为一致,另外可以发现各个方法在低曝光笔记上的召回率都要远高于高曝光的,说明基于内容embedding的方法能够更有效地召回冷启动物品。

图片

消融实验

文章这边也做了消融实验,分别把CSFT任务以及GCL任务去掉,以及在GCL内部对标签类别生成取不同的数据比例,结果发现就是两部分缺一不可,这里可以发现起到最关键作用的是GCL任务,类别预测和标签生成的任务好像对整体效果是可有可无的感觉,看起来只用协同过滤的目标来做对比学习也能效果很好。

图片

在线实验

文章说做了一周的ab实验,跟之前的SentenceBERT基线相比,NoteLLM的点击率提高了16.20%,评论数量增加了1.10%,平均每周发布者数量(WAP)增加了0.41%。结果表明将LLM引入i2i推荐任务可以提高推荐性能和用户体验。此外,还观察到单日对新笔记的评论数量显着增加了3.58%。这表明LLM的引入有利于冷启动。NoteLLM最终推全上线。

总结

尽管现在LLM用来做推荐的论文层出不穷,但是真正能够落地的工作能有几个呢?目前大模型在像搜索推荐这种业务算法中最好落地的还是用来打标以及为下游任务生成可用的embedding或者其他特征,这篇文章就为后者提供了一个非常好的值得参考的范例,不仅能够生成更好的文本表征服务于下游推荐任务,也可以生成一些标签和类别可以用来辅助一些其他场景的任务,整体落地还是非常简单的

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

ReLLa: Retrieval-enhanced Large Language Models LLM在推荐领域中无法从长用户行为序列的文本上提取有用信息,即使文本长度远远没有达到LLM的文本长度限制。 阅读详情

相关推荐

LLM应用实践: NoteBookLM初次使用

本文主要介绍了NoteBookLM的初次使用,对于提高学习效率,有质的飞升,而且目前处于试用阶段,请各位看官速速试用。

MENGERN的专栏 2728

小红书独家:NoteLLM——智能笔记推荐与标签生成的革命性工具!

随着社交媒体平台如小红书和 Lemon8(字节) 的流行,用户生成内容(UGC)中的 Note 分享变得越来越普遍。这些平台鼓励用户分享产品评价、旅行博客和生活经历等,Note 推荐因此成为提升用户参与度的关键部分。现有的 Online 方法仅将 Note 输入基于 BERT 的模型以生成 Note Embedding 来评估相似性。然而,这些方法可能未能充分利用一些重要线索,例如话题标签(Hashtag)或类别(Category)。

2401_84204413的博客 2617

正交试验实战指南:从PICT工具到混合水平表应用

本文详细介绍了正交试验法在测试设计中的实战应用,从基础概念到PICT工具的高级使用技巧。通过混合水平表设计和工程化实践案例,帮助测试工程师高效解决参数组合爆炸问题,提升测试覆盖率与效率。特别适合兼容性测试和复杂系统验证场景。

weixin_29230865的博客 259

NoteLLM-2来袭:用LLM重塑推荐系统,比多模态大模型更高效!

小红书团队最新提出NoteLLM-2多模态推荐模型,突破传统推荐系统局限。该模型创新性地结合大语言模型和视觉编码器,采用"多模态上下文学习+延迟融合"机制,有效解决图像信息衰减问题。实验表明,该模型在召回率上提升2.47%,线上实测点击率增长8.08%,且训练成本更低、推理速度更快。NoteLLM-2为大模型在多模态推荐领域的应用提供了高效、低成本的解决方案,未来可扩展至视频等复杂模态场景。

2401_84204207的博客 1195

CentOS7下OpenVPN Access Server 2.12.0安装与智能分流配置指南

本文详细介绍了在CentOS7系统上安装OpenVPN Access Server 2.12.0并进行智能分流配置的完整指南。从环境准备、核心安装到智能分流策略的深度配置,提供了经过验证的优化方案和故障排查技巧,帮助用户实现高效的VPN网关部署和流量管理。

weixin_30546189的博客 289

二维卡尔曼滤波位置,速度融合

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

Johnlee2019的博客 8451

小红书的AI推荐引擎进化论:从RAG到Graph RAG的技术与产品思考 | 附AI大模型常用和核心专业术语表(吐血整理!)

RAG 是基础框架,DeepSeek-OCR 加强输入端,Graph RAG 加强检索端。从产品经理的角度,这三种技术解决的问题是层级递进的:技术解决的问题优先级部署难度RAG如何快速找到相似内容🔴 必须⭐ 简单如何高效处理多模态内容🟡 重要⭐⭐ 中等Graph RAG如何理解内容的深层关系🟢 优化⭐⭐⭐ 复杂。

Python_0011的博客 1371

Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning——“预取”论文解读

参考传送门: 1. Hardware Prefetching笔记 2. 全球百科——缓存预取 3. 百度百科——缓存数据预期技术 目录0. 什么是Hardware Prefetching(本节内容不包括在论文中)1. 简介1.1 关于Hardware Prefetching的一些关键信息1.2 现阶段方法的缺陷1.3 论文团队的目标1.4 核心思想2. 必要的背景知识介绍2.1 强化学习(Reinforcement learning)2.2 为什么说强化学习是一个好的解决思路3. 解决方法与思路3.1 Py

Pinkgranite86的博客 2166

LEARN: LLM在快手电商广告推荐场景的应用

作者|Lukan整理|NewBeeNLP今天继续分享一篇大模型在推荐系统中的落地应用工作,是快手今年5月份发表的论文《Knowledge Adaptation from Large Language Model to Recommendation for Practical Industrial Application》。太长不看版这篇文章主要做了两个工作:工作1:使用冻结的LLM提取...

Kaiyuan_sjtu的博客 1889

中国裁判文书网案例批量爬取

本文介绍了某法院网站数据采集的技术研究过程,主要包含JS逆向分析和数据解密方法。通过开发者工具分析发现页面数据经过加密处理,重点研究了ciphertext等加密参数的生成逻辑。文章详细记录了定位加密函数、扣取加密代码、解密数据处理的全流程,并验证了解密方法的有效性。研究过程中强调了技术使用的法律边界,明确声明仅用于合法技术研究,禁止任何非法数据爬取行为。最终实现了加密数据的成功解密,并解释了各请求参数的作用,为后续数据清洗和存储奠定了基础。

2303_80825459的博客 813

星光、黑光、全彩夜视摄像头技术解析与实战选型指南

本文深入解析了星光、黑光、全彩与红外等主流夜视摄像头技术的工作原理与核心差异。针对不同监控场景与预算,提供了实战选型指南,帮助用户在安防项目中做出明智决策,实现夜间监控效果最大化。

weixin_29179311的博客 345

推荐大模型系列-NoteLLM: A Retrievable Large Language Model for Note Recommendation(二)

本文提出NoteLLM框架,用于同时处理图像推荐和标签/分类生成任务。该框架包含三个核心组件:1)笔记压缩提示构建,将笔记内容压缩为特殊标记;2)生成式对比学习(GCL),通过对比学习捕获笔记间的协同信号;3)协同监督微调(CSFT),结合语义和协同信息生成标签/分类。GCL利用用户行为数据构建相关笔记对,CSFT则联合优化标签生成和分类任务。实验表明,NoteLLM能有效整合语义和协同信息,在推荐和生成任务中表现优异。

flying_1314的博客 946

从零开始安装pytorch(包含GPU和CPU版本的安装)

Pytorch是。

qiaoxinyu1989的博客 8万+

小红书NoteLLM-2 : 多模态大模型表征赋能推荐

现阶段, 大语言模型(LLM)由于其在自然语言理解上的突出表现&优势, 在文本表征任务上有很多应用, 但鲜有工作能利用LLM来辅助提升多模态表征任务。比如小红书的多模态I2I推荐召回场景就是一个多模态表征任务场景。将LLM应用于多模态I2I可以大致分成两种:一种最直接的方式是预训练多模态大语言模型(MLLMs)表征, 对应图中灰色箭头的流程, 但这需要依赖高质量&大规模的训练数据, 训练过程及训练成本都非常高, 业务上可能难以接受。

m0_59164304的博客 2706

OpenLayers6入门,快速搭建Vue+OpenLayers地图脚手架项目

本章针对Vue初学者,对Vue不熟悉,甚至还不会Vue的入门学生读者。本章会详细讲解从环境到环境的各个步骤,再到使用脚手架快速生成项目,以及添加地图库依赖,编写简单的高德地图显示页面的。如果已有VUE项目或者熟悉VUE的读者可以不用看本章,直接添加ol依赖到VUE项目中即可。

GIS技术方向,GIS地图技术分享(GIS入门、Openlayers教程、Leaflet教程),做最好的GIS地图开发教程。关注博主公众号:eguid 5440

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

推荐大模型系列-NoteLLM: A Retrievable Large Language Model for Note Recommendation(三)

本文提出NoteLLM,一个基于大语言模型的可检索笔记推荐系统。研究在小红书商品数据集上验证了模型有效性,采用MetaLLaMA2作为基础模型,通过笔记压缩提示、生成式对比学习(GCL)和协同监督微调(CSFT)三个核心组件实现I2I推荐和标签/类别生成任务。实验表明,NoteLLM在召回率指标上优于现有方法,对高低曝光笔记均有效,在线实验点击率提升16.2%。消融研究证实CSFT模块的关键作用,同时发现标签与类别生成任务存在权衡关系。模型已部署于小红书平台,有效提升推荐效果和用户体验。

flying_1314的博客 1201

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

推荐大模型系列-NoteLLM: A Retrievable Large Language Model for Note Recommendation(一)

摘要: 本文提出NoteLLM框架,创新性地利用大语言模型(LLMs)解决社交媒体笔记推荐(I2I)问题。针对现有基于BERT的方法仅将标签/分类作为内容组成部分的局限,该框架通过多任务学习同时优化笔记推荐和标签/分类生成任务。核心创新包括:1)设计笔记压缩提示生成特殊标记作为嵌入;2)采用生成-对比学习识别相关笔记;3)通过协同监督微调生成标签/分类以增强嵌入质量。实验表明,该方案在小红书平台显著优于基线方法,为LLMs在I2I推荐中的应用提供了新思路。

flying_1314的博客 1293

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

当推荐系统遇见大语言模型:通往未来的三条路径

©作者 | 张月鹏单位 |得物研究方向 | 搜推算法前言自从大语言模型爆火之后,大家对大语言模型(LLM)如何成功应用在推荐系统进行了不少尝试。个人一直觉得 LLM 在工业界推荐系统大部分情况还是离线应用,生成一些特征或者文本。至于其直接用作召回和排序模块,个人对这块的观点一直是比较悲观的。出于两点考虑:1)推理耗时问题,大模型的推理耗时难以满足推荐系统快速响应的体验要求;2)基于 ID 和用户...

Paper weekly 2556

论文速读|NoteLLM: A Retrievable Large Language Model for Note Recommendation.WWW24

人们喜欢在在线社区中分享“笔记”,包括他们的经验。因此,推荐符合用户兴趣的笔记已成为一项至关重要的任务。现有的在线方法仅将笔记输入到基于BERT的模型中,以生成用于评估相似性的笔记嵌入。然而,它们可能没有充分利用一些重要的线索,例如主题标签或类别,它们代表了笔记的关键概念。事实上,学习生成主题标签/类别可以潜在地增强笔记嵌入,这两种方法都将关键笔记信息压缩到有限的内容中。此外,大型语言模型(LLM)在理解自然语言方面明显优于BERT。将LLM引入笔记推荐很有希望。

科研笔记 1964

推荐大模型系列-NoteLLM-2: Multimodal Large Representation Models for Recommendation(一)

本文提出NoteLLM-2框架,旨在解决大语言模型(LLMs)在多模态商品推荐(I2I)中的视觉信息忽视问题。研究发现直接微调的LLMs存在文本偏向性,为此创新性地设计了两种方法:基于提示词的多模态上下文学习(mICL)分离视觉与文本内容,以及晚期融合技术直接整合视觉信息。实验表明,该框架显著提升了多模态表征性能,在召回任务中优于传统方法。研究首次探索了LLM辅助的多模态表征在推荐场景的应用,为跨模态表征学习提供了新思路。

flying_1314的博客 1282

小红书&中科大 | LLM在笔记推荐中的首次落地

image-20240619172414638https://arxiv.org/pdf/2403.01744v2简介本文来自小红书和中科大, 首次尝试了将LLM应用到笔记推荐(Note Recommendation)中. 更具体的,本文在推荐链路(召回->粗排->精排->重排)的召回环节, 新上(或替换了)一路现有的I2I(Item2Item, 这里item其实是Note)召回...

weixin_45519842的博客 1500
上一篇: AI大模型是如何测试效果的?
下一篇: 大模型进医院:老百姓用得上的,才是好!!
爱喝白开水a
博客等级 码龄3年 6793粉丝 763原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值