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

目录

一、方法论

[1.1 NoteLLM框架](#1.1 NoteLLM框架)

[1.2 笔记压缩提示](#1.2 笔记压缩提示)

​编辑

特殊令牌与占位符说明

分类生成的具体内容定义

以下为话题标签生成的模板:

[1.3 生成-对比学习](#1.3 生成-对比学习)

协同信号整合

[1.4 协同监督微调(Collaborative Supervised Fine-Tuning)](#1.4 协同监督微调(Collaborative Supervised Fine-Tuning))


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

一、方法论

1.1 NoteLLM框架

本节介绍NoteLLM的框架,包含三个核心组件:笔记压缩提示词构建(Note Compression Prompt Construction)、生成式对比学习(GCL)和协同监督微调(CSFT),如图2所示。

通过笔记压缩提示灵活管理图像到图像(I2I)推荐任务及标签/分类生成任务。这些提示经分词后输入大语言模型(LLMs)。NoteLLM将协同信号与语义信息共同嵌入隐藏状态中。

生成式对比学习(GCL)利用生成压缩词的隐藏状态进行对比学习,从而捕获协同信号。

协同监督微调(CSFT)结合笔记的语义与协同信息,生成标签及分类内容。

1.2 笔记压缩提示

采用统一的笔记压缩提示(Note Compression Prompt)来同时支持图像到图像(I2I)推荐和生成任务。为了利用自回归大语言模型(LLMs)在I2I推荐任务中的生成能力,目标是将笔记内容压缩为单个特殊标记。这一压缩后的特殊标记通过生成式对比学习(GCL)获取协同知识,随后通过协同监督微调(CSFT)利用该知识生成标签/分类。

具体提出以下通用模板,用于笔记压缩及标签/分类生成:

特殊令牌与占位符说明

BOSEMBEOS 是特殊令牌(special tokens),用于标记文本的开始、嵌入和结束。

<Instruction>、<Input Note>、<Output Guidance>、<Output> 是占位符,在实际使用时会被替换为具体内容。

分类生成的具体内容定义

该模板中,占位符的具体含义如下:

  • <Instruction>:任务指令,描述用户需要完成的操作。
  • <Input Note>:输入说明,提供输入数据的格式或要求。
  • <Output Guidance>:输出引导,指导如何生成正确的输出。
  • <Output>:实际输出内容,由模型根据指令生成。

以下为话题标签生成的模板:

针对用户生成的话题标签数量不可预测的情况,采用随机抽取原始标签子集作为生成目标,以减少对大语言模型的潜在误导。随机选择的话题标签数量记为<j>,该数值同时嵌入<指令>和<输出引导>两部分。

完成提示词构建后,将其进行令牌化处理并输入大语言模型。模型通过蒸馏协作信号与关键语义信息,将其压缩为核心词汇,最终基于笔记的核心思想生成话题标签/分类。

1.3 生成-对比学习

预训练大语言模型(LLMs)通常通过指令微调或人类反馈强化学习(RLHF)学习新知识。这些方法主要利用语义信息提升模型的有效性和安全性。然而,在推荐任务中,仅依赖语义信息并不充分。协同信号对识别用户感兴趣的内容至关重要,但LLMs中缺乏此类信号。因此,提出生成-对比学习(GCL)以增强LLMs捕获协同信号的能力。GCL采用对比学习,从整体视角学习笔记间的关系邻近性,而非依赖特定答案或奖励模型。

协同信号整合

为将协同信号融入LLMs,采用共现机制基于用户行为构建相关笔记对。其假设是:被频繁共同阅读的笔记可能相关。具体实现中,收集一周内的用户行为数据统计共现次数,记录用户先浏览笔记𝑛𝐴后点击笔记𝑛𝐵的行为。同时,为区分不同用户对共现的贡献差异,为不同点击分配权重。共现得分计算公式如下:

𝑠𝑛𝐴→𝑛𝐵 表示从笔记𝑛𝐴到笔记𝑛𝐵的共现分数,𝑈是用户行为数据中的用户数量,𝑁𝑖表示第𝑖个用户在用户行为数据中点击的笔记集合的数量。这一操作的目的是防止活跃用户的误导行为,他们可能会盲目点击推荐给他们的每一条笔记。

计算所有笔记对的共现分数后,构建从笔记𝑛𝑖到所有其他笔记的共现分数集合S𝑛𝑖,具体定义为{𝑠𝑛𝑖→𝑛𝑗 |1 ≤ 𝑗 ≤ 𝑚,𝑖 ≠ 𝑗}。接着,从S𝑛𝑖中过滤掉共现分数高于阈值𝑢或低于阈值𝑙的异常笔记。最后,从过滤后的集合中选择共现分数最高的𝑡条笔记作为笔记𝑛𝑖的相关笔记。

构建相关笔记对后,训练NoteLLM以基于文本语义和协同信号判断笔记的相关性。不同于简单地使用特殊池化词表示笔记,通过提示(prompt)压缩笔记信息生成一个虚拟词。该虚拟词的最后隐藏状态包含给定笔记的语义信息和协同信号,可用于表示笔记。

具体而言,由于大语言模型(LLM)的自回归特性,取EMB前一个token的最后隐藏状态,并通过线性层将其转换到维度为𝑑的笔记嵌入空间。第𝑖条笔记𝑛𝑖的嵌入表示为𝒏𝑖。假设每个小批量(minibatch)包含𝐵对相关笔记,则每个小批量共有2𝐵条笔记。将笔记𝑛𝑖的相关笔记记为𝑛𝑖+,其嵌入表示为𝒏𝑖+。参考相关研究,生成式-对比学习(GCL)的损失函数计算如下:

该公式中:

  • ( ) 表示生成式-对比学习(GCL)的损失函数。
  • ( ) 为可学习的温度参数,用于调节相似度的分布。
  • ( ) 是向量 ( a ) 和 ( b ) 的余弦相似度,计算方式为 ( ),其中 ( | \cdot | ) 表示向量的L2范数。

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

大语言模型(LLMs)因其强大的语义理解和生成能力而备受关注。现有研究尝试将LLMs的卓越能力应用于句子嵌入生成10, 26, 28, 30, 39,但这些方法忽视了LLMs的生成特性,仅将其视为嵌入生成器,未能充分挖掘其潜力。此外,这些方法未充分利用代表笔记核心概念的标签/分类信息。

生成标签/分类与生成笔记嵌入具有相似性,两者均旨在总结笔记内容。标签/分类生成任务从文本生成角度提取关键信息,而笔记嵌入任务则从协同过滤视角将笔记压缩为虚拟词,用于I2I推荐。为此,NoteLLM联合建模生成式-对比学习(GCL)与协同监督微调(CSFT)任务,以提升嵌入质量。通过将两项任务整合至单一提示模板,为两者提供额外信息并简化训练流程。

具体实现中,CSFT利用笔记的语义内容及压缩令牌中的协同信号生成标签/分类。为提升训练效率并缓解遗忘问题40,每个批次中随机选择𝑟条笔记执行标签生成任务,其余笔记用于分类生成任务。CSFT损失函数计算如下:

𝐿𝑔𝑒𝑛 表示 CSFT(协同监督微调)损失,𝑇 是输出序列的长度,𝑜𝑖 代表输出序列 𝑜 中的第 𝑖 个 token,而 𝑖 是输入序列。最终,NoteLLM 的损失函数结合了 GCL(全局对比学习)和 CSFT,定义如下:

其中,𝐿 表示 NoteLLM 的总损失函数,𝛼 为超参数。通过模型更新,NoteLLM 能够同步执行笔记推荐场景中的图文推荐(I2I)任务以及话题标签/类别生成任务。


本篇内容关于方法论的部分已经完成描述,下一篇会具体讲解实验部分。

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

相关推荐
我爱cope6 小时前
【Agent智能体26 | 多智能体-多智能体工作流】
人工智能·设计模式·语言模型·职场和发展
逻极6 小时前
Hermes Agent深度探索:一个会自我沉淀经验的终端智能体
架构·llm·agent·rag·多智能体系统·hermes agent·hermes
财经资讯数据_灵砚智能7 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月10日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
装不满的克莱因瓶9 小时前
自然语言处理发展历史——从规则系统到大语言模型的演进之路
网络·人工智能·python·深度学习·语言模型·自然语言处理
装不满的克莱因瓶10 小时前
RLHF中的PPO算法——大语言模型对齐优化的核心引擎
人工智能·python·深度学习·算法·机器学习·语言模型·自然语言处理
stereohomology12 小时前
让AI精确修改视觉可见的细节是繁琐的
llm·多模态编辑
AndrewHZ12 小时前
【LLM技术全景】开源大模型生态:如何选择适合你的基座模型?
人工智能·深度学习·语言模型·开源·llm·transformer·基座模型
古希腊掌管代码的神THU13 小时前
【清华代码熊】Agent Harness 工程实践之(1): Context管理
人工智能·深度学习·自然语言处理·面试
ZKNOW甄知科技14 小时前
燕千云AI-ITR系列:三线分层机制的标准化解决方案
大数据·运维·人工智能·低代码·自然语言处理·自动化·敏捷流程