链载Ai

标题: Lora微调新探:学得少记得牢,超参设置全解析 [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: Lora微调新探:学得少记得牢,超参设置全解析

今天这篇文章是周五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个结论:
  1. lora对source领域的遗忘弱于全参数微调

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

  1. 学习新领域知识与遗忘旧知识之间的权衡

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

  1. LoRA的正则化特性
  1. 对代码和数学进行全面微调不会学习低阶扰动

这里是试图研究的是期望低秩训练能够很好地近似完全微调,如果可以的话,必要的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~







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5