5 个经典的大模型微调技术

传统微调方法(如下图所示)对于大语言模型而言并不可行,因为这些模型具有数百亿甚至千亿的参数量,而且显存需求高达数百GB,并非所有人都能获得如此规模的计算资源。

但如今,我们拥有多种优化大语言模型的微调方法,下图展示了五种主流技术:

1. LoRA(Low-Rank Adaptation)

LoRA 通过引入两个低秩矩阵 A(降维)和 B(升维)来微调预训练模型,仅训练这两个小矩阵,而冻结原始权重 W。这样可以大幅减少训练参数(如仅调整 0.1% 的参数),同时保持接近全量微调的性能。

将两个低秩矩阵A和B与权重矩阵叠加,这些权重矩阵包含可训练参数。不对W进行微调,而是调整这些低秩矩阵中的权重。

2. LoRA-FA(LoRA with Frozen-A)

LoRA-FA 是 LoRA 的改进版,冻结矩阵 A,仅训练矩阵 B,从而进一步减少激活内存需求(降低 1.4 倍),同时保持性能接近 LoRA。

虽然LoRA显著减少了训练参数的总量,但仍需大量激活内存来更新低秩权重。LoRA-FA(FA代表Frozen-A)通过冻结矩阵A并仅更新矩阵B来解决这一问题。

3. VeRA(Vector-based Random Matrix Adaptation)

在 LoRA 中,每一层都有一对不同的低秩矩阵A和B,且这两个矩阵都参与训练。然而在VeRA中,VeRA 采用共享随机矩阵 A 和 B,并引入可训练的缩放向量 d 和 b,使可训练参数比 LoRA 减少 10 倍以上,适用于低资源场景。VeRA的核心思想是学习微小的、特定于各层的缩放向量(记为b和d),这些向量是唯一可训练的参数。

4. Delta-LoRA

除了训练低秩矩阵外,矩阵W也会被调整,但并非采用传统方式。而是将连续两个训练步骤中低秩矩阵A与B乘积的差值(或增量)叠加到W上,从而增强表达能力,同时不增加额外计算成本:

5. LoRA+

在LoRA中,矩阵A和B均采用相同的学习率进行更新。研究者发现,为矩阵B设置更高的学习率能实现更优的收敛效果,提高训练效率,可加速训练,同时小幅提升准确率。

总结

技术核心改进训练参数内存优化性能表现适用场景
LoRA引入低秩矩阵 A、B 微调,冻结 W较少(~0.1% 参数)中等接近全量微调通用微调
LoRA-FA冻结 A,仅训练 B更少(比 LoRA 减半)接近 LoRA低显存设备
VeRA共享随机 A、B,训练缩放向量 d、b极少(比 LoRA 少 10 倍)最高略低于 LoRA超低参数微调
Delta-LoRA通过 BA 的梯度更新 W较多(额外调整 W)中等优于 LoRA高精度微调
LoRA+A、B 采用不同学习率(B 更高)同 LoRA中等略优于 LoRA快速微调
  • LoRA 是最基础的版本,适用于大多数微调任务。

  • LoRA-FA 适合显存受限的环境。

  • VeRA 参数效率最高,适合超低资源场景。

  • Delta-LoRA 增强表达能力,适合需要更高精度的任务。

  • LoRA+ 优化训练速度,适合快速迭代。

推荐阅读:全模型微调 vs LoRA 微调 vs RAG-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值