KD-LoRA: A Hybrid Approach to Efficient Fine-Tuning with LoRA and Knowledge Distillation
作者: Rambod Azimi, Rishav Rishav, Marek Teichmann, Samira Ebrahimi Kahou
分类: cs.CL, cs.AI, cs.LG
发布日期: 2024-10-28
备注: Accepted at 4th NeurIPS Efficient Natural Language and Speech Processing Workshop (ENLSP-IV 2024)
🔗 代码/项目: GITHUB
💡 一句话要点
KD-LoRA:结合LoRA与知识蒸馏的高效微调方法,降低资源需求。
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 知识蒸馏 低秩适应 参数高效微调 大型语言模型 模型压缩
📋 核心要点
- 大型语言模型微调计算和内存成本高昂,限制了其在资源受限环境中的应用。
- KD-LoRA结合LoRA的参数高效性和知识蒸馏的压缩能力,在微调过程中降低资源需求。
- 实验表明,KD-LoRA在保持性能的同时,显著降低了GPU内存占用和推理时间。
📝 摘要(中文)
大型语言模型(LLMs)在各种下游任务中表现出卓越的性能。然而,LLMs的高计算和内存需求是一个主要的瓶颈。为了解决这个问题,参数高效微调(PEFT)方法,如低秩适应(LoRA),被提出以降低计算成本,同时确保最小的性能损失。此外,知识蒸馏(KD)一直是获得教师模型紧凑学生模型的流行选择。在这项工作中,我们提出KD-LoRA,一种结合LoRA与KD的新型微调方法。我们的结果表明,KD-LoRA实现了与全量微调(FFT)和LoRA相当的性能,同时显著降低了资源需求。具体来说,KD-LoRA在GLUE基准测试中保留了LoRA 98%的性能,同时更加紧凑40%。此外,KD-LoRA相比LoRA降低了30%的GPU内存使用,同时相比FFT和LoRA都减少了30%的推理时间。我们在三个仅编码器模型上评估了KD-LoRA:BERT、RoBERTa和DeBERTaV3。
🔬 方法详解
问题定义:论文旨在解决大型语言模型微调过程中资源消耗过高的问题。现有方法,如全量微调,需要大量的计算资源和内存,而LoRA虽然降低了参数量,但在推理速度和模型大小上仍有优化空间。
核心思路:论文的核心思路是将LoRA与知识蒸馏相结合,利用LoRA进行参数高效的微调,同时使用知识蒸馏将知识从LoRA微调后的模型迁移到更小的学生模型,从而进一步降低资源需求。这样既能保持模型的性能,又能减小模型大小和提高推理速度。
技术框架:KD-LoRA的整体框架包括以下几个步骤:1) 使用LoRA对预训练模型进行微调,得到一个微调后的教师模型。2) 使用教师模型生成软标签。3) 训练一个参数量更小的学生模型,学生模型的目标是同时学习真实标签和教师模型提供的软标签。
关键创新:KD-LoRA的关键创新在于将LoRA和知识蒸馏两种技术结合起来,实现了参数高效微调和模型压缩的双重目标。与单独使用LoRA相比,KD-LoRA可以进一步降低模型大小和提高推理速度。与传统的知识蒸馏相比,KD-LoRA利用LoRA进行微调,避免了从头训练大型教师模型的开销。
关键设计:KD-LoRA的关键设计包括:1) LoRA的秩(rank)的选择,需要根据具体任务进行调整。2) 知识蒸馏的温度参数,控制软标签的平滑程度。3) 学生模型的结构,通常选择与教师模型相似但参数量更小的模型。4) 损失函数的设计,通常是交叉熵损失和KL散度的加权和,分别用于学习真实标签和软标签。
🖼️ 关键图片
📊 实验亮点
KD-LoRA在GLUE基准测试中保留了LoRA 98%的性能,同时模型大小减少了40%。与LoRA相比,KD-LoRA降低了30%的GPU内存使用,并且与全量微调和LoRA相比,推理时间减少了30%。这些结果表明,KD-LoRA在保持性能的同时,显著降低了资源需求。
🎯 应用场景
KD-LoRA适用于资源受限场景下的大型语言模型微调,例如移动设备、边缘计算等。它可以降低模型部署的成本,提高推理速度,使得大型语言模型能够在更多场景下应用。此外,KD-LoRA也可以用于模型压缩,将大型模型压缩成更小的模型,方便存储和传输。
📄 摘要(原文)
Large language models (LLMs) have demonstrated remarkable performance across various downstream tasks. However, the high computational and memory requirements of LLMs are a major bottleneck. To address this, parameter-efficient fine-tuning (PEFT) methods such as low-rank adaptation (LoRA) have been proposed to reduce computational costs while ensuring minimal loss in performance. Additionally, knowledge distillation (KD) has been a popular choice for obtaining compact student models from teacher models. In this work, we present KD-LoRA, a novel fine-tuning method that combines LoRA with KD. Our results demonstrate that KD-LoRA achieves performance comparable to full fine-tuning (FFT) and LoRA while significantly reducing resource requirements. Specifically, KD-LoRA retains 98% of LoRA's performance on the GLUE benchmark, while being 40% more compact. Additionally, KD-LoRA reduces GPU memory usage by 30% compared to LoRA, while decreasing inference time by 30% compared to both FFT and LoRA. We evaluate KD-LoRA across three encoder-only models: BERT, RoBERTa, and DeBERTaV3. Code is available at https://github.com/rambodazimi/KD-LoRA.