MiLoRA:利用次要奇异成分实现高效的 LLM 微调

大型语言模型 (LLM) 在各种任务中展现出优异的性能,例如数学推理和问答。这些模型通常在大型网络数据上进行预训练,然后使用指令数据和人类偏好数据进行微调,以适应不同的下游任务。然而,完全微调需要大量的计算资源,限制了 LLM 在不同场景中的应用。

参数高效微调 (PEFT) 旨在降低预训练模型微调的计算和 GPU 内存成本。低秩自适应 (LoRA) 是最常用的 PEFT 方法之一,它假设线性模型权重的变化是低秩的。对于每个选定的权重矩阵,LoRA 只更新两个低秩矩阵,同时保持原始权重矩阵不变。在推理过程中,低秩矩阵被合并到预训练的线性权重中,因此不会引入额外的计算或内存成本。

尽管 LoRA 在效率方面表现出色,但它存在一些局限性。现有的 LoRA 方法通常随机初始化低秩矩阵,并在无指导的子空间中优化可训练参数。这种策略可能会覆盖预训练模型中重要的特征,从而影响低秩自适应方法的性能。

MiLoRA:利用次要奇异成分进行低秩自适应

为了解决这个问题,本文提出了一种名为 MiLoRA 的简单而有效的 PEFT 方法,它只更新权重矩阵的次要奇异成分,而保持主要奇异成分不变。

主要奇异成分 对应于权重矩阵中重要的特征,而 次要奇异成分 则包含噪声或长尾信息。MiLoRA 将低秩矩阵初始化在一个与主要矩阵正交的子空间中,从而最大限度地利用次要奇异成分来学习微调数据集,同时保留预训练模型的知识。

MiLoRA 的工作原理

  1. 分解权重矩阵: 使用奇异值分解 (SVD) 将权重矩阵 W 分解成两个矩阵:主要矩阵 Wp 和次要矩阵 Wm。
  2. 初始化低秩矩阵: 使用次要矩阵 Wm 初始化 LoRA 框架中的低秩矩阵 A 和 B.
  3. 微调: 只更新低秩矩阵 A 和 B. 而保持主要矩阵 Wp 不变。

实验结果

本文在常识推理、数学推理和指令遵循基准上进行了广泛的实验,结果表明 MiLoRA 始终优于 LoRA 和 PiSSA,而不会牺牲训练或推理效率。

常识推理: 在 LLaMA2-7B 和 LLaMA3-8B 上,MiLoRA 在八个常识推理数据集上的平均准确率分别提高了 1.6% 和 1.1%。

数学推理: 在 LLaMA2-7B 上,MiLoRA 在 GSM8K 和 MATH 数据集上的平均准确率分别提高了 1.92% 和 1.76%。

指令遵循: 在 LLaMA2-7B 上,MiLoRA 在 Alpaca-Eval v1.0 上的胜率达到 87.3%,与 LLaMA2 Chat 7B 的性能相当。

MiLoRA 的优势

  • 保留预训练知识: 通过保持主要奇异成分不变,MiLoRA 能够有效地保留预训练模型的知识。
  • 高效学习: MiLoRA 只更新次要奇异成分,从而减少了训练参数的数量,提高了训练效率。
  • 简化超参数设置: MiLoRA 不需要调整缩放因子 α 和初始化超参数,只需设置秩 r 即可。

结论

MiLoRA 是一种简单而有效的 PEFT 方法,它通过利用次要奇异成分来实现高效的 LLM 微调。实验结果表明,MiLoRA 在各种任务上都取得了优异的性能,同时保留了预训练模型的知识。

参考文献

  • Hu, J. , Shen, Z., Xiong, L., Zhang, S., & He, X. (2021). Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685.
  • Meng, X. , Wang, Y., Wang, J., Chen, J., & Zhang, M. (2024). PiSSA: Parameter-efficient finetuning with principle singular component adaptation. arXiv preprint arXiv:2404.05636.
  • Touvron, J. , Lachaux, M., Izacard, G., Hoffmann, J., & Joulin, A. (2023). Llama: Open and efficient large language models. arXiv preprint arXiv:2302.13971.
  • AI@Meta. (2024). Llama 3: Open and efficient large language models. Retrieved from https://ai.facebook.com/blog/llama-3-open-and-efficient-large-language-models/.

下一步工作

  • 将 MiLoRA 与其他 LoRA 变体相结合,进一步提高性能。
  • 研究 MiLoRA 在其他任务上的应用,例如机器翻译和代码生成。
  • 探索 MiLoRA 的理论基础,并分析其优越性能的原因。

Q: 这篇论文试图解决什么问题?

A: 这篇论文提出了一种名为MiLoRA的新方法,旨在解决大型语言模型(LLMs)的高效微调(finetuning)问题。具体来说,它试图解决以下问题:

  1. 计算和内存成本:传统的全参数微调方法需要大量的计算资源和内存,这限制了大型语言模型在不同场景下的广泛应用。
  2. 知识干扰:以往的基于LoRA(Low-Rank Adaptation)的方法在随机初始化低秩矩阵时,可能会在优化过程中干扰预训练权重矩阵中已经学习到的重要特征。
  3. 参数效率:为了减少微调期间的计算和GPU内存成本,需要一种参数高效的微调方法,以便在保持模型性能的同时减少可训练参数的数量。

MiLoRA通过仅更新权重矩阵的次要奇异成分(minor singular components),同时保持主要奇异成分(principle singular components)固定,来解决上述问题。这种方法预期能够在微调任务中有效学习,同时更好地保留和利用预训练知识。

Q: 有哪些相关研究?

A: 这篇论文提到了多个与参数高效微调(PEFT)相关的研究工作,以下是一些主要的相关研究:

  1. LoRA (Low-Rank Adaptation) (Hu et al., 2021): 一种广泛使用的PEFT方法,通过使用两个可训练的低秩矩阵来重新参数化选定的线性权重的更新。
  2. PiSSA (Meng et al., 2024): 一种与MiLoRA同时期提出的低秩适应方法,它适应主要奇异成分,而不是次要奇异成分。
  3. Adapter-based methods (Houlsby et al., 2019; Pfeiffer et al., 2021a,b): 通过在每个Transformer层中插入额外的可训练前馈子模块来进行参数高效的迁移学习。
  4. Prompt-based methods (Lester et al., 2021; Li & Liang, 2021; Liu et al., 2022): 在输入令牌中添加额外的软提示,在训练期间只更新软提示,而固定预训练模型参数。
  5. AdaLoRA and ALoRA (Zhang et al., 2023; Liu et al., 2024b): 自适应地确定每个权重矩阵中LoRA模块的秩,根据重要性分数调整秩。
  6. rsLoRA (Kalajdzievski, 2023): 通过适当的缩放因子改进LoRA,以提高大秩性能。
  7. DoRA (Liu et al., 2024a): 将预训练权重分解为幅度和方向组件,然后对两者进行微调以获得更好的性能。
  8. VeRA (Kopiczko et al., 2024): 通过在所有层之间共享一对低秩矩阵,与LoRA相比减少了可训练参数的数量。

这些研究工作为大型语言模型的参数高效微调提供了多种方法和思路,而MiLoRA则是在此基础上提出的新方法,旨在通过特定的方式来平衡学习新任务和保留预训练知识。

Q: 论文如何解决这个问题?

