一、背景

1. 论文名称

Semantic Convergence: Harmonizing Recommender Systems via Two-Stage Alignment and Behavioral Semantic Tokenization
《语义融合:通过两阶段对齐和行为语义标记化协调推荐系统》

2. 论文链接: https://arxiv.org/pdf/2412.137713. 一句话概括:该论文提出一种新框架,通过两阶段对齐(包括对齐标记化和对齐任务)及行为语义标记化,将传统推荐模型与大语言模型(LLMs)相结合,提升推荐系统性能,实验证明其在召回指标和可扩展性上表现出色。

二、论文挑战

论文面对的挑战主要体现在将大语言模型与推荐系统融合时,由于语言表示方式的差异所带来的一系列问题,具体如下:

(1)语义表示差异: LLMs 中语言token表示的模态与传统推荐算法中使用的稀疏标识符有根本区别,这种差异导致了对齐和可扩展性方面的重大挑战。 例如,在现有方法中,将文本信息输入 LLM 以提取语义特征来增强现有推荐模型时,LLM 生成的语义信息可能与基于行为信息的推荐模型不兼容,并且无法充分利用 LLM 对用户行为序列的理解能力。

(2)训练难度增加: 在将大规模项目 ID 序列通过指令微调训练到 LLM 中的方法中,存在重要文本语义信号缺失的问题,同时现实工业环境中的大规模项目 ID 增加了 LLM 微调的难度。

三、论文贡献点

1. 设计创新框架: 提出了一种与LLMs相结合的两阶段推荐系统,有效对齐了行为和语言信号的语义,实现了传统推荐模型与 LLMs 的协同工作,提升了推荐系统对用户兴趣的理解能力。

2. 提出映射方法: 开发了一种新颖的方法,将推荐系统中的产品 ID 表示映射为可与任何 LLM 结构或传统推荐模型进一步训练的序列表示。通过构建小型离散索引库(CodeBooks),解决了因项目规模大导致的训练低效问题,降低了训练稀疏性和成本。

3. 设计微调任务: 为 LLM 提出了一系列微调任务,包括顺序对齐、文本对齐和负采样策略。这些任务有助于更好地建模用户兴趣,增强任务的稳健性。例如,通过负采样策略缓解了因用户交互数据有限导致的过拟合和样本选择偏差问题,使 LLM 能更准确地预测用户兴趣。

四、方案介绍

LLM与推荐融合:两阶段对齐与行为语义标记化_自然语言处理

推荐系统中LLMs的两阶段对齐框架,如上图所示。第一阶段为****对齐标记化(Alignment Tokenization),它缓解了由于项目规模庞大而导致的LLMs训练效率低下的问题。这是通过将项目映射到离散向量集(标记化操作)来实现的。在此过程中,引入了一个对齐模块,以便更好地使token化操作与LLMs的输入语义空间同步。第二阶段为****对齐任务(Alignment Task),通过将对推荐任务有益的训练数据纳入LLMs的训练过程,增强了大型语言模型预测用户兴趣的能力。同时,预先缓存LLMs的预测结果,以方便其在实际在线应用中的可行使用。

对齐标记化(Alignment Tokenization)

要让 LLM 理解项目,需将项目表示为其词汇表中的token。但推荐场景中项目数量往往庞大,用原始项目 ID 作token会增加训练稀疏性与成本。为此,论文提出将大规模项目空间转成小离散空间的映射法构建小规模离散索引库(图 2 左侧codebook 1 到codebook 4),每个项目由来自codebook的四个索引表示,相关项目可共享索引。

(创建codebook时受 RQ-VAE 概念启发,定义含 N 个层级(从粗到细)、每层含 C 个编码的级联codebook,项目从每层选最优编码,用 N 个编码表示。)

训练阶段, codebook第一层依据输入项目嵌入向量将编码聚为 C 个中心作初始编码嵌入向量,用基于行为训练的 DCCF 生成的嵌入向量作项目嵌入向量,用其找第一层最近编码形成嵌入向量对算距离损失。后续层以之前层嵌入向量对残差为输入,生成当前层相关内容并算距离损失,N 个距离损失求和,codebook通过逼近残差近似项目嵌入向量,即图 2 左侧的行为对齐。

