CoRA: Optimizing Low-Rank Adaptation with Common Subspace of Large Language Models
作者: Xiaojun Xiao, Sen Shen, Qiming Bao, Hongfei Rong, Kairui Liu, Zhongsheng Wang, Jiamou Liu
分类: cs.LG, cs.AI, cs.CL
发布日期: 2024-08-31
💡 一句话要点
CoRA:利用大语言模型公共子空间优化低秩适应,提升微调效率。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 低秩适应 大语言模型 参数优化 模型微调 公共子空间
📋 核心要点
- 现有LoRA方法在压缩方面仍有提升空间,存在参数冗余,导致计算资源浪费。
- CoRA利用大语言模型的公共子空间替换LoRA矩阵B,以优化LoRA训练过程。
- 实验表明,CoRA在保持性能的同时提高了效率,或在相同参数下提升了性能。
📝 摘要(中文)
在大语言模型(LLM)微调中,如何在保持有效性的同时节约计算资源,并在相同的计算约束下改善结果至关重要。低秩适应(LoRA)策略通过减少可训练参数和计算成本,在微调大型模型时平衡了效率和性能。然而,目前LoRA的进展可能更侧重于其微调方法,而对LoRA进一步压缩的探索可能不足。由于LoRA的大部分参数可能仍然是多余的,这可能导致不必要的计算资源浪费。在本文中,我们提出了CoRA:利用共享知识,通过用来自大型模型的公共子空间替换其矩阵$B$来优化LoRA训练。我们的双重方法包括:(1)冻结替代矩阵$B$,在训练矩阵$A$以完成特定任务时,参数减半;(2)使用替代矩阵$B$作为原始矩阵$B$的增强初始状态,在相同参数下获得改进的结果。我们的实验表明,第一种方法在实现与原始LoRA微调相同效果的同时,比参数减半更有效。同时,第二种方法与LoRA的原始微调性能相比有所提高。它们普遍证明了我们工作的有效性。
🔬 方法详解
问题定义:论文旨在解决LoRA微调中参数冗余导致的计算资源浪费问题。现有的LoRA方法虽然减少了可训练参数,但仍然存在进一步压缩的空间,导致在实际应用中效率不高。
核心思路:论文的核心思路是利用大语言模型中存在的公共子空间来替代LoRA中的矩阵B。作者认为,大型模型在训练过程中学习到的知识存在一定的共享性,因此可以使用一个共享的子空间来初始化或替代LoRA中的部分参数,从而减少需要训练的参数量,提高训练效率。
技术框架:CoRA方法主要包含两个阶段。第一阶段,使用从大型模型中提取的公共子空间矩阵B来替代LoRA中的矩阵B,并冻结该矩阵,只训练矩阵A。第二阶段,将提取的公共子空间矩阵B作为LoRA原始矩阵B的初始化状态,然后进行正常的LoRA微调。
关键创新:CoRA的关键创新在于利用了大型语言模型中存在的公共子空间来优化LoRA的训练。与传统的LoRA方法相比,CoRA不需要训练整个矩阵B,而是使用一个预定义的公共子空间来替代它,从而大大减少了需要训练的参数量。
关键设计:论文的关键设计包括如何提取大型模型中的公共子空间矩阵B,以及如何将其有效地应用于LoRA的训练过程中。具体的技术细节包括选择哪些层来提取公共子空间,如何对提取的子空间进行处理以适应LoRA的维度,以及如何设置训练参数以保证模型的性能。
🖼️ 关键图片
📊 实验亮点
实验结果表明,CoRA的第一种方法在参数减半的情况下,实现了与原始LoRA微调相当的性能,显著提高了训练效率。第二种方法在相同参数量下,相比原始LoRA微调,性能有所提升,验证了CoRA的有效性。
🎯 应用场景
CoRA方法可应用于各种需要对大型语言模型进行微调的场景,例如自然语言处理、文本生成、机器翻译等。通过减少计算资源消耗,CoRA使得在资源受限的环境下进行模型微调成为可能,加速了LLM在各领域的应用。
📄 摘要(原文)
In fine-tuning large language models (LLMs), conserving computational resources while maintaining effectiveness and improving outcomes within the same computational constraints is crucial. The Low-Rank Adaptation (LoRA) strategy balances efficiency and performance in fine-tuning large models by reducing the number of trainable parameters and computational costs. However, current advancements in LoRA might be focused on its fine-tuning methodologies, with not as much exploration as might be expected into further compression of LoRA. Since most of LoRA's parameters might still be superfluous, this may lead to unnecessary wastage of computational resources. In this paper, we propose \textbf{CoRA}: leveraging shared knowledge to optimize LoRA training by substituting its matrix $B$ with a common subspace from large models. Our two-fold method includes (1) Freezing the substitute matrix $B$ to halve parameters while training matrix $A$ for specific tasks and (2) Using the substitute matrix $B$ as an enhanced initial state for the original matrix $B$, achieving improved results with the same parameters. Our experiments show that the first approach achieves the same efficacy as the original LoRA fine-tuning while being more efficient than halving parameters. At the same time, the second approach has some improvements compared to LoRA's original fine-tuning performance. They generally attest to the effectiveness of our work.