【大模型微调学习5】-大模型微调技术LoRA

LoRa微调

1.现有 PEFT 方法的局限与挑战

  • Adapter方法,通过增加模型深度而额外增加了模型推理延时。

  • Prompt Tuning、Prefix Tuning、P-Tuning等方法中的提示较难训练,同时缩短了模型可用的序列长度。

  • 往往难以同时实现高效率和高质量,效果通常不及完全微调(full-finetuning)。

  • 简而言之,尽管大模型参数规模巨大,但关键作用通常是由其中的**低秩本质维度(low intrinsic dimension)**发挥的。

  • 受此启发,微软提出了低秩适配(LoRA)方法,设计了特定结构,在涉及矩阵乘法的模块中引入两个低秩矩阵A和B,以模拟完全微调过程。这相当于只对语言模型中起关键作用的低秩本质维度进行更新。

2.LoRA: 小模型有大智慧 (2021)

论文:LoRA: Low-Rank Adaptation of Large Language Models

github:链接

​ 为了使微调更加高效,LoRA的方法是通过低秩分解将权重更新表示为两个较小的矩阵(称为更新矩阵)。这些新矩阵可以在适应新数据的同时保持整体变化数量较少进行训练。原始权重矩阵保持冻结状态,并且不再接受任何进一步的调整。最终结果是通过将原始权重和适应后的权重进行组合得到。

​ 实际上是在原始预训练语言模型(PLM)旁增加一个附加的网络通路,这可以视作一种“外挂”结构。这个外挂结构的目的是通过两个矩阵A和B的相乘来模拟本征秩(intrinsic rank)。
h = W 0 x + Δ W x = W 0 x + B A x h=W_0x+\Delta Wx=W_0x+BAx h=W0x+ΔWx=W0x+BAx

  • 整体设计:(两个小模型)输入和输出的维度均为d,这与预训练模型层的维度相同。

  • 低秩分解:A矩阵会将输入的d维数据降维至r维(增量矩阵的本征秩),r远小于d(r<< d)。矩阵计算从d x d变为d x r + r x d,减少了模型的参数量和计算量。

  • 回映射:B矩阵将这些r维数据再映射回d维,以便与预训练模型的其他部分保持兼容。

    在这里插入图片描述

3.AdaLoRA: 自适应权重矩阵的高效微调 (2023)

论文:AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning

github:链接

LoRA 核心思想:

  • 对下游任务增量训练小模型( W = W 0 + △ W W=W_0+△W W=W0+W

LoRA 问题:

  • 预先指定超参数增量矩阵的本征秩 r,无法自适应调整

  • 低估了权重矩阵的种类和不同层对的微调效果影响

  • 只微调了 Attention,忽略了 FFN 模块。

AdaLoRA 解决思路:

  • 使用 SVD 提升矩阵低秩分解性能

  • 模型剪枝:对模块参数(特征)的重要性建模

  • 根据重要性评分,动态调整不同权重矩阵的本征秩 r

AdaLoRA 使用 SVD 提升矩阵低秩分解性能

在这里插入图片描述

AdaLoRA 对模块参数(特征)重要性建模

在这里插入图片描述

AdaLoRA 根据重要性评分剪枝和自适应调整本征秩 r
在这里插入图片描述

4.QLoRA: 高效微调量化大模型 (2023)

论文:QLoRA: Efficient Finetuning of Quantized LLMs
在这里插入图片描述

FFT vs LoRA vs QLoRA

在这里插入图片描述

QLoRA 提出新数据类型 4-bit NormalFloat (NF4)

在这里插入图片描述

QLoRA 提出双量化技术:量化(量化常数)

​ QLoRA 设计了一个存储数据类型(4-bit NormalFloat)和一个计算数据类型(16-bit BrainFloat)。QLoRA 将权重从存储数据类型反量化为计算数据类型,以执行前向和后向传播,但仅计算 16-bitBrainFloat 的 LoRA 参数的权重梯度。权重仅在需要时才解压缩,因此在训练和推理期间内存使用率都能保持较低水平。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值