这一可视为大型语言模型标记化的过程,借助用户行为把项目 ID 映射到较小空间。但此空间独立于LLM,易造成标记化语义空间和模型输入的错位。为此,作者采用了 LLM 对齐损失机制(见图 2 左侧),对模型嵌入向量与编码的差异予以惩罚,确保各编码层与模型语义空间有效同步。模型嵌入向量由对项目标题、描述的输入层嵌入向量平均池化得出。

级联码本的整个训练过程如下:

LLM与推荐融合:两阶段对齐与行为语义标记化_AI大模型_02

LLM与推荐融合:两阶段对齐与行为语义标记化_人工智能_03

其中,Emb(ri) 指来自 DCCF的第 i 个项目嵌入向量,即图 2 中的 Recsys emb。Eni是码本第 n 层的输入,Bnc则为码本第 n 层中第 c 个编码的表示。Dist() 是向量距离函数,如余弦距离,ELLMi代表第 i 个项目在 LLM 输入层的嵌入向量。实验选用 Llama - 7B 作 LLM,损失函数由图 2 左侧所示的行为对齐损失 LBi与 LLM 对齐损失 LLi构成。码本训练后,各项目按训练流程在每层码本找最近编码,最终用 N 个编码表示,本实验 N = 4、C = 256。这些编码后续纳入 LLM 词汇表,用于微调时表示项目。需注意,与前人研究不同,作者方法未考虑自动编码过程。这是因为旨在构建离散索引库,而自回归编码器主要服务于生成任务,追求无关任务目标会降低最终准确性。

对齐任务(Alignment Task)

在通过对齐标记化方法为每个项目获取项目量化表示之后,后续任务涉及利用用户交互和文本描述对LLM进行微调。

为防止因码本(CodeBooks)和LLM之间嵌入的维度差异过大而导致训练不稳定,作者仅使用每个项目的代码索引,而非它们的嵌入表示。因此,代表项目的新引入的token在LLM进行微调之前一直处于未训练状态。依照先前的研究,如图2右侧所示,定义了若干微调任务,包括顺序对齐任务、文本对齐任务、查询对齐任务。以下是每个任务的示例:

LLM与推荐融合:两阶段对齐与行为语义标记化_自然语言处理_04

其中,和指的是通过对齐标记化得出的项目的标记索引,标题和描述分别代表项目的标题以及文本描述,而查询表示用户的评价。对于所有任务,[[prompt]被用作LLM的训练输入,而[[label]则作为训练目标。这些任务被整合到训练集中,利用交叉熵损失对LLM进行微调。

用户交互项目序列是训练数据的一个重要组成部分。然而,每个用户交互项目的数量通常是有限的。仅将交互过的项目用作训练数据可能会由于数据不足而导致过拟合,并引入样本选择偏差。为应对这一挑战,如图2所示(绿色区域被黑色方框框住的部分),针对用户行为引入了负采样策略,以与传统推荐模型的行为泛化能力相匹配。对于没有负样本的场景,随机抽取用户未交互过的项目。基于用户行为的负样本,在顺序对齐任务中增加了一个“负行为任务”。该任务用于表示在当前情境下用户不太可能与之交互的项目。负样本被纳入一组新的负提示表达式中,示例如下:

LLM与推荐融合:两阶段对齐与行为语义标记化_大模型_05

与这些负提示表达式相对应的数据会和其他任务一起被用作LLM微调的训练数据。

推理阶段(Inference)

为解决 LLM 推理计算成本高和速度慢的问题,在在线推理阶段预缓存每个用户的前个项目代码(通过 LLM 内的束搜索推理生成)。当有新项目引入时,无需重新训练 LLM 和 CodeBooks,通过对齐标记化阶段的推理即可获得项目的标记表示,缓解了新项目的冷启动问题。

LLM与推荐融合:两阶段对齐与行为语义标记化_AI大模型_06