SLMRec: Distilling Large Language Models into Small for Sequential Recommendation

📄 arXiv: 2405.17890v4 📥 PDF

作者: Wujiang Xu, Qitian Wu, Zujie Liang, Jiaojiao Han, Xuying Ning, Yunxiao Shi, Wenfang Lin, Yongfeng Zhang

分类: cs.IR, cs.CL, cs.LG

发布日期: 2024-05-28 (更新: 2025-04-20)

备注: International Conference on Learning Representations (ICLR 2025)


💡 一句话要点

提出SLMRec,通过知识蒸馏将大语言模型压缩为小模型用于序列推荐

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 序列推荐 知识蒸馏 大型语言模型 小型语言模型 模型压缩

📋 核心要点

  1. 现有基于LLM的序列推荐模型参数量巨大,部署和推理成本高昂,难以在实际工业场景中应用。
  2. 论文提出SLMRec,通过知识蒸馏将大型语言模型的知识迁移到小型语言模型,从而降低模型规模和计算成本。
  3. 实验表明,SLMRec仅使用LLM的13%参数量,即可达到最佳性能,训练和推理速度分别提升6.6倍和8.0倍。

📝 摘要(中文)

序列推荐(SR)任务旨在根据用户过去的行为预测其接下来可能交互的物品。SR模型通过分析用户行为序列来识别复杂的行为模式和时间动态。最近的研究表明,大型语言模型(LLM)对序列推荐系统产生了重大影响,无论是将序列推荐视为语言建模,还是将其用作用户表示的骨干网络。尽管这些方法表现出色,但鲜有证据表明大型语言模型的必要性以及序列推荐场景中需要多大的语言模型。同时,由于LLM的巨大规模,在需要每天处理数十亿流量日志的实际平台中应用基于LLM的模型效率低下且不切实际。在本文中,我们通过对大规模行业数据集进行广泛的实验,探索了LLM深度的影响。令人惊讶的是,我们的实验表明,LLM的大部分中间层是冗余的,表明修剪剩余层仍然可以保持强大的性能。受此启发,我们为SR提供小型语言模型,即SLMRec,它采用简单而有效的知识蒸馏方法。此外,SLMRec与其他后训练效率技术(如量化和剪枝)正交,因此可以结合使用。全面的实验结果表明,所提出的SLMRec模型仅使用基于LLM的推荐模型中13%的参数即可获得最佳性能,同时在训练和推理时间成本方面分别实现了高达6.6倍和8.0倍的加速。此外,我们为小型语言模型在SR中可以与大型语言模型相媲美的原因提供了理论依据。

🔬 方法详解

问题定义:序列推荐任务旨在预测用户接下来可能交互的物品。现有基于大型语言模型(LLM)的序列推荐模型虽然性能优异,但模型体积庞大,计算复杂度高,难以部署在资源受限的实际工业环境中。因此,如何在保持性能的同时降低模型规模和计算成本是亟待解决的问题。

核心思路:论文的核心思路是利用知识蒸馏技术,将大型语言模型的知识迁移到小型语言模型(SLM)中。通过这种方式,SLM可以学习到LLM的有效表示和预测能力,同时保持较小的模型体积和较低的计算复杂度。论文的动机来自于实验观察,即LLM的许多中间层是冗余的,修剪这些层对性能影响不大,这为知识蒸馏提供了理论基础。

技术框架:SLMRec的整体框架包括两个阶段:首先,使用大型语言模型作为教师模型,在序列推荐任务上进行训练。然后,使用训练好的LLM作为教师,指导小型语言模型(SLM)进行学习。SLM的目标是模仿LLM的输出,从而学习到LLM的知识。在推理阶段,直接使用训练好的SLM进行序列推荐。

关键创新:SLMRec的关键创新在于将知识蒸馏技术应用于序列推荐任务,并成功地将大型语言模型的知识迁移到小型语言模型中。与直接训练小型模型相比,知识蒸馏能够使SLM更好地学习到LLM的有效表示和预测能力。此外,SLMRec的设计与其他的模型压缩技术(如量化和剪枝)正交,可以结合使用以进一步提高效率。

关键设计:SLMRec的关键设计包括:1) 选择合适的LLM作为教师模型;2) 设计有效的知识蒸馏损失函数,例如,可以使用KL散度来衡量SLM和LLM输出之间的差异;3) 选择合适的SLM架构,例如,可以使用Transformer结构,但参数量远小于LLM;4) 调整训练策略,例如,可以使用warm-up策略来提高训练稳定性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,SLMRec仅使用LLM的13%参数量,即可达到与LLM相当甚至更优的性能。在训练和推理速度方面,SLMRec分别实现了高达6.6倍和8.0倍的加速。此外,SLMRec在多个大规模行业数据集上进行了验证,证明了其在实际应用中的有效性。

🎯 应用场景

SLMRec可应用于各种需要序列推荐的场景,例如电商、视频推荐、新闻推荐等。该方法能够显著降低模型部署和推理成本,使其能够在资源受限的移动设备或边缘设备上运行。此外,SLMRec还可以与其他模型压缩技术结合使用,进一步提高效率,从而为大规模序列推荐系统的部署提供了一种有效的解决方案。

📄 摘要(原文)

Sequential Recommendation (SR) task involves predicting the next item a user is likely to interact with, given their past interactions. The SR models examine the sequence of a user's actions to discern more complex behavioral patterns and temporal dynamics. Recent research demonstrates the great impact of LLMs on sequential recommendation systems, either viewing sequential recommendation as language modeling or serving as the backbone for user representation. Although these methods deliver outstanding performance, there is scant evidence of the necessity of a large language model and how large the language model is needed, especially in the sequential recommendation scene. Meanwhile, due to the huge size of LLMs, it is inefficient and impractical to apply a LLM-based model in real-world platforms that often need to process billions of traffic logs daily. In this paper, we explore the influence of LLMs' depth by conducting extensive experiments on large-scale industry datasets. Surprisingly, our motivational experiments reveal that most intermediate layers of LLMs are redundant, indicating that pruning the remaining layers can still maintain strong performance. Motivated by this insight, we empower small language models for SR, namely SLMRec, which adopt a simple yet effective knowledge distillation method. Moreover, SLMRec is orthogonal to other post-training efficiency techniques, such as quantization and pruning, so that they can be leveraged in combination. Comprehensive experimental results illustrate that the proposed SLMRec model attains the best performance using only 13% of the parameters found in LLM-based recommendation models while simultaneously achieving up to 6.6x and 8.0x speedups in training and inference time costs, respectively. Besides, we provide a theoretical justification for why small language models can perform comparably to large language models in SR.