TokenRec: Learning to Tokenize ID for LLM-based Generative Recommendation
TL;DR 精炼摘要
本文提出新框架TokenRec,旨在提升基于大型语言模型(LLM)的推荐系统。通过掩蔽向量量化器(MQ Tokenizer)有效地将用户和物品进行ID词元化,并引入生成式检索方法,从而捕获高阶协同知识,提升推荐精度并缩短推理时间,实验表明TokenRec优于传统推荐系统与新兴LLM方案。
摘要
There is a growing interest in utilizing large-scale language models (LLMs) to advance next-generation Recommender Systems (RecSys), driven by their outstanding language understanding and in-context learning capabilities. In this scenario, tokenizing (i.e., indexing) users and items becomes essential for ensuring a seamless alignment of LLMs with recommendations. While several studies have made progress in representing users and items through textual contents or latent representations, challenges remain in efficiently capturing high-order collaborative knowledge into discrete tokens that are compatible with LLMs. Additionally, the majority of existing tokenization approaches often face difficulties in generalizing effectively to new/unseen users or items that were not in the training corpus. To address these challenges, we propose a novel framework called TokenRec, which introduces not only an effective ID tokenization strategy but also an efficient retrieval paradigm for LLM-based recommendations. Specifically, our tokenization strategy, Masked Vector-Quantized (MQ) Tokenizer, involves quantizing the masked user/item representations learned from collaborative filtering into discrete tokens, thus achieving a smooth incorporation of high-order collaborative knowledge and a generalizable tokenization of users and items for LLM-based RecSys. Meanwhile, our generative retrieval paradigm is designed to efficiently recommend top- items for users to eliminate the need for the time-consuming auto-regressive decoding and beam search processes used by LLMs, thus significantly reducing inference time. Comprehensive experiments validate the effectiveness of the proposed methods, demonstrating that TokenRec outperforms competitive benchmarks, including both traditional recommender systems and emerging LLM-based recommender systems.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
TokenRec: Learning to Tokenize ID for LLM-based Generative Recommendation (TokenRec:为基于大型语言模型(LLM)的生成式推荐学习 ID 词元化)
1.2. 作者
Haohao Qu, Wenqi Fan, Zihuai Zhao, Qing Li
1.3. 发表期刊/会议
arXiv 预印本
1.4. 发表年份
2024年
1.5. 摘要
大型语言模型(LLM)在语言理解和上下文学习方面的卓越能力,使其在下一代推荐系统(RecSys)中的应用受到越来越多的关注。在此背景下,将用户和物品进行词元化(即索引)对于确保 LLM 与推荐系统无缝对齐至关重要。尽管现有研究在通过文本内容或潜在表示来表示用户和物品方面取得了一些进展,但在将高阶协同知识有效地捕获到与 LLM 兼容的离散词元中仍然面临挑战。此外,大多数现有的词元化方法在有效泛化到训练语料库中不存在的新用户或未见过物品时往往会遇到困难。
为了解决这些挑战,本文提出了一个名为 TokenRec 的新颖框架,该框架不仅引入了一种有效的 ID 词元化策略,还引入了一种高效的检索范式,用于基于 LLM 的推荐。具体而言,本文提出的词元化策略,即 掩蔽向量量化器 (Masked Vector-Quantized, MQ) Tokenizer,通过将从协同过滤 (Collaborative Filtering, CF) 中学习到的掩蔽用户/物品表示量化为离散词元,从而实现了高阶协同知识的平滑融入以及用户和物品的通用词元化,以用于基于 LLM 的推荐系统。同时,本文的生成式检索 (Generative Retrieval) 范式旨在高效地为用户推荐 Top-K 物品,从而避免了 LLM 使用耗时的自回归解码和束搜索过程,显著缩短了推理时间。全面的实验验证了所提出方法的有效性,表明 TokenRec 优于包括传统推荐系统和新兴基于 LLM 推荐系统在内的竞争性基线。
1.6. 原文链接
- 原文链接: https://arxiv.org/abs/2406.10450
- PDF 链接: https://arxiv.org/pdf/2406.10450v3.pdf
- 发布状态: 预印本 (Preprint),发布于 arXiv。
2. 整体概括
2.1. 研究背景与动机
随着大型语言模型 (Large Language Models, LLMs) 在自然语言处理领域的飞速发展,其强大的语言理解和生成能力被认为是推动下一代推荐系统 (Recommender Systems, RecSys) 进步的关键。然而,将 LLMs 应用于推荐系统并非易事,其中一个核心挑战在于如何有效地将推荐系统中的核心实体——用户和物品——以 LLM 能够理解和处理的方式进行表示。这涉及到用户和物品的“词元化”或“索引”问题。
现有方法存在以下几个主要挑战:
-
大规模 ID 词元化挑战: 传统的推荐系统通常为每个用户和物品分配唯一的 ID。如果直接将这些 ID 映射为 LLM 的词元,当用户和物品数量达到数十亿时,LLM 的词汇表将急剧膨胀,导致模型训练和推理变得不切实际。
-
协同知识捕获不足: 许多现有的 LLM-based RecSys 方法主要依赖文本内容(如物品标题、描述)进行词元化。虽然这避免了词汇表膨胀问题,但却难以有效地捕获推荐系统中至关重要的高阶协同知识(例如,用户之间的隐式相似性,物品之间的关联性,这些通常通过用户-物品交互图学习得到)。
-
泛化能力弱: 现有的词元化方法在处理新用户或未曾见过的物品(即冷启动问题)时,往往表现不佳,因为这些实体在训练语料库中没有对应的文本或表示。
-
推理效率低下: 多数基于 LLM 的推荐系统采用自回归生成和束搜索 (beam search) 的方式来生成推荐结果(例如,生成物品 ID 或描述),这个过程非常耗时,难以满足实时推荐的需求。
-
幻觉问题: LLMs 在生成文本时可能出现“幻觉”,即生成不准确或不存在的物品信息,这在推荐场景中是不可接受的。
为了应对这些挑战,本文提出
TokenRec框架,旨在解决基于 LLM 的推荐系统中 ID 词元化、协同知识融入、泛化能力和推理效率的问题。
2.2. 核心贡献/主要发现
TokenRec 框架通过以下创新点解决了上述挑战:
-
提出了一种新颖的 ID 词元化策略:掩蔽向量量化器 (Masked Vector-Quantized, MQ) Tokenizer。
MQ-Tokenizer能够将从协同过滤(特别是基于 GNN 的方法)中学习到的高阶协同表示量化为离散词元,实现了协同知识与 LLM 的无缝集成。- 通过引入“掩蔽操作”和“-路编码器 (-way encoder)”两种机制,显著增强了词元化方法的泛化能力,尤其是在处理新用户和新物品时。
-
设计了一个高效的生成式检索 (Generative Retrieval) 范式。
- 该范式通过让 LLM 生成用户对下一个物品的偏好表示(而不是直接生成物品词元),然后利用向量检索技术从整个物品池中高效地检索
Top-K物品。 - 这种方法避免了 LLM 耗时的自回归解码和束搜索过程,显著提高了推理效率,并解决了 LLM 可能出现的幻觉问题。
- 该范式通过让 LLM 生成用户对下一个物品的偏好表示(而不是直接生成物品词元),然后利用向量检索技术从整个物品池中高效地检索
-
在泛化能力和推理效率方面取得了显著提升。
- 实验证明
TokenRec在处理未见过用户时,性能下降幅度远小于其他 LLM-based RecSys 方法,展现出强大的泛化能力。 - 在推理时间上,
TokenRec比现有基于 LLM 的方法快了约 12 倍,满足了实时推荐的需求。
- 实验证明
-
实现了卓越的推荐性能。
- 在四个真实世界基准数据集上进行的综合实验表明,
TokenRec在HR@K和NDCG@K等指标上,持续优于包括传统推荐系统和新兴基于 LLM 的推荐系统在内的所有竞争基线。 - 即使仅使用用户 ID 词元作为输入(不包含历史交互信息),
TokenRec依然能超越大多数基线,表明其能有效建模用户偏好并解决 LLM 上下文长度限制问题。
- 在四个真实世界基准数据集上进行的综合实验表明,
3. 预备知识与相关工作
3.1. 基础概念
3.1.1. 推荐系统 (Recommender Systems, RecSys)
概念定义: 推荐系统是一种信息过滤系统,旨在预测用户对物品的偏好,并向用户推荐他们可能感兴趣的物品。它通过分析用户的历史行为、物品特征以及用户与物品之间的关系来生成个性化推荐。推荐系统在电子商务、流媒体、社交媒体等领域广泛应用,有效解决了信息过载问题,提升了用户体验。
3.1.2. 协同过滤 (Collaborative Filtering, CF)
概念定义: 协同过滤是推荐系统中最常用且最有效的技术之一。其核心思想是“物以类聚,人以群分”,即如果两个用户在过去对某些物品的偏好相似,那么他们未来可能对其他物品的偏好也相似(用户-用户协同过滤);或者,如果两个物品被相似的用户群所喜欢,那么喜欢其中一个物品的用户可能也会喜欢另一个物品(物品-物品协同过滤)。CF 通过挖掘用户-物品交互历史中的协同模式来预测用户的潜在偏好。
3.1.3. 大型语言模型 (Large Language Models, LLMs)
概念定义: 大型语言模型是基于深度学习(特别是 Transformer 架构)的机器学习模型,通过在海量文本数据上进行预训练,学习到丰富的语言模式、语法、语义和世界知识。它们具有强大的语言理解、生成、推理和上下文学习能力,能够执行各种自然语言处理任务,如文本生成、问答、翻译等。LLMs 通常拥有数十亿甚至数千亿的参数。
3.1.4. 词元化 (Tokenization)
概念定义: 词元化是将文本(或数字 ID)分解成更小单元(称为词元)的过程,这些词元是语言模型处理的基本单位。在自然语言处理中,词元可以是单词、子词或字符。在推荐系统中,如果将用户 ID 和物品 ID 视为文本,则需要将其转换为 LLM 能够识别和处理的离散词元。
3.1.5. 向量量化 (Vector Quantization, VQ)
概念定义: 向量量化是一种数据压缩技术,旨在将连续的输入向量映射到有限的离散向量集合(称为码本或码字)中的一个。每个输入向量被其在码本中最接近的码字所代表。VQ 的目标是学习一个能够有效重建原始输入的码本和量化函数,同时实现数据离散化和压缩。在本文中,VQ 用于将用户/物品的连续表示转换为离散词元。
3.1.6. 图神经网络 (Graph Neural Networks, GNNs)
概念定义: 图神经网络是一类专门处理图结构数据的深度学习模型。它们通过在图上进行信息传播和聚合,学习节点(如用户、物品)和边(如用户-物品交互)的表示。GNNs 能够有效地捕获图中的高阶结构信息和节点之间的复杂关系,因此在建模用户-物品交互图以学习协同知识方面表现出色。
3.1.7. 自回归解码 (Auto-regressive Decoding) 与 束搜索 (Beam Search)
概念定义:
- 自回归解码 (Auto-regressive Decoding): LLM 在生成序列时,一次生成一个词元,并以之前生成的所有词元作为上下文来预测下一个词元。这个过程是顺序的,直到生成结束词元或达到最大长度。
- 束搜索 (Beam Search): 束搜索是自回归解码的一种优化策略,用于在每一步生成词元时,不是只选择概率最高的单个词元,而是保留 个( 为束宽)概率最高的词元序列。在接下来的步骤中,从这 个序列的每个分支继续扩展,并再次选择 个概率最高的序列。它旨在找到一个全局最优或次优的生成序列,而不仅仅是局部最优。虽然能提高生成质量,但计算成本很高。
3.1.8. 冷启动问题 (Cold-start Problem)
概念定义: 冷启动问题是指推荐系统在面对新用户或新物品时,由于缺乏足够的历史交互数据而难以提供准确推荐的挑战。新用户没有历史行为,系统无法了解其偏好;新物品没有被用户交互过,系统无法了解其受欢迎程度或特征。
3.2. 前人工作
本文主要关注基于 LLM 的推荐系统中的 ID 词元化问题,并与以下几类前人工作进行了比较:
3.2.1. ID-based 推荐方法
这类方法直接为每个用户和物品分配一个唯一的 ID,并学习这些 ID 的嵌入表示。
- 矩阵分解 (Matrix Factorization, MF) [5]: 最经典的
CF方法,将用户-物品交互矩阵分解为用户和物品的低维潜在表示,通过内积预测交互分数。 - 神经协同过滤 (Neural Collaborative Filtering, NCF) [39]: 将神经网络引入
MF,通过多层感知机 (MLP) 学习用户和物品的交互模式。 - 图神经网络 (GNNs) for CF:
- LightGCN [6]: 简化了
GNN模型,移除了特征转换和非线性激活,通过在用户-物品交互图上传播信息来学习用户和物品表示,取得了先进的性能。 - GTN [7]: 捕获了交互的自适应可靠性。
- LTGNN [34]: 捕获了高阶线性时间模式的交互。 这些方法都旨在通过学习可学习的表示(即词元嵌入)来处理离散的用户和物品 ID(即词元),以捕获高阶协同知识。
- LightGCN [6]: 简化了
3.2.2. 序列推荐方法 (Sequential Recommendation)
这类方法关注用户交互序列中的顺序模式,预测用户下一个可能交互的物品。
- SASRec [40]: 基于自注意力机制的序列推荐模型。
- BERT4Rec [41]: 采用
BERT风格的掩蔽语言模型任务训练的 Transformer 模型。 - S³Rec [42]: 通过自监督学习训练的序列推荐模型。
- CoSeRec [43]: 将对比自监督学习引入序列推荐。
3.2.3. 基于 LLM 的推荐系统 (LLM-based RecSys)
这类方法利用 LLM 的语言理解和生成能力来增强推荐。
- P5 [12]: 提出了“推荐即语言处理 (Recommendation as Language Processing, RLP)”范式,通过多任务提示预训练统一了多种推荐任务,展示了零样本泛化能力。它使用全字嵌入 (
whole-word embedding) 来指示子词词元是否来自同一实体。 - CID (Collaborative Indexing) [44]: 一种索引方法,旨在通过协同共现频率来捕获隐藏知识,其在 P5 的设置下优于随机索引 (RID) 和序列索引 (SID)。
- POD [45]: 提出了提示蒸馏 (
Prompt Distillation) 以提高 LLM 推荐的效率。 - TIGER [46]: 使用残差向量量化 (Residual Vector Quantization) 将丰富的文本数据压缩为少量语义 ID,并将其作为词元构建 Transformer 模型进行序列推荐。
TIGER-G是其一个变体,进一步融入了协同知识。 - CoLLM [16], LlaRA [15], E4SRec [62]: 借鉴软提示 (
soft prompt) 的概念,利用带有连续嵌入的外生词元 (exogenous tokens) 来表示 LLM 推荐中的用户和物品。 - META ID [63]: 提出通过聚类
skip-gram模型得到的物品和用户表示,将协同知识集成到离散词元中。
3.3. 技术演进与差异化分析
3.3.1. ID 词元化方法的演进
- 早期 ID-based CF: 直接使用离散 ID,并通过
MF或GNN学习其嵌入表示。这些方法的核心在于学习有效的 ID 嵌入,但它们与 LLM 的“语言”不兼容。 - 文本内容词元化 (Textual Title Indexing): 为避免 LLM 词汇表爆炸,利用物品的文本描述(如标题、描述)作为 LLM 的输入。这种方法将物品视为文本,可以直接利用 LLM 的内置词元。然而,它难以捕获高阶协同信息,且受限于文本描述的丰富性。
- 全字嵌入 (Whole-word Embedding): 如
P5所示,通过特殊标记指示连续子词词元属于同一实体,部分解决了 ID 与文本的对齐问题。但同样难以有效捕获高阶协同知识。 - 连续嵌入 (Continuous Embedding / Soft Indexing): 如
CoLLM,LlaRA,E4SRec,将用户和物品表示为连续向量,作为软提示输入 LLM。这能融入协同信息,但 LLM 的本质是处理离散词元,连续嵌入与其对齐存在挑战。 - 语义 ID (Semantic ID): 如
TIGER,通过残差向量量化将文本信息压缩为语义 ID。这是一种离散化方法,但其主要侧重于文本信息的压缩,对高阶协同知识的捕获仍有提升空间。 TokenRec的创新点:TokenRec旨在融合上述方法的优点并克服其局限性。它不直接使用原始 ID 或纯文本,而是将从GNN学习到的高阶协同表示进行向量量化,生成离散的、LLM 兼容的词元。同时,引入掩蔽操作和 -路编码器增强泛化能力,并通过生成式检索提高推理效率,避免幻觉。
3.3.2. 推理效率的提升
- 传统 LLM-based RecSys: 大多采用自回归解码和束搜索生成推荐结果(如物品标题或 ID 序列)。这个过程计算成本高昂,不适合实时推荐。
TokenRec的生成式检索:TokenRec摒弃了直接生成文本序列的模式。相反,LLM 被训练用于生成一个表示用户偏好的连续向量,然后通过高效的向量相似度检索在整个物品池中找到Top-K物品。这种“两阶段”或“双塔”结构显著降低了推理时间,同时避免了 LLM 文本生成可能带来的幻觉问题和对上下文长度的严格限制。
3.3.3. 泛化能力的提升
- 现有 LLM-based RecSys: 在面对训练语料库中未出现的新用户或新物品时,其性能会显著下降。
TokenRec的泛化机制:-
GNN 学习协同表示: 利用外部
GNN模型学习用户和物品的协同表示,这些表示可以离线更新,以适应新用户和新物品。 -
MQ-Tokenizer的掩蔽和 -路编码:MQ-Tokenizer在训练过程中通过随机掩蔽和多视角 (-way) 编码,增强了对用户和物品表示的鲁棒性和泛化性。 -
灵活的更新机制: 当有新用户和物品加入时,只需更新
GNN组件以生成新的协同表示,并将其加入向量数据库,而无需重新训练耗时的LLM主干和MQ-Tokenizer,从而有效解决了冷启动问题。综上所述,
TokenRec通过创新的 ID 词元化策略和高效的生成式检索范式,在 LLM-based RecSys 领域迈出了重要一步,有效解决了现有方法在捕获高阶协同知识、泛化能力和推理效率方面的局限性。
-
4. 方法论
本文提出的 TokenRec 框架旨在将用户和物品的 ID 有效地词元化,并实现高效的基于 LLM 的生成式推荐。整个框架由两个关键模块组成:掩蔽向量量化器 (Masked Vector-Quantized, MQ) Tokenizer 和 生成式检索 (Generative Retrieval) 模块。
4.1. 方法原理
TokenRec 的核心思想是:
- 用户和物品的词元化: 不再为每个用户和物品分配唯一的 ID,而是通过一个特殊的
MQ-Tokenizer将它们的高阶协同表示(从GNN中学习得到)量化为少量离散的、LLM 兼容的词元序列。这使得 LLM 能够处理海量的用户和物品,同时融入了协同知识。 - LLM 用户建模: 利用 LLM 的强大能力,结合用户 ID 词元和(可选的)历史交互物品词元,生成一个能够捕捉用户偏好的连续表示。
- 高效推荐: 避免了 LLM 耗时的自回归文本生成过程。相反,通过将 LLM 生成的用户偏好表示投影到一个潜在空间,并与物品的协同表示进行相似度匹配,从而高效地检索出
Top-K推荐物品。
4.2. 核心方法详解
4.2.1. 符号定义 (Notations and Definitions)
-
: 用户集合,共 个用户。
-
: 物品集合,共 个物品。
-
: 用户 历史交互过的物品集合。
-
: 用户 的低维潜在向量(协同表示)。
-
: 物品 的低维潜在向量(协同表示)。
-
: 潜在向量的维度。
-
: 用户 的词元 ID。
-
: 物品 的词元 ID。
-
: 文本提示 (prompt)。
-
: LLM 生成的、用户 可能喜欢的物品的表示。
基于这些定义,本文将协同推荐任务重新表述为语言处理任务:给定文本提示 、用户 的词元 ID 以及其历史交互物品的词元 ID 集合 ,LLM 生成用户 的物品偏好表示 :
4.2.2. 掩蔽向量量化器 (Masked Vector-Quantized, MQ) Tokenizer
MQ-Tokenizer 是 TokenRec 的核心组成部分,用于将用户和物品的数值 ID 转化为 LLM 兼容的离散词元,同时融入高阶协同知识并增强泛化能力。它由掩蔽操作、-路编码器、-路码本和 -to-1 解码器组成。用户和物品的 MQ-Tokenizer 结构相同,这里以物品 MQ-Tokenizer 为例进行详细说明。
4.2.2.1. 协作知识 (Collaborative Knowledge)
MQ-Tokenizer 的首要目标是将高阶协同知识捕获到潜在表示中。这些知识通过用户-物品交互图中的 GNN(例如 LightGCN)学习得到,并存储在一个向量数据库中。GNN 学习到的用户表示 和物品表示 构成了 MQ-Tokenizer 的输入。这些表示反映了用户和物品在协同空间中的接近程度,从而使得在量化后,在协同空间中相近的用户或物品倾向于共享相似的词元/索引,这自然地将 LLM 与推荐任务对齐。
4.2.2.2. 掩蔽操作 (Masking Operation)
为了增强词元化器的泛化能力和鲁棒性,MQ-Tokenizer 引入了一个掩蔽操作。它随机地掩蔽 GNN 学习到的用户/物品协同表示的元素,从而创建一个更具挑战性的任务,促使词元化器学习更全面的理解。
掩蔽策略 服从伯努利 (Bernoulli) 分布: 其中 是掩蔽比例。伯努利分布是一个离散概率分布,以概率 取值 1,以概率 取值 0。 给定协同表示 和 ,掩蔽过程表示为: 其中 和 分别是用户 和物品 的掩蔽表示。在每个训练周期, 都会随机生成掩码,以创建多样化的样本,从而提高词元化器的泛化能力。
4.2.2.3. -路编码器 (-way Encoder) 和 码本 (Codebook)
MQ-Tokenizer 采用 -路编码器将掩蔽后的协同表示量化为一组离散词元。
编码过程: -路编码器 包含 个不同的编码器 。对于掩蔽后的物品表示 ,每个编码器 会生成一个对应的潜在向量 : 其中 是第 路编码器生成的潜在向量, 是码字嵌入的维度。每个编码器 可以实现为一个具有三个隐藏层的多层感知机 (MLP)。这种多编码器设计允许模型从不同角度(多头)提取特征,从而增强模型的泛化能力。
量化过程: 每个潜在向量 随后被量化为离散词元。这通过在对应的 -路码本 中查找最近邻码字来实现。 码本 包含 个子码本,每个子码本 包含 个码字(即词元)及其对应的 维码字嵌入。 对于每个编码向量 ,在子码本 中找到欧氏距离最近的码字嵌入: 其中 表示物品 在第 个子码本 中最近邻码字(即 ID 词元)的索引, 范数 用于计算距离。
通过这个过程,物品 的离散 ID 被词元化为 个离散码本词元及其对应的码字嵌入: 用户词元化遵循类似的过程。
4.2.2.4. -to-1 解码器 (-to-1 Decoder)
-to-1 解码器 负责根据量化后的词元重建原始的协同表示。
给定物品 及其量化后的词元 ,解码器首先对这些词元对应的嵌入进行平均池化,然后通过一个三层 MLP 生成重建的表示 :
4.2.2.5. 学习目标 (Learning Objective)
MQ-Tokenizer 的学习目标包括重建损失、码本损失和承诺损失。
重建损失 (Reconstruction Loss): 鼓励重建表示 逼近原始的 GNN 学习到的物品表示 。
由于 arg min 操作是不可微分的,本文引入了直通梯度估计器 (straight-through gradient estimator) [24, 19] 来进行梯度反向传播。它将解码器输入(选定的词元嵌入)的梯度直接分配给编码器输出(编码表示),从而优化编码器和解码器。
码本损失 (Codebook Loss): 用于更新码本 。它促使选定的词元嵌入 靠近 -路编码器 的输出。 其中 是一个停止梯度 (stop-gradient) 操作符,表示在反向传播时, 内部变量的梯度为零。这确保了梯度仅从编码器流向码本。
承诺损失 (Commitment Loss): 防止编码器输出在不同的码字之间频繁波动,从而平滑梯度传递。 承诺损失仅作用于编码器权重。
总优化目标:
物品 MQ-Tokenizer 的总优化目标是:
其中 是平衡承诺损失重要性的超参数。
用户 MQ-Tokenizer 的优化目标类似:
4.2.3. 生成式检索 (Generative Retrieval) 模块
生成式检索模块是 TokenRec 的另一个关键创新,旨在利用 LLM 进行用户建模并高效地进行 Top-K 物品推荐。
4.2.3.1. 词元化与提示 (Tokenization & Prompts)
- 词元化: 文本内容由 LLM 的词元化器(如
SentencePiece)进行词元化。用户和物品 ID 则通过对应的MQ-Tokenizer转化为 个离散的词汇外 (Out-Of-Vocabulary, OOV) 词元。由于MQ-Tokenizer学习的是有限的码本,因此只需有限数量的OOV词元 () 就能表示大量用户或物品,有效缓解了 LLM 词汇表膨胀问题。 - 提示 (Prompts): 为了引导 LLM 理解用户偏好,本文设计了多种提示模板。这些提示将
MQ-Tokenizer生成的用户和物品 ID 词元嵌入到自然语言中。- 提示 1 (Prompt 1) (仅用户 ID):
I wonder what the user <user_ID_tokens> will like. Can you help me decide?例如: - 提示 2 (Prompt 2) (包含用户历史交互):
例如:
其中 表示第 个子码本中的
OOV词元。
- 提示 1 (Prompt 1) (仅用户 ID):
4.2.3.2. 基于 LLM 的用户建模 (User Modeling via LLM)
与传统 LLM-based RecSys 直接生成文本不同,TokenRec 的用户建模过程是将输入的文本提示和词元序列传递给 LLM 主干 (LLM4Rec),以生成一个捕捉用户偏好的隐藏表示 。
用户 的典型输入 可以由提示模板 和对应的用户词元 以及(可选的)交互物品词元 组成:
其中 是用户 MQ-Tokenizer 生成的用户 的 ID 词元, 是物品 MQ-Tokenizer 生成的用户 交互过的物品 ID 词元。交互历史可以随机打乱,以忽略序列顺序信息。
LLM 主干 LLM4Rec 处理输入 并生成隐藏表示 :
可以被视为用户 对下一个物品的生成式偏好表示。LLM 在此充当一个强大的查询编码器,能够理解个性化用户查询、利用推理能力解释用户偏好,并生成所需的输出(即用户偏好表示)。
4.2.3.3. 生成式检索 (Generative Retrieval)
为了高效推荐,LLM 生成的隐藏状态 会通过一个投影层 映射到潜在表示 ,使其与 GNN 学习到的物品表示对齐:
其中 可以是一个三层 MLP。 代表了用户 对下一个推荐物品的生成式表示。
接下来,通过测量用户 的生成式偏好 与整个物品池 中所有物品 的 GNN 学习到的表示 之间的相似度,可以检索 Top-K 物品。相似度评分 可以通过匹配函数(如余弦相似度)计算:
最终,TokenRec 通过检索与用户生成式偏好最相似的 Top-K 物品,而不是直接生成文本。这种方法具有以下优势:
- 高效推理: 避免了耗时的自回归解码和束搜索。
- 避免幻觉: 不会生成不存在的物品标题或描述。
- 泛化到未见物品: 仅需更新物品向量池 即可处理新物品,无需重新训练整个模型。
- 双塔结构: 促进查询侧文本信息与隐藏表示侧协同知识的无缝对齐。
4.2.4. TokenRec 的训练与推理 (TokenRec's Training and Inference)
4.2.4.1. 训练 (Training)
训练分为两个阶段,以弥合量化和语言处理之间的巨大鸿沟:
- 步骤 1: 训练用户和物品
MQ-Tokenizer。- 独立地训练用户和物品的
MQ-Tokenizer,使用各自的总优化目标(公式 (13) 和 (14))来量化其协同表示。
- 独立地训练用户和物品的
- 步骤 2: 调优
LLM4Rec用于生成式检索。- 在
MQ-Tokenizer冻结的情况下,对LLM主干 (T5)、LLM词元嵌入和投影层进行微调。 - 使用配对排名损失 (pairwise ranking loss) 进行优化,目标是使查询(用户生成表示 )更接近正样本(用户交互过的物品 ),并与负样本(用户未交互过的物品)保持一定距离。 其中:
- : 用户 的生成式物品表示。
- : 物品 的协同表示。
- : 相似度度量函数(例如余弦相似度)。
- : 指示用户 是否与物品 交互过( 表示交互, 表示未交互)。
- : 负样本的边界值 (margin value)。它确保当负样本对的表示已经足够远时,无需进一步增加它们之间的距离,从而将训练重点放在更具挑战性的配对上。本文使用余弦相似度作为 函数。
- 在
4.2.4.2. 推理 (Inference)
TokenRec 的推理过程克服了传统 LLM 推理的挑战:
-
高效推荐: 输出生成式物品表示并进行检索,而非生成离散词元序列,显著降低计算成本。
-
对新用户和物品的泛化: 当有新用户和物品加入时,只需更新轻量级的
GNN模型以学习其协同表示(更新向量数据库),而无需重新训练LLM主干和MQ-Tokenizer。这得益于MQ-Tokenizer中的掩蔽和 -路编码机制,解决了冷启动问题。 -
简洁提示:
TokenRec可以仅使用用户 ID 词元作为输入(如提示 1),而无需包含历史交互物品,从而减少计算资源并规避 LLM 的上下文长度限制。图 5 (原图) 展示了
TokenRec在推理阶段对新用户和物品的效率和泛化能力。
图 5 (原文 Figure 3): TokenRec 在推理阶段对新用户和物品的效率和泛化能力。与重新训练计算成本高昂且耗时的 MQ-Tokenizer 和 LLM 主干不同,仅需更新 GNN 以学习新用户和物品的表示。
5. 实验设置
5.1. 数据集
为了验证 TokenRec 的有效性,实验在四个广泛使用的真实世界基准数据集上进行:
-
Amazon-Beauty (Beauty): 来自 amazon.com 电子商务平台,包含用户与美容产品的交互。
-
Amazon-Clothing (Clothing): 来自 amazon.com 电子商务平台,包含用户与服装产品的交互。
-
LastFM: 包含 Lastfm 在线音乐系统用户的音乐艺术家收听记录。
-
MovieLens 1M (ML1M): 包含 MovieLens 用户对电影的评分记录。
以下是原文 Table I 的结果:
Datasets User-Item Interaction #Users #Items #Interactions Density (%) LastFM 1,090 3,646 37,080 0.9330 ML1M 6,040 3,416 447,294 2.1679 Beauty 22,363 12,101 197,861 0.0731 Clothing 23,033 39,387 278,641 0.0307
表 I: 基准数据集的基本统计信息。
数据集处理:
- 最大物品序列长度设置为 100,以适应
LLM主干T5的输入长度(512 词元)。 - 采用留一法 (leave-one-out policy) 进行训练-验证-测试集划分:除了用户交互历史中的最后一次观测,其余所有交互都作为训练集。
- 用户交互历史被随机打乱,以提供一个非时间顺序的物品列表,使其与协同过滤方法的设置保持一致。
5.2. 评估指标
为了评估推荐结果的质量,本文采用了两个广泛使用的评估指标:Top-K 命中率 (Hit Ratio, HR@K) 和 Top-K 归一化折损累计增益 (Normalized Discounted Cumulative Gain, NDCG@K)。
在所有指标中,更高的值表示更好的推荐性能。所有用户的平均指标在测试集上报告。
的值设置为 10、20 和 30,其中 20 是消融实验的默认值。
5.2.1. 命中率 (Hit Ratio, HR@K)
概念定义: HR@K 是衡量推荐列表中包含用户实际感兴趣物品的比例。如果用户在测试集中实际交互的物品出现在推荐列表的前 个位置中,则认为命中。它主要关注推荐列表是否成功包含了用户会喜欢的物品。
数学公式:
符号解释:
user: 测试集中的每个用户。relevant item is in top-K: 表示该用户的相关物品(在测试集中实际交互的物品)出现在推荐列表的前 个位置中。all users: 测试集中所有用户的数量。
5.2.2. 归一化折损累计增益 (Normalized Discounted Cumulative Gain, NDCG@K)
概念定义: NDCG@K 是一种衡量推荐列表质量的指标,它考虑了推荐物品的相关性以及它们在列表中的位置。相关性越高的物品排在越靠前的位置,NDCG@K 的值就越高。NDCG 通过折损因子来降低列表中靠后位置物品的权重,并进行归一化处理,使其值介于 0 到 1 之间,方便不同查询之间的比较。
数学公式:
首先定义 折损累计增益 (Discounted Cumulative Gain, DCG@K):
然后定义 理想折损累计增益 (Ideal Discounted Cumulative Gain, IDCG@K),即完美排序下的 DCG@K:
最终 NDCG@K 的计算公式为:
符号解释:
- : 推荐列表中第 个物品的相关性分数(例如,用户是否与该物品交互,或者交互的强度)。在隐式反馈场景中,通常为 1 (交互) 或 0 (未交互)。
- : 在理想排序下,第 个物品的相关性分数。
- : 折损因子,用于降低列表中靠后物品的贡献。
5.3. 对比基线
本文将 TokenRec 与以下三类基线模型进行比较:
5.3.1. 协同过滤 (Collaborative Filtering, CF) 方法
- MF [38]: 最经典的
CF方法。 - NCF [39]: 第一个基于深度神经网络的
CF模型。 - LightGCN [6]: 代表性的基于
GNN的CF方法,以其简洁和高效闻名。 - GTN [7]: 另一款基于
GNN的CF方法。 - LTGNN [34]: 最先进的基于
GNN的CF方法。
5.3.2. 序列推荐 (Sequential Recommendation) 方法
- SASRec [40]: 基于注意力机制的序列推荐模型。
- BERT4Rec [41]: 基于双向 Transformer 的序列推荐模型,采用
BERT风格的完形填空任务进行训练。 - S³Rec [42]: 通过自监督学习训练的序列推荐模型。
- CoSeRec [43]: 将对比自监督学习引入序列推荐。
5.3.3. 基于 LLM 的推荐 (LLM-based Recommendation) 方法
- P5-RID:
P5模型的一个变体,采用随机索引 (Random Indexing,RID)。 - P5-SID:
P5模型的一个变体,采用序列索引 (Sequential Indexing,SID)。 - CID [44]: 协同索引 (
Collaborative Indexing),旨在捕获共现频率中的隐藏知识。 - POD [45]: 提出了提示蒸馏 (
Prompt Distillation) 以提高效率。 - TIGER [46]: 使用残差向量量化和语义 ID 进行物品索引。
- TIGER-G:
TIGER的一个变体,进一步融入了协同知识。 - CoLLM [16]: 将协同嵌入集成到大型语言模型中进行推荐。
5.4. 超参数设置
- 实现:
TokenRec基于Hugging Face和PyTorch实现。 - MQ-Tokenizer 超参数:
- 码本数量 (即子编码器数量):在 范围内搜索。
- 每个子码本中的词元数量 :在 范围内搜索。
- 掩蔽操作的比例 :在 范围内搜索。
LLM4Rec微调:- 负采样比例 (公式 (20)):固定为 1:1,即为每个正样本随机选择一个未交互的物品作为负样本。
- 边界值 (公式 (20)):设置为 0 到 0.2。
- 优化器:
AdamW[47] 用于优化MQ-Tokenizer和LLM主干。 - 批次大小: 128。
- 训练周期: 最多 100 个周期。
- 协同表示: 用户和物品的高阶协同表示来自代表性的协同过滤方法
LightGCN[6]。 - 提示: 设计了 11 个提示模板,其中 10 个作为训练期间的可见提示,1 个用于评估时的未见提示 (
Unseen Prompt)。 - LLM 主干: 为公平比较,
TokenRec和所有基于 LLM 的基线都采用广泛使用的轻量级LLM,即T5-small[37]。 - 基线超参数: 其他基线方法的默认超参数按照其对应论文的建议设置。
- 计算资源: 所有实验均在单个
NVIDIA A800 GPU(80 GB) 上进行。
6. 实验结果与分析
6.1. 核心结果分析
以下是原文 Table II 和 Table III 的结果,展示了 TokenRec 与所有基线模型在四个数据集上的推荐性能对比。
以下是原文 Table II 的结果:
| Model | LastFM | ML1M | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HR@10 | HR@20 | HR@30 | NG@10 | NG@20 | NG@30 | HR@10 | HR@20 | HR@30 | NG@10 | NG@20 | NG@30 | |
| BERT4Rec | 0.0319 | 0.0461 | 0.0640 | 0.0128 | 0.0234 | 0.0244 | 0.0779 | 0.1255 | 0.1736 | 0.0533 | 0.0486 | 0.0595 |
| SASRec | 0.0345 | 0.0484 | 0.0658 | 0.0142 | 0.0236 | 0.0248 | 0.0785 | 0.1293 | 0.1739 | 0.0367 | 0.052 | 0.0622 |
| S³Rec | 0.0385 | 0.0490 | 0.0689 | 0.0177 | 0.0266 | 0.0266 | 0.0867 | 0.1270 | 0.1811 | 0.0361 | 0.0501 | 0.0601 |
| CoSeRec | 0.0388 | 0.0504 | 0.0720 | 0.0180 | 0.0268 | 0.0278 | 0.0795 | 0.1316 | 0.1804 | 0.0375 | 0.0529 | 0.0652 |
| MF | 0.0239 | 0.0450 | 0.0569 | 0.0114 | 0.0166 | 0.0192 | 0.078 | 0.1272 | 0.1733 | 0.0357 | 0.0503 | 0.0591 |
| NCF | 0.0321 | 0.0462 | 0.0643 | 0.0141 | 0.0252 | 0.0254 | 0.0786 | 0.1273 | 0.1738 | 0.0363 | 0.0504 | 0.0601 |
| LightGCN | 0.0385 | 0.0661 | 0.0982 | 0.0199 | 0.0269 | 0.0336 | 0.0877 | 0.1288 | 0.1813 | 0.0374 | 0.0509 | 0.0604 |
| GTN | 0.0394 | 0.0688 | 0.0963 | 0.0199 | 0.0273 | 0.0331 | 0.0883 | 0.1307 | 0.1826 | 0.0378 | 0.0512 | 0.0677 |
| LTGNN | 0.0471 | 0.076 | 0.0925 | 0.0234 | 0.0318 | 0.0354 | 0.0915 | 0.1387 | 0.1817 | 0.0419 | 0.0570 | 0.0659 |
| P5-RID | 0.0312 | 0.0523 | 0.0706 | 0.0144 | 0.0199 | 0.0238 | 0.0867 | 0.1248 | 0.1811 | 0.0381 | 0.0486 | 0.0662 |
| P5-SID | 0.0375 | 0.0536 | 0.0851 | 0.0224 | 0.0255 | 0.0261 | 0.0892 | 0.1380 | 0.1784 | 0.0422 | 0.0550 | 0.0641 |
| CID | 0.0381 | 0.0552 | 0.0870 | 0.0229 | 0.0260 | 0.0277 | 0.0901 | 0.1294 | 0.1863 | 0.0379 | 0.0525 | 0.0706 |
| POD | 0.0367 | 0.0572 | 0.0747 | 0.0184 | 0.0220 | 0.0273 | 0.0886 | 0.1277 | 0.1846 | 0.0373 | 0.0487 | 0.0668 |
| TIGER | 0.0467 | 0.0749 | 0.0984 | 0.0226 | 0.0306 | 0.0348 | 0.0901 | 0.1382 | 0.1803 | 0.0427 | 0.0562 | 0.0653 |
| TIGER-G | 0.0470 | 0.0767 | 0.0997 | 0.0229 | 0.031 | 0.0355 | 0.0905 | 0.1409 | 0.1824 | 0.0423 | 0.0565 | 0.0651 |
| CoLLM | 0.0483 | 0.0786 | 0.1017 | 0.0234 | 0.0319 | 0.0366 | 0.0923 | 0.1499 | 0.1998 | 0.0456 | 0.0620 | 0.0719 |
| * (User ID Only) | 0.0505 | 0.0881 | 0.1128 | 0.0251 | 0.0345 | 0.0397 | 0.0964 | 0.1546 | 0.2043 | 0.0493 | 0.0640 | 0.0745 |
| * (Unseen Prompt) | 0.0514 | 0.0917 | 0.1294 | 0.0252 | 0.0343 | 0.0422 | 0.1012 | 0.1672 | 0.2144 | 0.0532 | 0.0698 | 0.0798 |
| TokenRec | 0.0532 | 0.0936 | 0.1248 | 0.0247 | 0.0348 | 0.0415 | 0.1008 | 0.1677 | 0.2149 | 0.0528 | 0.0697 | 0.0797 |
表 II: 在 LastFM 和 ML1M 数据集上的推荐算法性能比较。* 表示 TokenRec 的变体,即仅使用用户 ID 作为模型输入(不考虑物品交互历史)和在评估时使用未见提示的情况。
以下是原文 Table III 的结果:
| Model | Beauty | Clothing | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HR@10 | HR@20 | HR@50 | NG@10 | NG@20 | NG@30 | HR@10 | HR@20 | HR@50 | NG@10 | NG@20 | NG@30 | |
| BERT4Rec | 0.0329 | 0.0464 | 0.0637 | 0.0162 | 0.0025 | 0.0255 | 0.0135 | 0.0271 | 0.0248 | 0.0061 | 0.0074 | 0.0079 |
| SASRec | 0.0338 | 0.0472 | 0.0637 | 0.0170 | 0.0213 | 0.0260 | 0.0136 | 0.0221 | 0.0256 | 0.0063 | 0.0076 | 0.0081 |
| P3Rec | 0.0351 | 0.0471 | 0.0664 | 0.0169 | 0.0237 | 0.0278 | 0.0140 | 0.0213 | 0.0256 | 0.0069 | 0.0081 | 0.0086 |
| CoSeRec | 0.0362 | 0.0476 | 0.0680 | 0.0176 | 0.0248 | 0.0280 | 0.0139 | 0.0211 | 0.0251 | 0.0068 | 0.0080 | 0.0085 |
| MF | 0.0127 | 0.0195 | 0.0245 | 0.0063 | 0.0081 | 0.0091 | 0.0116 | 0.0175 | 0.0234 | 0.0074 | 0.0088 | 0.0101 |
| NCF | 0.0315 | 0.0462 | 0.0623 | 0.0160 | 0.0196 | 0.0237 | 0.0119 | 0.0178 | 0.024 | 0.0072 | 0.0090 | 0.0103 |
| LightGCN | 0.0344 | 0.0498 | 0.0630 | 0.0194 | 0.0233 | 0.0261 | 0.0157 | 0.0226 | 0.0279 | 0.0085 | 0.0103 | 0.0114 |
| GTPN | 0.0345 | 0.0502 | 0.0635 | 0.0198 | 0.0241 | 0.0268 | 0.0158 | 0.0226 | 0.0282 | 0.0084 | 0.0103 | 0.0111 |
| LTGNN | 0.0385 | 0.0564 | 0.0719 | 0.0207 | 0.0252 | 0.0285 | 0.0155 | 0.0218 | 0.0272 | 0.0082 | 0.0110 | 0.0116 |
| P5-RID | 0.0330 | 0.0511 | 0.0651 | 0.0146 | 0.0200 | 0.0144 | 0.0148 | 0.0225 | 0.0263 | 0.0071 | 0.0086 | 0.0095 |
| P5-SID | 0.0340 | 0.0516 | 0.0672 | 0.0154 | 0.0231 | 0.0176 | 0.0143 | 0.0222 | 0.0258 | 0.0070 | 0.0086 | 0.0091 |
| CID | 0.0341 | 0.0516 | 0.0673 | 0.0165 | 0.0236 | 0.0177 | 0.0146 | 0.0226 | 0.0276 | 0.0070 | 0.0087 | 0.0092 |
| POD | 0.0339 | 0.0498 | 0.0639 | 0.0185 | 0.0222 | 0.0221 | 0.0147 | 0.0225 | 0.0261 | 0.0074 | 0.0087 | 0.0091 |
| TIGE | 0.0372 | 0.0574 | 0.0747 | 0.0193 | 0.0248 | 0.0287 | 0.0147 | 0.0225 | 0.0266 | 0.0072 | 0.0087 | 0.0093 |
| TiGER-G | 0.0382 | 0.0586 | 0.0753 | 0.0195 | 0.0251 | 0.0292 | 0.0147 | 0.0227 | 0.0265 | 0.0073 | 0.0088 | 0.0093 |
| CoLLM | 0.0391 | 0.0606 | 0.0772 | 0.0200 | 0.0259 | 0.0303 | 0.0150 | 0.0218 | 0.0274 | 0.0079 | 0.0091 | 0.0117 |
| User ID Only | 0.0396 | 0.0599 | 0.0763 | 0.0214 | 0.0265 | 0.0300 | 0.0160 | 0.0228 | 0.0282 | 0.0092 | 0.0109 | 0.0119 |
| (Unseen Prompt) | 0.0402 | 0.0622 | 0.0791 | 0.0215 | 0.0270 | 0.0306 | 0.0164 | 0.0233 | 0.0286 | 0.0096 | 0.0111 | 0.0124 |
| TokenRec | 0.0407 | 0.0615 | 0.0782 | 0.0222 | 0.0276 | 0.0303 | 0.0171 | 0.0240 | 0.0291 | 0.0108 | 0.01112 | 0.0130 |
表 III: 在 Beauty 和 Clothing 数据集上的推荐算法性能比较。* 表示 TokenRec 的变体,即仅使用用户 ID 作为模型输入(不考虑物品交互历史)和在评估时使用未见提示的情况。
主要观察结果:
TokenRec表现卓越:TokenRec在所有数据集上,无论是使用标准提示还是未见提示,都持续优于所有基线模型。例如,在 LastFM 数据集上,TokenRec的HR@20平均显著超越最强基线 19.08%,NDCG@20平均超越 9.09%。这强有力地证明了所提出的MQ-Tokenizer策略和生成式检索范式在融入协同知识方面的有效性。- 仅用户 ID 输入的表现: 即使仅使用用户 ID 词元作为输入(不考虑用户的历史交互),
TokenRec(标注为* (User ID Only))的性能也超越了大多数基线。这表明MQ-Tokenizer能够有效地将高阶协同知识编码到用户 ID 词元中,使得 LLM 即使在没有详细交互历史的情况下也能准确建模用户偏好。这种能力使得TokenRec能够使用更简洁的输入进行推荐,从而规避 LLM 的上下文长度限制并节省计算资源。 - 协同索引的潜力:
CID相比P5-RID和P5-SID表现更好,这表明整合协同知识进行物品和用户词元化/索引的潜力。 - 传统 LLM-based RecSys 的局限性:
P5及其变体以及POD模型的性能通常低于基于GNN的协同过滤方法(如LightGCN,GTN,LTGNN),这暗示它们在仅依靠 LLM 捕获高阶协同信息方面的不足。 CoLLM和TIGER的改进:CoLLM通过融入协同嵌入取得了更好的结果。TIGER由于使用压缩的语义 ID,性能优于典型的LLM-based推荐方法,而TIGER-G通过整合协同知识进一步提升了性能,再次强调了协同知识的重要性。- GNN-based CF 的优势: 基于
GNN的协同过滤方法(LightGCN,GTN,LTGNN)普遍优于传统的CF方法(MF,NCF)和序列推荐方法(BERT4Rec,SASRec,S³Rec,CoSeRec)。这证实了GNN在通过高阶连接捕获协同信号方面的有效性。
6.2. 泛化能力评估
此部分评估 TokenRec 在处理新用户(即训练和微调语料库中未出现的用户)时的泛化能力。实验模拟了新用户涌入的场景,在 Beauty 和 LastFM 数据集中排除了 5% 交互历史最少的用户作为“未见用户”,同时将这些用户交互过的物品也从训练集中排除。
以下是原文 Table IV 的结果:
| Dataset | Model | Seen | Unseen | ||
|---|---|---|---|---|---|
| HR @ 20 | NG@ 20 | HR @ 20 | NG @ 20 | ||
| LastFM | P5 | 0.0704 | 0.0320 | 0.0399 | 0.0137 |
| POD | 0.0709 | 0.0323 | 0.0401 | 0.0138 | |
| CID | 0.0697 | 0.0314 | 0.0452 | 0.0196 | |
| TIGER | 0.0752 | 0.0309 | 0.0695 | 0.0252 | |
| CoLLM | 0.0812 | 0.0336 | 0.0574 | 0.0235 | |
| TokenRec | 0.0973 | 0.0353 | 0.0773 | 0.0268 | |
| Beauty | P5 | 0.0511 | 0.0236 | 0.0274 | 0.0130 |
| POD | 0.0507 | 0.0225 | 0.0269 | 0.0123 | |
| CID | 0.0523 | 0.0240 | 0.0334 | 0.0146 | |
| TIGER | 0.0575 | 0.0248 | 0.0548 | 0.0233 | |
| CoLLM | 0.0612 | 0.0261 | 0.0477 | 0.0195 | |
| TokenRec | 0.0629 | 0.0289 | 0.0591 | 0.0266 | |
表 IV: 用于泛化能力评估的已见用户和未见用户性能比较。
主要观察结果:
- 现有 LLM-based RecSys 泛化能力差:
P5和POD在未见用户推荐上的HR@20和NDCG@20下降超过 40%。这表明它们难以泛化到训练语料库外的新用户。 - 协同知识的帮助:
CID和CoLLM通过融入协同知识,性能下降有所缓解,但仍超过 20%。这说明稳定可靠的 ID 词元化对 LLM-based RecSys 的泛化至关重要。 TokenRec的强大泛化能力:TokenRec在两个数据集上,无论是对已见用户还是未见用户,都持续优于其他方法。例如,在 Amazon-Beauty 数据集上,TokenRec的性能平均仅下降 7%。这种卓越的泛化能力归因于其MQ-Tokenizer的鲁棒 ID 词元化和生成式检索范式。TIGER的泛化表现:TIGER也展现出强大的泛化能力,HR@20平均仅下降 6.10%。这得益于其语义 ID 融入了物品侧的文本信息作为额外知识,这对于解决冷启动问题非常有潜力。
6.3. 效率评估
此部分比较了 TokenRec 与其他代表性的 LLM-based 推荐方法在推理效率方面的表现。其他方法通过自回归解码和束搜索生成 Top-K 物品的词元(ID、标题、描述),而 TokenRec 采用生成式检索范式。
以下是原文 Table V 的结果:
| Inference Time | LastFM | MLIM | Beauty | Clothing |
|---|---|---|---|---|
| P5 | 96.04 | 99.75 | 86.39 | 93.38 |
| POD | 96.30 | 101.42 | 87.69 | 94.48 |
| CID | 94.96 | 99.42 | 84.87 | 92.02 |
| TIGER | 82.57 | 85.98 | 76.11 | 80.68 |
| TokenRec | 6.92 | 8.43 | 5.76 | 6.00 |
| Acceleration* | 1236.24% | 1046.41% | 1354.25% | 1402.33% |
表 V: Top-20 推荐的平均每用户推理时间(毫秒)比较。* 表示与基线相比的平均提升。
主要观察结果:
TokenRec推理效率显著提升:TokenRec在所有数据集上都实现了远超基线的推理效率,平均加速比达到约 1259.81%。这主要得益于其生成式检索范式,它绕过了LLM最耗时的自回归解码和束搜索过程。TIGER的效率优势:TIGER优于文本生成基线(P5,CID,POD),因为它使用压缩的语义 ID,需要处理的词元更少。然而,TokenRec的效率提升更为显著。
6.4. 消融实验 (Ablation Studies)
消融实验旨在验证 TokenRec 中各个组件的有效性。
以下是原文 Table VI 的结果:
| Module | LastFM | Beauty | ||
|---|---|---|---|---|
| HR @ 20 | NG @ 20 | HR @ 20 | NG @ 20 | |
| Full* | 0.0936 | 0.0348 | 0.0615 | 0.0276 |
| w/o Masking | 0.0848 | 0.0332 | 0.0573 | 0.0253 |
| w/o K-way | 0.0820 | 0.0309 | 0.0592 | 0.0250 |
| w/o HOCK | 0.0549 | 0.0172 | 0.0407 | 0.0149 |
| s RQ-VAE | 0.0831 | 0.0314 | 0.0596 | 0.0253 |
| s VQ-VAE | 0.0810 | 0.0308 | 0.0589 | 0.0247 |
| s K-Means | 0.0750 | 0.0281 | 0.0567 | 0.0237 |
表 VI: 消融实验结果。HOCK: High-Order Collaborative Knowledge。
主要观察结果:
- 各组件的贡献:
TokenRec的每个组件都对整体性能有贡献,移除任何一个都会导致性能下降。 - 掩蔽操作和 -路框架:
- 移除掩蔽操作 (
w/o Masking) 导致性能下降,说明掩蔽操作在增强泛化能力的同时,也带来了性能提升。 - 移除 -路框架 (
w/o K-way) 也导致性能下降,证实了其在多头特征提取和增强泛化方面的有效性。
- 移除掩蔽操作 (
- 高阶协同知识 (HOCK) 的重要性: 移除高阶协同知识 (
w/o HOCK) 导致性能显著下降,强调了将GNN学习到的协同知识融入LLM推荐的重要性。同时,这表明协同嵌入的质量对Tokenizer和模型的效果至关重要。 MQ-Tokenizer的优越性:MQ-Tokenizer相比于其他典型的向量量化/聚类方法(如VQ-VAE,RQ-VAE,K-Means)表现更好,验证了其在为LLM-based推荐编码协同知识方面的有效性。K-Means的性能较差,进一步突显了对更鲁棒量化方法的必要性。
6.5. 超参数分析 (Hyper-parameter Analysis)
此部分分析了 TokenRec 中三个关键超参数(掩蔽比例 、子编码器/子码本数量 、每个子码本中的词元数量 )的敏感性。
6.5.1. 掩蔽比例 的影响
下图(原文 Figure 4)展示了掩蔽比例 对 HR@20 和 NDCG@20 的影响。
图 1 (原文 Figure 4): 掩蔽比例 在 HR@20 和 NDCG@20 指标下的影响。
观察结果:
- 引入少量掩蔽会带来性能提升。
- 当 时,推荐性能通常会提高,其中 在实验中能达到最佳提升。
- 当 时,推荐性能下降,这表明过度掩蔽应避免。
6.5.2. 码本设置 和 的影响
下图(原文 Figure 5)展示了子码本数量 和每个子码本中的词元数量 对性能的影响。
图 2 (原文 Figure 5): 子码本数量 和每个子码本中的词元数量 在 HR@20 和 NDCG@20 指标下的影响。
观察结果:
- 子码本深度 : 随着码本深度的增加(即 值的增加),模型性能在所有数据集上都有逐步提升。然而,当 时,性能提升变得相对不明显。因此,为了平衡效果和效率,建议将 设置为 3。
- 每个子码本中的词元数量 : 的最优值取决于用户和物品规模的不同。
- 在较小规模的 数据集上,最佳平衡性能出现在 。
- 在较大规模的
Amazon-Beauty/Clothing数据集上,最佳平衡性能出现在 。 这表明对于用户/物品数量更多的数据集,每个子码本应使用稍多的词元。
- -路机制的有效性: 在只有一个码本 () 的情况下,仅仅增加词元数量 并不能有效提升推荐性能。这进一步证明了
MQ-Tokenizer中 -路机制的有效性。
7. 总结与思考
7.1. 结论总结
本文提出了 TokenRec 框架,旨在解决现有基于大型语言模型(LLM)的推荐系统在捕获高阶协同知识、泛化能力和推理效率方面的挑战。TokenRec 的核心创新在于其掩蔽向量量化器 (Masked Vector-Quantized, MQ) Tokenizer 和 生成式检索 (Generative Retrieval) 范式。
MQ-Tokenizer 通过将从图神经网络 (GNN) 中学习到的用户和物品协同表示量化为离散的、LLM 兼容的词元,有效地将高阶协同知识融入到推荐过程中。其引入的掩蔽操作和 -路编码器显著增强了词元化策略的鲁棒性和泛化能力。
生成式检索范式则通过让 LLM 生成用户偏好表示,然后利用高效的向量检索来推荐 Top-K 物品,从而绕过了 LLM 耗时的自回归解码和束搜索过程,大幅提升了推理效率,并避免了潜在的幻觉问题。
在四个真实世界数据集上进行的综合实验验证了 TokenRec 的优越性,它在推荐性能上超越了包括传统推荐系统和新兴 LLM-based RecSys 在内的所有基线。特别是在面对未见用户时,TokenRec 表现出强大的泛化能力,性能下降幅度远小于其他方法,并且在推理时间上实现了数量级的加速。即使仅使用用户 ID 词元作为输入,TokenRec 依然能取得良好性能,有效缓解了 LLM 的上下文长度限制。
7.2. 局限性与未来工作
虽然论文中没有明确列出“局限性”部分,但从其讨论和实验设计中可以推断出一些潜在的局限性,并引申出未来工作方向:
- 计算成本: 尽管
TokenRec在推理效率上取得了显著提升,但MQ-Tokenizer的训练和LLM4Rec的微调仍然是计算密集型任务。特别是在处理超大规模数据集时,如何进一步优化训练效率可能是一个挑战。 - GNN 依赖:
TokenRec的性能高度依赖于外部GNN模型学习到的协同表示质量。如果GNN模型本身性能不佳或无法有效捕获协同知识,将直接影响TokenRec的效果。未来可以探索更先进或更鲁棒的GNN模型,或者研究如何让LLM自身更好地从原始交互数据中学习协同知识。 - 提示工程:
TokenRec仍然依赖于提示工程来引导LLM。虽然论文设计了多种提示,但提示的设计好坏仍然可能影响LLM对用户偏好的理解。未来可以研究更自动化的提示生成或适应方法。 - 动态性与时序信息: 论文提到将用户交互历史随机打乱以适应协同过滤设置,这意味着模型可能没有充分利用用户行为序列中的时序信息。对于序列推荐场景,如何将
TokenRec扩展以有效捕获动态和时序偏好是一个值得探索的方向。 - 多模态信息集成: 当前
TokenRec主要关注 ID 和协同知识的词元化。现实世界的推荐场景中常常包含丰富的多模态信息(如图像、视频)。未来可以探索如何将这些多模态信息有效地融入到MQ-Tokenizer或LLM用户建模中。 - 解释性: LLM 推荐的一个潜在优势是其生成解释的能力。
TokenRec采用生成式检索而非文本生成,可能在一定程度上牺牲了直接生成解释的能力。未来可以研究如何在高效检索的同时,提供有意义的推荐解释。
7.3. 个人启发与批判
个人启发:
-
分阶段解决复杂问题:
TokenRec将基于 LLM 的推荐任务分解为独立的 ID 词元化和生成式检索两个阶段,并分别进行优化。这种“分而治之”的策略在处理 LLM 与传统推荐系统之间的不匹配(如词汇表、效率、泛化)问题时非常有效。这提示我们在设计复杂系统时,可以考虑将大问题拆解为可控的小问题,并利用不同技术的优势来解决。 -
融合不同范式的强大力量:
TokenRec成功地将GNN(捕获高阶协同知识)、VQ(离散化和压缩)和LLM(强大的语言理解和用户建模)结合起来。这种跨领域、跨范式的融合,往往能带来超越单一技术范式的突破。它强调了在当前 AI 发展阶段,多模型、多技术的集成可能是未来的一个重要方向。 -
重新定义 LLM 在推荐系统中的角色: 许多
LLM-based推荐系统试图让 LLM 直接“说出”推荐结果。TokenRec则让 LLM 充当一个强大的“偏好编码器”,生成一个连续的查询向量,然后将推荐任务回归到高效的向量检索。这种对 LLM 角色的重新定位,巧妙地规避了 LLM 在生成式推荐中的效率瓶颈和幻觉问题,为 LLM 在推荐领域的应用开辟了新的思路。 -
对冷启动和可扩展性的思考:
MQ-Tokenizer通过其泛化能力和灵活的更新机制,有效解决了推荐系统中的冷启动问题,并且能够以相对较低的成本适应新用户和物品。这种设计对于工业级推荐系统至关重要,因为它大大降低了模型维护和更新的开销。批判与潜在改进:
-
GNN 嵌入质量的敏感性: 模型的性能高度依赖于初始的
GNN嵌入质量。如果LightGCN或其他GNN模型在某些数据集或特定场景下表现不佳,TokenRec的性能也会受限。未来的研究可以探索一个端到端(或至少更紧密耦合)的学习框架,让GNN嵌入与LLM建模在训练中相互促进,而不仅仅是作为预计算的特征。 -
码本设计与稀疏性: -路编码器和码本的设计对性能影响显著。在处理极端稀疏的数据集时,如何确保码本能够捕捉到足够的语义信息,避免“码本崩溃”或未能充分利用码本容量,可能是一个挑战。可以探索自适应的码本大小调整策略,或者更复杂的量化技术来处理稀疏性问题。
-
提示模板的泛化和鲁棒性: 论文使用预定义的提示模板。在实际应用中,用户查询的多样性远超这些模板。如何让
TokenRec对更自然、更开放的用户查询具有更强的鲁棒性?这可能需要更高级的提示工程技术,甚至是一个能够自适应生成提示的组件。 -
解释性的平衡: 生成式检索虽然高效,但不如直接生成文本那样直观地提供推荐理由。如何在实现高效推荐的同时,提供一定程度的解释性,例如通过分析用户偏好向量与物品特征向量的匹配点,是未来可以深入研究的方向。
-
离线 GNN 更新的延迟: 尽管只更新
GNN比更新整个LLM快得多,但在某些对实时性要求极高的场景下,即使是GNN的离线更新也可能引入一定的延迟。探索更轻量级或增量式的GNN更新机制,以进一步缩短新用户/物品上线后的冷启动时间,可能会有帮助。
相似论文推荐
基于向量语义检索推荐的相关论文。