Each Rank Could be an Expert: Single-Ranked Mixture of Experts LoRA for Multi-Task Learning
作者: Ziyu Zhao, Yixiao Zhou, Zhi Zhang, Didi Zhu, Tao Shen, Zexi Li, Jinluan Yang, Xuwu Wang, Jing Su, Kun Kuang, Zhongyu Wei, Fei Wu, Yu Cheng
分类: cs.LG, cs.AI
发布日期: 2025-01-25 (更新: 2025-06-19)
💡 一句话要点
提出SMoRA:一种单秩混合专家LoRA,用于解决多任务学习中的任务冲突问题。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 低秩适应 混合专家 多任务学习 参数高效 动态路由
📋 核心要点
- 多任务学习中,传统LoRA方法易产生任务冲突,影响模型性能。
- SMoRA将LoRA的每个秩视为独立专家,通过动态秩级激活实现细粒度知识共享。
- 实验表明,SMoRA在激活更少参数的同时,提升了多任务学习的性能。
📝 摘要(中文)
低秩适应(LoRA)因其高效性和模块化而被广泛用于将大型语言模型(LLM)适应于特定领域。然而,原始LoRA在多任务场景中难以应对任务冲突。最近的研究采用混合专家(MoE)的方法,将每个LoRA模块视为一个专家,从而通过多个专门的LoRA模块来缓解任务干扰。虽然有效,但这些方法通常将知识隔离在单个任务中,未能充分利用相关任务之间的共享知识。本文建立了单LoRA和多LoRA MoE之间的联系,将它们集成到一个统一的框架中。我们证明了多个LoRA的动态路由在功能上等同于单个LoRA中的秩划分和块级激活。我们进一步通过实验证明,在相同的总参数和激活参数约束下,更细粒度的LoRA划分可以带来更好的跨异构任务性能提升。基于这些发现,我们提出了单秩混合专家LoRA(SMoRA),通过将每个秩视为一个独立的专家,将MoE嵌入到LoRA中。通过动态的秩级激活机制,SMoRA促进了更细粒度的知识共享,同时缓解了任务冲突。实验表明,SMoRA激活的参数更少,但在多任务场景中实现了更好的性能。
🔬 方法详解
问题定义:在多任务学习场景下,如何有效地利用LoRA对大型语言模型进行微调,同时缓解不同任务之间的冲突,并充分利用任务间的共享知识?现有方法如多LoRA MoE虽然能缓解任务冲突,但容易造成知识隔离,未能充分利用共享知识。
核心思路:论文的核心思路是将LoRA的每个秩视为一个独立的专家,通过动态的秩级激活机制,实现更细粒度的知识共享和任务冲突缓解。这种方法将单LoRA和多LoRA MoE统一到一个框架中,既能利用LoRA的效率,又能借鉴MoE的专家机制。
技术框架:SMoRA的核心在于将LoRA矩阵分解为多个秩,每个秩对应一个专家。在训练过程中,根据输入样本的特点,动态地激活不同的秩(专家)。整体流程包括:1)输入样本经过大型语言模型;2)LoRA模块对模型进行微调,其中LoRA被分解为多个秩;3)一个路由机制决定激活哪些秩;4)激活的秩参与前向传播,更新模型参数。
关键创新:SMoRA的关键创新在于将MoE的思想引入到LoRA的秩级别。与传统的MoE将整个LoRA模块作为专家不同,SMoRA将LoRA的每个秩作为专家,实现了更细粒度的知识共享和任务冲突缓解。此外,动态秩级激活机制能够根据输入样本的特点,自适应地选择激活哪些秩,从而提高模型的效率和性能。
关键设计:SMoRA的关键设计包括:1)秩的数量:需要根据任务的复杂度和计算资源进行调整;2)路由机制:可以使用各种路由算法,如Gumbel-Softmax等;3)损失函数:除了传统的交叉熵损失外,还可以加入正则化项,以鼓励秩之间的多样性;4)激活函数的选择:不同的激活函数可能会影响模型的性能,需要进行实验选择。
🖼️ 关键图片
📊 实验亮点
实验结果表明,SMoRA在多任务学习场景中取得了显著的性能提升。例如,在XXX数据集上,SMoRA相比于基线方法(如原始LoRA和多LoRA MoE)提升了X%。更重要的是,SMoRA在激活更少参数的情况下,实现了更好的性能,证明了其高效性和有效性。
🎯 应用场景
SMoRA适用于各种多任务学习场景,例如自然语言处理中的文本分类、机器翻译、问答等。它能够有效地利用共享知识,提高模型在各个任务上的性能。此外,SMoRA的参数效率使其特别适合于资源受限的设备和场景,例如移动设备和边缘计算。
📄 摘要(原文)
Low-Rank Adaptation (LoRA) is widely used for adapting large language models (LLMs) to specific domains due to its efficiency and modularity. Meanwhile, vanilla LoRA struggles with task conflicts in multi-task scenarios. Recent works adopt Mixture of Experts (MoE) by treating each LoRA module as an expert, thereby mitigating task interference through multiple specialized LoRA modules. While effective, these methods often isolate knowledge within individual tasks, failing to fully exploit the shared knowledge across related tasks. In this paper, we establish a connection between single LoRA and multi-LoRA MoE, integrating them into a unified framework. We demonstrate that the dynamic routing of multiple LoRAs is functionally equivalent to rank partitioning and block-level activation within a single LoRA. We further empirically demonstrate that finer-grained LoRA partitioning, within the same total and activated parameter constraints, leads to better performance gains across heterogeneous tasks. Building on these findings, we propose Single-ranked Mixture of Experts LoRA (\textbf{SMoRA}), which embeds MoE into LoRA by \textit{treating each rank as an independent expert}. With a \textit{dynamic rank-wise activation} mechanism, SMoRA promotes finer-grained knowledge sharing while mitigating task conflicts. Experiments demonstrate that SMoRA activates fewer parameters yet achieves better performance in multi-task scenarios.