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

关于推理的input #257

Closed tszslovewanpu closed 11 months ago

tszslovewanpu commented 11 months ago

Describe the Question

Please provide a clear and concise description of what the question is. 任务背景: 我的任务是单论对话,就是一问一答,不需要多轮。

问题描述: 在sft训练时,有一个system prompt,默认为vicuna的格式,sft训练会默认加上这句话作为输入的一部分。 那么在inference时,这个system prompt还会自动加上吗?还是说需要手动将这部分话放在自己测试输入的前面? 亦或者说,在inference时,不需要这个prompt?这样会不会与sft训练时见到的数据不一致而导致预测性能不佳?

感谢指导!

tszslovewanpu commented 11 months ago

补充一下: 在使用inference.py做推理时,这段代码会自动在输入前面加上标准的vicuna的system prompt吗? 我在训练时是更改了这个system prompt的,如果在inference时会自动加的话,如何更改prompt,我在inference.py里没有找到自定义system prompt的接口 希望能得到指导!

shibing624 commented 11 months ago
  1. 在sft训练时,有一个system prompt,如果使用的vicuna的,预测时要加vicuna的system prompt,我写的inference_demo.py 已经加了system_prompt;
  2. 直接改vicuna模板的内容即可。
tszslovewanpu commented 11 months ago

作者您好: 我在supervised_pretraining.py文件里改了vicuna的system_prompt,训练时肯定是用到了 预测时,inference.py会自动调取supervised_pretraining.py里我修改过的system_prompt吗,还是说我在预测时的输入里手动加入。 谢谢,再确认一下~

shibing624 commented 11 months ago

inference.py会自动调取supervised_pretraining.py里我改过的system_prompt。inference的prompt调用的supervised_pretraining

tszslovewanpu commented 11 months ago

谢谢!