LoRA篇.pdf

参数,数量,模型,模拟,训练,计算机与AI
文档页数:7
文档大小:658.76KB
文档格式:pdf
文档分类:计算机与AI
上传会员:
上传日期:
最后更新:

LoRA系列篇

一、LoRA篇

1.1什么是 LoRA?1.2 LoRA的思路是什么?1.3 LoRA的特点是什么?1.4简单描述一下LoRA?

二、QLoRA篇

2.1 QLoRA的思路是怎么样的?2.2 QLoRA的特点是什么?

三、AdaLoRA篇

3.1AdaLoRA的思路是怎么样的?四、LoRA权重是否可以合入原模型?五、ChatGLM-6BLoRA后的权重多大?六、LoRA微调优点是什么?七、LoRA微调方法为啥能加速训练?八、如何在已有LoRA模型上继续训练?九、LoRA缺点是什么?十、LoRA这种微调方法和全参数比起来有什么劣势吗?十一、LORA应该作用于Transformer的哪个参数矩阵?十二、LoRA微调参数量怎么确定?十三、Rank 如何选取?十四、alpha参数如何选取?十五、LoRA高效微调如何避免过拟合?十六、微调大模型时,优化器如何?十七、哪些因素会影响内存使用?十八、LoRA权重是否可以合并?十九、是否可以逐层调整LoRA的最优rank?

二十、Lora的矩阵怎么初始化?为什么要初始化为全0?

实践篇

1.LoRA微调计算可训练参数的比例如何确定?

2.LoRA微调结果如何保存?

一、LoRA篇

1.1什么是LoRA?

1.介绍:通过低秩分解来模拟参数的改变量,从而以极小的参数量来实现大模型的间接训练.

1.2LoRA的思路是什么?

3.推理时,可将BA加到原参数上,不引入额外的推理延迟;5.可插拨式的切换任务,当前任务W0B1A1,将lora部分减掉,换成B2A2,即可实现任务切换;

1.在原模型旁边增加一个旁路,通过低秩分解(先降维再升维)来模拟参数的更新量;

2.训练时,原模型固定,只训练降维矩阵A和升维矩阵B;

4.初始化,A采用高斯分布初始化,B初始化为全0,保证训练开始时旁路为0矩阵;

Figure 1: Our reparametriza-tion. We only train A and B.

1.3LoRA的特点是什么?

1.将BA加到W上可以消除推理延迟;2.可以通过可插拨的形式切换到不同的任务;3.设计的比较好,简单且效果好;

1.4简单描述一下LoRA?

LoRA的实现思想很简单,就是冻结一个预训练模型的矩阵参数,并选择用A和B矩阵来替代,在下游任务时只更新A和B.

二、QLoRA篇

2.1QLoRA的思路是怎么样的?

1.使用一种新颖的高精度技术将预训练模型量化为4bit;2.然后添加一小组可学习的低秩适配器权重,这些权重通过量化权重的反向传播梯度进行微调.

2.2QLoRA的特点是什么?

使用QLoRA微调模型,可以显著降低对于显存的要求.同时,模型训练的速度会慢于LoRA.

三、AdaLoRA篇

3.1AdaLoRA的思路是怎么样的?

对LoRA的一种改进,它根据重要性评分动态分配参数预算给权重矩阵,将关键的增量矩阵分配高秩以捕捉更精细和任务特定的信息,而将较不重要的矩阵的秩降低,以防止过拟合并节省计算预算.

四、LoRA权重是否可以合入原模型?

可以,将训练好的低秩矩阵(B*A)原模型权重合并(相加),计算出新的权重.

五、ChatGLM-6BLoRA后的权重多大?

rank 8 target_module query_key_value条件下 大约15M.

六、LoRA微调优点是什么?

1.一个中心模型服务多个下游任务,节省参数存储量2.推理阶段不引入额外计算量3.与其它参数高效微调方法正交,可有效组合 4.训练任务比较稳定,效果比较好5.LoRA几乎不添加任何推理延迟,因为适配器权重可以与基本模型合并

七、LoRA微调方法为啥能加速训练?

1.只更新了部分参数:比如LoRA原论文就选择只更新SelfAttention的参数,实际使用时我们还可以选择只更新部分层的参数;2.减少了通信时间:由于更新的参数量变少了,所以(尤其是多卡训练时)要传输的数据量也变少3.采用了各种低精度加速技术,如FP16、FP8或者INT8量化等. 了,从而减少了传输时间:

这三部分原因确实能加快训练速度,然而它们并不是LoRA所独有的,事实上几乎都有参数高效方法都具段不增加推理成本.

