Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

训练损失降到很低,但predict.py的输出还是<s></s> #5

Open
woaipichuli opened this issue Jan 4, 2024 · 1 comment
Open

Comments

@woaipichuli
Copy link

训练完后运行predict.py,得到的每个问题的运行结果都是这样的
‘’‘’
下面是一条指令。请编写一个准确的回答,以适当地完成指令。

###指令:
描述原子的结构。

###回答:

‘’‘’‘’

我直接加载未训练的原始模型运行下面的代码,得到的结果反而看着更合理。

tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint)
model.eval()
model.cuda()
inputs = tokenizer.encode(str, return_tensors="pt").cuda() #prompt
generation_config = {"max_length":150,"max_new_tokens":200,"do_sample":False}
outputs = model.generate(**{"inputs":inputs},**generation_config)
outputs = outputs.tolist()[0]

下面是一条指令。请根据问题,并编写一个准确的回答,以适当地完成指令。
###指令:
完成下面的问答。
###问题:
描述计算机主板的功能

###回答:
主板是计算机的核心部件,它负责控制计算机的运行。主板上的电路板上有许多电路,它们负责控制计算机的各个部件。这些电路板上的电路板上有许多电们负责控制计算机的各个部件。这些电路板上的电路板上有许多电路,它们负责控制计算机的各个部件。这些电路板上的电路板上有许多电路,它们负责控机的各个部件。这些电路板上的电路板上有许多电路,它们负责控制计算机的各个部件。这些电路板上的电路板上有许多电路,它们负责控制计算机的各个

@yongzhuo
Copy link
Owner

yongzhuo commented Jan 5, 2024

是predict的bug,实际未加载训练好的权重,导致加载的LoRA是初始化的
解决办法如下
yongzhuo/ChatGLM2-SFT#8 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants