GoRA: 基于梯度驱动的自适应低秩微调方法

发布于 2025-2-20 10:41
浏览
0收藏

研究背景与动机

本文提出了一种新的低秩适应(LoRA)变体 - GoRA(Gradient-driven Adaptive Low Rank Adaptation),通过梯度信息来自适应地分配秩和初始化低秩适配器的权重。该方法在保持LoRA高可用性和效率的同时显著提升了模型性能。

现有问题

  • 秩的选择问题:LoRA的性能很大程度上取决于秩的选择,但增加秩会导致内存使用量上升。
  • 初始化策略局限:现有的非零初始化方法要么需要重置全部权重,要么需要保存额外的初始化结果。
  • 可用性与效率的权衡:已有的LoRA变体在提升性能的同时往往会牺牲可用性或效率。

研究意义

提出一种新的方法来解决上述问题,在不影响LoRA原有优势的前提下提升其性能,对于大语言模型的高效微调具有重要意义。

技术创新

1. 梯度视角的LoRA重新解释

将LoRA视为梯度压缩器,通过分析其更新形式发现:

  • LoRA-FA冻结随机初始化的矩阵A,仅训练矩阵B时,可以看作是一个梯度累积和压缩的过程
  • 压缩矩阵为随机初始化的A
  • 这种理解为后续的改进提供了理论基础

2. GoRA的核心创新

GoRA: 基于梯度驱动的自适应低秩微调方法-AI.x社区

  • 动态秩分配策略

a.基于权重对损失的敏感度计算重要性

b.在训练开始前完成秩分配

c.保持与LoRA相近的可训练参数数量

d.维持与LoRA一致的形式以确保兼容性

  • 初始化策略优化
  • 保持矩阵A的正态分布初始化
  • 使用伪逆压缩梯度初始化矩阵B
  • 引入缩放因子ξ来确保训练稳定性

3. 算法流程

  1. 计算并保存权重W在训练样本子集上的完整梯度G
  2. 基于梯度信息评估W的重要性
  3. 根据归一化的重要性分配新的可训练参数和对应的低秩适配器秩
  4. 使用Moore-Penrose逆矩阵对B进行最优初始化

实验评估

1. 自然语言理解任务

  • 数据集:GLUE基准测试中的5个子任务(MNLI、SST-2、CoLA、QNLI、MRPC)
  • 模型:T5-Base
  • 结果:

在4个数据集上取得最佳性能

平均分87.96,超过所有基线方法

甚至略微超过全量微调(87.91)

2. 自然语言生成任务

  • 评估任务:

数学能力:GSM8K

编码能力:HumanEval

对话能力:MTBench

  • 模型:Llama-3.1-8B-Base
  • 结果:
  • GSM8K:得分72.91,超过LoRA-GA 1.52分
  • HumanEval:得分48.98,超过RSLoRA 3.20分
  • 高秩设置(Rank128)下性能优于全量微调

GoRA: 基于梯度驱动的自适应低秩微调方法-AI.x社区

技术细节分析

1. 秩分配策略的影响

  • 更宽的秩分配范围能带来更好的性能
  • wv层获得最多的秩分配,wq层获得最少
  • 高秩权重在合并后获得更大的更新

2. 初始化策略的效果

  • 缩放因子γ对模型效果影响显著
  • 在HumanEval数据集上,γ=5e-2时性能最佳
  • 在GSM8k数据集上,γ=8e-2时性能最佳

3. 计算开销

  • 可训练参数仅增加2.6%
  • 内存使用与LoRA基本相同
  • 初始化时间(4分钟)相对训练时间(5小时48分钟)可忽略

局限性与未来工作

局限性

  1. 尚未在更大规模模型和更大数据集上进行验证
  2. 主要聚焦于语言模型,其他模态的适用性有待验证
  3. 矩阵A的初始化方法仍有优化空间

未来工作方向

  1. 扩展到更大规模模型如Llama-3.1-70B
  2. 探索在视觉语言模型等其他类型模型上的应用
  3. 研究更优的矩阵A初始化策略
  4. 与其他LoRA变体(如DoRA)的结合

总结

GoRA通过梯度信息驱动的动态秩分配和初始化策略,在保持LoRA高效率和可用性的同时显著提升了性能。其创新点主要体现在:

  1. 从梯度压缩的角度重新诠释LoRA,提供了新的理论视角
  2. 提出基于梯度信息的动态秩分配策略
  3. 设计了新的初始化方法,确保训练稳定性

该方法在多个任务上展现出优秀的性能,某些场景下甚至超过全量微调,为大语言模型的高效微调提供了新的解决方案。

paper:https://arxiv.org/abs/2502.12171

本文转载自 顿数AI​,作者: 小颂

收藏
回复
举报
回复
相关推荐