zjysteven / lmms-finetune

A minimal codebase for finetuning large multimodal models, supporting llava-1.5/1.6, llava-interleave, llava-next-video, llava-onevision, qwen-vl, qwen2-vl, phi3-v etc.
Apache License 2.0
162 stars 21 forks source link

微调相关的问题 #20

Closed evi-Genius closed 2 months ago

evi-Genius commented 2 months ago

我自建了一个1200条训练集,conversations里的gpt的value都是“TEST",理论上来说训完之后拟合了这个训练集,用训练集数据推理,得到的结果也应该都是"TEST",但是测试结果却显示训完的模型还是按照原来类似的样子输出(和base model有区别) 是训练的epoch不够吗(只训了2个epoch),还是什么原因?

然后我也尝试了把vision tower也开启微调,预测结果直接乱掉了

zjysteven commented 2 months ago

训练loss有明显下降吗,相比一开始的loss下降了多少?我的猜测是想让模型过拟合到所有输入都输出“TEST”其实不一定容易,因为相当于你要模型遗忘掉它原有的知识(不管原本具体输出什么,但一定不会只是一个TEST)。试试调高lr,增加epochs

evi-Genius commented 2 months ago

训练loss有明显下降吗,相比一开始的loss下降了多少?我的猜测是想让模型过拟合到所有输入都输出“TEST”其实不一定容易,因为相当于你要模型遗忘掉它原有的知识(不管原本具体输出什么,但一定不会只是一个TEST)。试试调高lr,增加epochs

一开始loss是17左右,后面会很快的降到0.0x。我尝试了调高lr以及增加epochs,确实可以达到只输出"TEST"的效果(尽管输出TEST后还会接着输出其他重复字符,可能是终止符的loss没有回传?)

zjysteven commented 2 months ago

“终止符的loss没有回传” 应该不会有这个问题,你可以打印一下labels确认一下