📘 背景
在推荐系统领域,大型语言模型(LLM)如T5等,因其在多步推理等任务上的卓越表现而备受关注。然而,这些模型通常只能处理纯文本输入,面对长文本时效率低下,难以满足推荐系统对即时响应的需求。此外,用户和物品ID作为推荐系统中的关键信息,与文本中的单词存在差异,导致模型需要大量微调来桥接ID和模板单词。
🔍 相关工作
研究者们尝试将LLM应用于推荐任务,但主要集中在单一任务上,如可解释推荐和序列推荐。近期,有研究开始探索将多个推荐任务集成到一个LLM中,例如P5模型,它通过设计一系列个性化提示来同时处理多个任务。
🏎️ 创新点
本研究提出了一种名为PrOmpt Distillation (POD)的方法,将离散提示模板蒸馏为连续的提示向量,以桥接ID和单词,并减少推理时间。此外,提出了一种Task-alternated Training策略,以提高LLM在多个推荐任务上的训练效率。
🧠 方法介绍
POD方法使用编码器-解码器架构,连续提示向量是任务特定的,每个任务使用一组离散提示模板。通过整词嵌入来连接每个ID的标记。训练过程中,连续提示向量学习离散提示的表达,由于它们不映射到任何具体单词,因此比离散提示更灵活、更具表现力。
方法的具体介绍:
1. 离散提示与连续提示向量
-
离散提示:在传统的LLM-based推荐模型中,用户和物品的ID被嵌入到一个预定义的模板(离散提示)中,以便模型能够理解任务。这些模板由一系列离散的词组成,模型需要通过大量的微调来理解这些ID和模板词之间的关系。
-
连续提示向量:POD方法将离散提示模板转换为一组连续的提示向量。这些向量在训练过程中学习离散提示的表达,并且由于它们不映射到具体的词,因此比离散提示更灵活、更具表现力。
2. 训练策略
- Task-alternated Training:为了提高训练效率,POD提出了一种任务交替训练策略。这种策略通过交替训练不同任务的样本来减少因不同任务输入/输出长度不同而导致的内存浪费,从而提高训练效率。
3. 方法流程
-
输入:对于每个推荐任务,模型接收一个由用户ID和物品ID组成的序列,这些ID被表示为文本字符串(例如,用户1234表示为“user_1234”)。
-
编码:使用整词嵌入(whole-word embeddings)来连接每个ID的标记,确保模型能够识别和区分不同的ID。
-
蒸馏:在训练过程中,连续提示向量学习离散提示的表达,最终只保留连续提示向量以减少推理时间。
-
输出:模型输出推荐结果或解释,这些输出是通过自回归生成的序列。
4. 实现细节
-
编码器-解码器架构:POD方法采用了编码器-解码器架构,其中连续提示向量是任务特定的,每个任务使用一组离散提示模板。
-
损失函数:模型使用负对数似然(Negative Log-Likelihood, NLL)损失函数来优化模型参数。
5. 生成推荐和解释
- Beam Search:为了生成推荐或解释,POD使用Beam Search算法来找到最佳的输出序列。在每个时间步,模型会从词汇表中选择概率最高的几个词作为候选,并在下一步中扩展这些候选序列。

📊 数据集
实验在三个来自亚马逊电子商务平台的真实世界数据集上进行,包括Sports & Outdoors、Beauty和Toys & Games类别。每个数据集包含用户ID、物品ID、评分、文本评论和时间戳。
📈 实验
实验结果表明,POD方法在序列推荐和Top-N推荐任务上均优于现有基线。特别是在训练效率上,POD方法显著优于现有方法,但在推理效率上的提升有限,这可能成为未来推荐系统研究的新方向。

2480

被折叠的 条评论
为什么被折叠?



