AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Lora微调新探:学得少记得牢,超参设置全解析
发布日期:2024-06-11 07:45:32 浏览次数: 2225


今天这篇文章是周五hf的daily papers推的文章,然后在x上的热度也蛮高的。类似于上周的两篇偏向于实验性的文章,分别为研究一下大模型微调数据中新旧知识对效果的影响程度、揭秘大模型在知识冲突下的推理行为,在外网的热度都挺高的,可惜浏览量比较低,所以这里贴一下原文地址。gemini pro1.5的技术报告出来了,明天应该看这个。

https://arxiv.org/abs/2405.09673

这篇文章的标题是《LoRA Learns Less and Forgets Less》,大概就是说lora微调比不上全参数微调。当然之前相关的也有一些论文,就是说lora比全参微调效果好或者差不多的。

整个论文是一篇比较长的实验性的论文,文章的实验数据集的方向集中在代码和数学上。训练策略分为2种,CPT、IFT,分别对应Continued Pretraining和Instruction Finetuning。CPT需要控制的参数就是继续预训练的token数量,而IFT需要控制的则是lora_target_modules=[attn_q/k/v,mlp_down/up]以及lora_rank。

下面一张图一张图来看看。

  1. LoRA 在编程和数学任务中表现不佳上面每一个图都有一个蓝色的带子,分别表示lora微调在target_modules、rank的不同配置下,产生的结果。不同的参数配置自然产生了不同的评测效果,所以绘制了最大值、最小值、中间值的结果。不管哪一张图,黑色线都在蓝色线之上,并且右边 IFT 的2副图的纵轴都是比左边2副图要高的。因此可以得到如下2个结论:
  • 与 CPT 相比,IFT 带来了更明显的效果改进,这是合理的,因为IFT的问题与评估问题更相似
  • 对于CPT,全参微调,可以以更少的训练token数达到lora微调的效果,并且lora微调的,继续预训练的token数量提升,收益提升不大。
  • 对于IFT,二者的差异没有那么明显,但是始终是全参数微调更优的,并且lora微调一般需要4个epoch才能达到最优。
  • 在 LoRA 配置和训练数据量上,它的效果都赶不上全参数微调。这些影响对于编程来说比数学更明显。对于这两个领域,指令微调比持续预训练能带来更大的精度增益。
  1. lora对source领域的遗忘弱于全参数微调

首先这里的纵轴的效果的都是原始领域的数据集,使用代码或者数学微调之后,虚线代表base模型的基准,所以蓝线高则忘得少。

  • IFT 比 CPT 更容易导致遗忘
  • 编程比数学更容易导致遗忘
  • 遗忘往往会随着数据的增加而增加。在代码 CPT 中,LoRA 的遗忘曲线大致恒定,而完全微调会随着数据的增加而退化;在 IFT 编程中,两种方法在训练更多 epoch 时都会出现遗忘现象。相对而言,数学的CPT遗忘不是那么明显, 可能跟因为 OpenWebMath 数据集以英语句子为主有关
  1. 学习新领域知识与遗忘旧知识之间的权衡

LoRA 模型位于右下角——学习更少,忘记更少(点点横坐标越大说明以往的越少,纵坐标越大,说明学习的越好。)。对于代码 IFT,在目标域性能水平相当的情况下,LoRA 表现出更高的源域性能,从而呈现出更好的权衡。

  1. LoRA的正则化特性
  • 与weight decay和attention dropout相比,LoRA 是更强的正则化器。LoRA 提供了更强的正则化:它学到的东西更少,忘记的东西也更少。
  • LoRA 有助于维持结果生成的多样性。中间全参微调的结果更集中。
  1. 对代码和数学进行全面微调不会学习低阶扰动

这里是试图研究的是期望低秩训练能够很好地近似完全微调,如果可以的话,必要的rank是多少。

  • 想覆盖权重变动的90%,基本上需要达到1200往上,差不多是常见rank的100倍。
  • 使用越多的数据训练,这个期望值会越高
  • mlp需要比attention层更高的rank
  • 第一层和最后一层相对而言,不需要那么高的rank
  1. 相比于全参微调,lora对学习率更敏感,最优的学习率会大一个级别,lora:10-4, full ft:10-5
  1. 2个数据集,target modules设置都是 ALL > MLP > Attention的顺序是最优的,但是似乎peft默认的很多都是qkv;rank的影响不明显,rank=256 > rank = 8

over~



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询