A: 论文通过提出MiLoRA(Minor singular component based Low Rank Adaptation)方法来解决大型语言模型(LLMs)的高效微调问题。MiLoRA的核心思想和解决策略如下:

  1. 奇异值分解(SVD):首先对权重矩阵进行SVD分解,将其分为主要矩阵(Wp)和次要矩阵(Wm),其中Wp对应于较大的奇异值,而Wm对应于较小的奇异值。
  2. 保留主要矩阵:论文假设主要矩阵Wp包含了预训练知识的核心部分,因此在微调过程中保持Wp固定,以保留重要的预训练知识。
  3. 初始化低秩矩阵:将次要矩阵Wm用于初始化LoRA框架中的低秩矩阵A和B. 这样,可训练的低秩矩阵在与主要矩阵正交的子空间内初始化,预期能够在学习微调任务的同时,更好地利用和保留预训练知识。
  4. 简化的超参数:与标准LoRA方法相比,MiLoRA不需要调整缩放因子α和其他初始化超参数,仅需要设置秩r,这简化了训练过程。
  5. 实验验证:通过在常识推理、数学推理和指令跟随等多个基准测试上的广泛实验,论文证明了MiLoRA在保持训练和推理效率的同时,能够持续超越LoRA和其他PEFT方法。
  6. 性能提升:实验结果显示,MiLoRA在不同任务上均取得了性能提升,例如在常识推理任务上,MiLoRA在LLaMA2-7B和LLaMA3-8B模型上分别取得了1.6%和1.1%的平均准确率提升。

通过这些策略,MiLoRA旨在实现在微调过程中对大型语言模型的有效调整,同时最大限度地减少对已有预训练知识的干扰,以此提高微调的效率和效果。

Q: 论文做了哪些实验?

A: 论文中进行了一系列实验来评估MiLoRA方法的有效性,并与其他参数高效微调(PEFT)方法进行比较。以下是论文中提到的主要实验:

  1. 常识推理(Commonsense Reasoning)
    • 使用LLaMA2-7B和LLaMA3-7B模型在Commonsense170K数据集上进行微调。
    • 评估数据集包括BoolQ、PIQA、SIQA、HellaSwag、WinoGrande、ARC-e、ARC-c和OBQA等八个常识推理数据集。
    • 任务被制定为多项选择问题,通过验证集损失选择最佳检查点,并报告所有数据集的准确率。
  2. 数学推理(Math Reasoning)
    • 使用LLaMA2-7B模型在MetaMathQA数据集上进行微调,该数据集包含从GSM8K和MATH数据集扩展的样本。
    • 使用GSM8K和MATH的测试集进行评估,报告最后一个检查点的精确匹配比率。
  3. 指令跟随(Instruction-following)
    • 按照Wu等人(2024a)和Wu等人(2024b)的实验设置,使用Ultrafeedback对LLaMA2-7B进行微调。
    • 使用Alpaca-Eval v1.0进行评估,并报告与text-davinci-003使用GPT4-0613作为注释器的胜率。
  4. 不同秩设置对MiLoRA的影响
    • 通过调整秩r的不同配置(16, 32, 64, 128),评估不同秩设置对MiLoRA在数学推理任务上的影响。
  5. 次要奇异分量适应的重要性
    • 通过使用主要、随机采样和次要奇异分量初始化低秩矩阵A和B. 评估它们在数学推理任务上的性能。
  6. 矩阵更新∆W与W的比较
    • 分析不同方法中∆W. 微调前后权重的差异)与W(预训练权重)之间的关系。
  7. MiLoRA与其他基线方法的遗忘损失比较
    • 使用交叉熵作为度量标准,评估MiLoRA与其他方法相比在保留预训练知识方面的表现。
  8. MiLoRA与PiSSA的比较
    • 比较MiLoRA与PiSSA在相同实验设置下的性能,探讨两者在动机、性能和超参数配置方面的差异。

这些实验结果表明,MiLoRA在多个任务和数据集上均能实现优于现有PEFT方法的性能,同时保持了训练和推理的效率。

Q: 有什么可以进一步探索的点?

