shibing624 / MedicalGPT

MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练医疗大模型,实现了包括增量预训练(PT)、有监督微调(SFT)、RLHF、DPO、ORPO。
Apache License 2.0
3.24k stars 492 forks source link

多轮对话SFT完了后测试会出现回复重复句子的现象 #264

Closed chloefresh closed 1 month ago

chloefresh commented 10 months ago

请教大佬多轮对话指令微调的问题,

有大约50W条的数据集,每条数据2~20轮对话不等,指令微调epoch=1,2后,推理,前面几轮还算正常,随着对话轮次增加,llm倾向于回复重复的句子,请问是什么原因呢?

举例: human: 您好 gpt: 您好,有什么可以帮助您的 human:电视闪屏怎么办 gpt: 周围是否有大功率电器 human:没有

。。。 gpt: 请问还有其他可以帮助您的吗? human:没有 gpt:请问还有其他可以帮助您的吗? human: 没有了拜拜 gpt:请问还有其他可以帮助您的吗?

shibing624 commented 10 months ago
  1. 拟合不足,num_epochs=20试试,小数据测试;
  2. 训练集需要有多轮对话样本
nuoma commented 10 months ago

个人经验,lora容易出现,全参数好很多。我用了10万条moss-003的多轮,模板搞明白,3个epoch效果还是不错的