训练LoRA loss一直降不下去,几个常见坑先自查

练LoRA时loss卡在高位下不来,多半不是玄学,挨个排查基本都能找到原因。我踩过的几个按顺序摆出来:

  1. 学习率给太大。表现是loss来回震荡,就是不往下走。调小一档往往就顺了,这项改起来成本最低,我一般最先查它。
  2. 数据集脏。标签乱写、图片质量参差不齐,模型分不清到底该学什么,loss自然降不下去。与其反复改参数,不如先把数据清一遍。
  3. 步数和批次没配好。数据本来就少还硬堆步数,基本等于白练,后面一大段都在原地打转。
  4. 底模选错、分辨率不匹配。这两个不太显眼,但同样会拖后腿,前面几项都排除了再回头看它们。

还有一点,loss数值本身别太当回事。它只是个参考,曲线好看不代表出图好,最后还是要拿出图效果说话。排查的时候最好一次只动一项,动完跑一轮看图再决定下一步,不然就算救回来了,也说不清到底是哪一项起的作用,下次照样踩。

我当时学习率和batch一起改的,到现在都分不清哪个起效。

感谢佬 ,正好我loss也降不动,回去查数据集。

1 个赞

数据少的时候我多存几个中间点,挑着用。

1 个赞

我那次最后查出来是标签里混了一堆无关词。

底模选错真的白练,这个坑我踩过 :sweat_smile: