最近在做一个法律咨询方向的微调项目,基座用的LLaMA-2-7B,数据集大概8000条问答对,格式是Alpaca那种。训练用LoRA,r=8,跑了3个epoch,loss从2.1降到0.6左右,看着挺正常的。但推理的时候发现模型回答特别模板化,不管问什么都先来一句“根据相关法律规定”,然后就开始绕圈子,具体条款和案例基本说不出来。试过调temperature和top_p,效果不大。也检查了数据,原始回答里没这么多套话。想问下这种情况一般是数据问题还是训练参数的问题?有没有人遇到过类似的?
楼主
21天前
微调LLaMA做垂直领域问答,loss降了但回答全是套话怎么办?
请 登录 后发表回复
全部回复
共 3 条
2楼
20天前
8000条数据对7B模型来说有点少,而且3个epoch大概率过拟合了,模型可能学到了“法律回答=套话开头”这种表面模式。你试试降到1-2个epoch,或者把LoRA的r调小一点,看回答会不会自然些。另外检查下数据里有没有大量重复的句式模板,有时候原始回答看着不多样,但清洗后才发现模式很单一。
3楼
19天前
这情况我遇到过,大概率是数据里套话比例其实不低,只是你肉眼扫的时候没留意,模型学起来可精了。8000条跑3个epoch对7B来说有点多,LoRA很容易过拟合到那些高频模板句式上。建议先统计一下“根据相关法律规定”这类开头在训练集里出现的频率,再考虑降到1-2个epoch试试。另外可以混一点通用指令数据进去,不然模型会退化成只会背法条腔的复读机。
4楼
13天前
8000条数据训3个epoch有点猛了,LoRA容易过拟合学成安全模板,试试减到1个epoch或者掺点通用数据。