A: 尽管MiLoRA在实验中表现出色,但仍有一些潜在的研究方向和探索点,包括但不限于:

  1. 不同模型的适用性:MiLoRA主要在LLaMA模型族上进行了测试。未来的工作可以探索MiLoRA在其他大型语言模型(如GPT、T5等)上的有效性和适用性。
  2. 不同任务的泛化能力:除了常识推理、数学推理和指令跟随任务外,MiLoRA在其他类型的任务(如文本摘要、机器翻译、情感分析等)上的表现如何,值得进一步研究。
  3. 超参数优化:虽然MiLoRA减少了需要调整的超参数数量,但进一步研究如何根据具体任务和数据集自动调整这些超参数可能会提高性能。
  4. 与其他PEFT方法的结合:MiLoRA是否可以与其他参数高效微调方法(如Adapter、Prompt等)结合,以实现更优的性能,是一个值得探索的方向。
  5. 理论分析:对MiLoRA的理论基础进行更深入的分析,包括其在优化过程中对预训练知识保留的机理,以及为何次要奇异分量更适应微调任务。
  6. 计算效率:尽管MiLoRA旨在减少计算资源的需求,但进一步优化算法以提高训练速度和减少内存使用仍然是一个有价值的研究方向。
  7. 实际应用:在实际应用场景中测试MiLoRA,例如在资源受限的环境中,或者在需要快速部署和更新模型的情境下。
  8. 模型鲁棒性:研究MiLoRA在面对对抗性攻击或数据分布偏移时的鲁棒性,并探索提高模型稳定性的方法。
  9. 可解释性:提高MiLoRA微调过程的可解释性,帮助研究人员和用户理解模型是如何学习和适应新任务的。
  10. 伦理和社会影响:研究MiLoRA在不同应用中可能带来的伦理和社会影响,以及如何制定相应的指导原则和政策来确保技术的正当使用。

这些探索点不仅可以推动MiLoRA方法本身的发展,也有助于更广泛地理解和改进大型语言模型的微调策略。

Q: 总结一下论文的主要内容

A: 这篇论文的主要内容可以总结如下:

  1. 问题背景:大型语言模型(LLMs)在各种任务上表现出色,但全参数微调需要大量计算资源,限制了它们的广泛应用。
  2. 研究目标:提出一种参数高效的微调方法MiLoRA,以减少计算和内存成本,同时保留预训练模型的知识。
  3. 方法介绍
    • 使用奇异值分解(SVD)将权重矩阵分为主要矩阵和次要矩阵。
    • 在微调过程中,保持主要矩阵固定,只更新次要矩阵对应的低秩矩阵。
  4. MiLoRA的优势
    • 通过初始化低秩矩阵在与主要矩阵正交的子空间内,减少对预训练知识的干扰。
    • 简化了超参数调整,只需设置秩r。
  5. 实验验证
    • 在常识推理、数学推理和指令跟随等任务上进行了广泛的实验。
    • 实验结果表明,MiLoRA在多个数据集上均优于LoRA和其他PEFT方法。
  6. 性能提升:MiLoRA在不同任务上实现了性能提升,如在常识推理任务上提高了平均准确率。
  7. 进一步分析
    • 探讨了不同秩设置对MiLoRA性能的影响。
    • 分析了次要奇异分量适应的重要性。
    • 对比了MiLoRA与现有方法在矩阵更新和知识遗忘方面的差异。
  8. 相关工作:讨论了参数高效微调的相关研究,包括Adapter-based、LoRA-based和Prompt-based方法。
  9. 结论:MiLoRA是一个简单而有效的低秩适应方法,能够在微调任务中有效学习,同时更好地保留预训练知识。
  10. 未来工作:提出了对MiLoRA在其他任务和其他LLMs上进一步探索的可能性,以及对计算效率、模型鲁棒性和伦理影响的考量。

论文通过提出MiLoRA方法,为大型语言模型的高效微调提供了一种新的视角,并在多个任务上验证了其有效性。


0 0 投票数
Article Rating
订阅评论
提醒
0 评论
最多投票
最新 最旧
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x