MixLoRA: Enhancing Large Language Models Fine-Tuning with LoRA-based Mixture of Experts

📄 arXiv: 2404.15159v3 📥 PDF

作者: Dengchun Li, Yingzi Ma, Naizheng Wang, Zhengmao Ye, Zhiyuan Cheng, Yinghao Tang, Yan Zhang, Lei Duan, Jie Zuo, Cal Yang, Mingjie Tang

分类: cs.CL, cs.AI

发布日期: 2024-04-22 (更新: 2024-07-20)

备注: 18 pages, 5 figures


💡 一句话要点

提出MixLoRA以解决大语言模型微调中的资源效率问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 微调 LoRA 混合专家 多任务学习 资源效率 GPU优化

📋 核心要点

  1. 现有的LoRA方法在多任务场景中性能不足,且资源需求高,尤其是在消费级GPU上。
  2. MixLoRA通过在预训练模型中插入多个LoRA专家,结合top-k路由器,提升了模型的资源效率和性能。
  3. 实验表明,MixLoRA在多任务学习中相比于现有方法提高了约9%的准确率,并显著降低了GPU内存消耗和计算延迟。

📝 摘要(中文)

微调大型语言模型(LLMs)是将预训练模型适应特定应用的常见做法。尽管像LoRA的方法有效解决了微调过程中的GPU内存限制,但在多任务场景中的性能往往不足。相比之下,混合专家(MoE)模型在多任务学习中表现出色,但其资源需求仍然是一个挑战。为了解决这些问题,本文提出了MixLoRA,一种基于LoRA构建资源高效稀疏MoE模型的方法。MixLoRA在冻结的预训练密集模型的前馈网络块中插入多个基于LoRA的专家,并采用常用的top-k路由器。与其他基于LoRA的MoE方法不同,MixLoRA通过利用独立的注意力层LoRA适配器来提升模型性能,并引入辅助负载平衡损失以解决路由器的不平衡问题。评估结果显示,MixLoRA在多任务学习场景中相比于最先进的PEFT方法提高了约9%的准确率。

🔬 方法详解

问题定义:当前在微调大型语言模型时,现有方法如LoRA虽然解决了内存限制,但在多任务学习中的性能仍然不足,且混合专家模型的资源需求对普通GPU用户构成挑战。

核心思路:MixLoRA的核心思路是通过在冻结的预训练模型中插入多个基于LoRA的专家,利用top-k路由器来选择激活的专家,从而实现资源高效的稀疏MoE模型设计。

技术框架:MixLoRA的整体架构包括一个冻结的预训练密集模型、多个LoRA专家和一个top-k路由器。模型在前馈网络块中插入LoRA适配器,并通过路由器选择激活的专家进行计算。

关键创新:MixLoRA的创新在于使用独立的注意力层LoRA适配器来提升模型性能,并引入辅助负载平衡损失,解决了路由器的不平衡问题。这与其他基于LoRA的MoE方法形成了明显的区别。

关键设计:在设计中,MixLoRA采用了top-k路由策略,并设置了辅助负载平衡损失函数,以确保各个专家的负载均衡。此外,模型在训练和推理过程中显著降低了GPU内存消耗和计算延迟。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

MixLoRA在多任务学习场景中相比于最先进的PEFT方法提高了约9%的准确率。此外,该方法在训练和推理过程中显著减少了40%的GPU内存消耗和30%的计算延迟,展现了其在资源利用上的优势。

🎯 应用场景

MixLoRA的研究成果具有广泛的应用潜力,特别是在需要高效处理多任务的自然语言处理(NLP)领域。其资源高效的特性使得在消费级硬件上也能实现高性能的模型微调,推动了大语言模型在实际应用中的普及与发展。

📄 摘要(原文)

Fine-tuning Large Language Models (LLMs) is a common practice to adapt pre-trained models for specific applications. While methods like LoRA have effectively addressed GPU memory constraints during fine-tuning, their performance often falls short, especially in multi-task scenarios. In contrast, Mixture-of-Expert (MoE) models, such as Mixtral 8x7B, demonstrate remarkable performance in multi-task learning scenarios while maintaining a reduced parameter count. However, the resource requirements of these MoEs remain challenging, particularly for consumer-grade GPUs with less than 24GB memory. To tackle these challenges, we propose MixLoRA, an approach to construct a resource-efficient sparse MoE model based on LoRA. MixLoRA inserts multiple LoRA-based experts within the feed-forward network block of a frozen pre-trained dense model and employs a commonly used top-k router. Unlike other LoRA-based MoE methods, MixLoRA enhances model performance by utilizing independent attention-layer LoRA adapters. Additionally, an auxiliary load balance loss is employed to address the imbalance problem of the router. Our evaluations show that MixLoRA improves about 9% accuracy compared to state-of-the-art PEFT methods in multi-task learning scenarios. We also propose a new high-throughput framework to alleviate the computation and memory bottlenecks during the training and inference of MOE models. This framework reduces GPU memory consumption by 40% and token computation latency by 30% during both training and inference.