当前位置:   article > 正文

大模型PEFT之LoRA_peftmodel在1卡加载一个base在0卡加载多个lora

peftmodel在1卡加载一个base在0卡加载多个lora

LoRA:Low-Rank Adaptation 是PEFT(Parameter-Efficient Fine-Tuning)的一种

全参数微调:使用特定任务数据对预训练模型的所有参数进行更新,提升任务性能,但训练代价昂贵。

Adapter Tuning与Prefix Tuning:

Adapter Tuning:在模型中添加额外知识模块(Adapter),其余参数保持冻结,降低训练代价,但会增加模型层数和训练推理速度。

Prefix Tuning:通过在输入数据前添加前缀(prefix)进行微调,引导模型提取相关信息,但训练困难且减少输入层有效信息长度。

LoRA微调方法:提出LoRA以解决全参数微调成本高和Adapter Tuning、Prefix Tuning的劣势。LoRA通过使用低秩矩阵A和B来近似表示全参数微调中的增量权重ΔW,从而减少参数量。

LoRA架构:在原始预训练矩阵旁路上使用低秩矩阵A和B近似替代增量更新ΔW,减少参数量同时保持输出数据维度不变。

训练和推理过程:

训练:固定预训练权重W,只训练低秩矩阵A和B,保存时只需保存A和B。 训练时可以将AB矩阵加到 q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj、或者 q_proj,v_proj
(B 是降维矩阵,A是升维矩阵,其中 A 正常随机数初始化,B 全 0 初始化,从而保证训练初期的稳定性)

推理:合并低秩矩阵和预训练权重进行推理,不改变模型架构。

LoRA低秩适配原理:

秩的概念:表示矩阵的信息量,秩亏表示信息冗余,满秩表示信息独立。

SVD分解:用于找出矩阵中信息量丰富的维度,LoRA使用SVD分解的思想,让模型学习如何近似ΔW。

超参α:在LoRA中,α用于调整低秩矩阵的影响,类似于调整学习率。

两个超参的设置
一般 α设置为32,r设置为 4

LoRA实验:通过实验验证了LoRA低秩矩阵的有效性,包括不同r值下的微调效果、不同低秩空间的相交程度、不同层的r值设置,以及预训练权重与微调权重的关系。

实验的结论:
1、低秩确实有效果:较小秩空间中信息量较高的维度与较大秩空间的相似度较高
2、不同层可能需要不同的r值以捕捉最有用的信息
3、增量权重确实强调了预训练权重中未充分表示的信息,且秩越小,放大程度越明显

Lora原理

代码库:
LLaMA-Factory

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/960759
推荐阅读
相关标签
  

闽ICP备14008679号