八、如何在已有LoRA模型上继续训练?

理解此问题的情形是:已有的lora模型只训练了一部分数据,要训练另一部分数据的话,是在这个lora上继续训练呢,还是跟base模型合并后再套一层lora,或者从头开始训练一个lora?

我认为把之前的LoRA跟basemodel合并后,继续训练就可以,为了保留之前的知识和能力,训练新的LoRA时,加入一些之前的训练数据是需要的.另外,每次都重头来成本高.

九、LoRA缺点是什么?

缺点很明显,参与训练的模型参数量不多,也就百万到干万级别的参数量,所以效果比全量微调差很多.可能在扩散模型上感知没那么强,但在LLM上,个人感觉表现还是差距挺大的.

十、LoRA这种微调方法和全参数比起来有什么劣势吗?

如果有足够计算资源以及有10k以上数据,我还是建议全参数微调,lora的一个初衷就是为了解决不够计算资源的情况下微调,只引入了少量参数,就可以在消费级gpu上训练,但lora的问题在于它不能节省训 练时间,相比于全量微调,他要训练更久,同时因为可训练参数量很小,在同样大量数据训练下,比不过全量微调.

Mode Training s gneratio open brain- dosed macroLLaMA-7BLoRA data 0.6M 0358 0.719 ication 0.695 0816 zation 990 stract 0.448 0.315 qa. dorming 0.793 031 0.589 aveLLaMA-7BLoRA LLaMA-7B LoRA 2M 4M 0364 0341 560 0.821 0.676 0.677 0.854 0.847 0617 0.645 0.472 0.467 0.374 0.369 0.808 0.806 0.531 0.639 0.624 0.61LLaMA-13BLoRA LLaMA-7BFT N90 2M 0438 0422 0.810 0.869 0.696 0.698 0.837 0.917 0.700 0.701 0.537 0.592 0.477 0.435 0.823 0.870 0.577 0.606 0.686 0.648LLaMA-7B FI(2M) LLaMA-7B FT LoRA matho.25M 2M 0 560 0.399 0.871 0.863 0.758 0.775 0.920 0.915 0.734 0.754 0.651 0.603 0.518 0.555 0.886 0.900 0.656 0.633 0.729 0.710[LaMA-7B FT(2M) FT nutho.25M 0.586 0.887 0.763 0.955 0.749 0.658 0.523 0.872 0.6520.738

十一、LoRA应该作用于Transformer的哪个参数矩阵?

# of Trainable Parameters = 18MWeight Type Rankr w 8 Wk 8 "M 8 M 8 "M"M 4 W W 4 W W,W,W 2WikiSQL(±0.5%) 70.4 70.0 73.0 73.2 71.4 73.7 73.7MultiNLI(±0.1%) 91.0 90.8 91.0 91.3 91.3 91.3 91.7

从上图我们可以看到:

1.将微调参数都放到attention的某一个参数矩阵的效果并不好,将可微调参数平均分配到Wq和Wk的效果最好2.即使是秩仅取4也能在△W中获得足够的信息

因此在实际操作中,应当将可微调参数分配到多种类型权重矩阵中,而不应该用更大的秩单独微调某种类型的权重矩阵.

十二、LoRA微调参数量怎么确定?

LoRA模型中可训练参数的结果数量取决于低秩更新矩阵的大小,其主要由秩r和原始权重矩阵的形状确定.实际使用过程中,通过选择不同的lora_target决定训练的参数量.

以 LLama 为例:

[od"uopoddnfodaefoudofododxlodb aue"eo--

十三、Rank如何选取?

资源链接请先登录(扫码可直接登录、免注册)
①本文档内容版权归属内容提供方。如果您对本资料有版权申诉,请及时联系我方进行处理(联系方式详见页脚)。
②由于网络或浏览器兼容性等问题导致下载失败,请加客服微信处理(详见下载弹窗提示),感谢理解。
③本资料由其他用户上传,本站不保证质量、数量等令人满意,若存在资料虚假不完整,请及时联系客服投诉处理。
④本站仅收取资料上传人设置的下载费中的一部分分成,用以平摊存储及运营成本。本站仅为用户提供资料分享平台,且会员之间资料免费共享(平台无费用分成),不提供其他经营性业务。
投稿会员:标准资料
我的头像

您必须才能评论!

手机扫码、免注册、直接登录

 注意:QQ登录支持手机端浏览器一键登录及扫码登录
微信仅支持手机扫码一键登录

账号密码登录(仅适用于原老用户)