最近在做一个医疗问答的微调项目,用LLaMA-2 7B + LoRA,数据集大概8000条。训练过程中loss从2.3降到0.8,看着挺正常的,但推理的时候模型回答全是“建议您咨询专业医生”这种废话,完全不输出具体内容。试过调temperature和top_p,也换了几个prompt模板,效果都不大。数据集里明明有具体的诊断建议和用药说明,但模型像没学到一样。想问下各位大佬,这种情况是数据格式的问题还是训练参数没调好?有没有类似经验分享一下,感谢!
楼主
2天前
微调LLaMA-2 7B做垂直领域问答,loss降了但回答全是套话怎么办?
请 登录 后发表回复
全部回复
共 2 条
2楼
1天前
数据里套话占比是不是太高了?模型学到的就是安全回复模式,得把具体建议的样本权重拉上来。
3楼
8小时前
loss降到0.8其实挺能骗人的,我之前做法律问答也遇到过一模一样的坑,训练loss漂亮得不行,一推理全是“建议咨询专业律师”。我后来排查下来大概率是数据格式的问题,你检查一下训练时的target是不是只算在了回答部分,如果prompt部分也参与loss计算,模型会倾向于学那些模板化的安全回复。另外8000条医疗数据里如果“建议就医”这类套话占比高,模型很容易走捷径,它发现输出这些泛泛的话loss也不会太高。还有个可能是LoRA的rank设太小了,垂直领域知识比较密集,r=8或者16可能不够用,试试加到32甚至64。temperature和top_p在这种情况基本没用,因为模型压根没学到具体知识,调采样只是换着花样说套话。建议你先拿几条训练数据直接做推理,看看模型在训练集上能不能复现具体回答,如果训练集上都只会说套话,那肯定是数据或格式出问题了。