[THUDM/ChatGLM-6B][BUG/Help] ptuning后多次加载问同一个问题,回复不相同

2024-06-12 644 views
3

用广告生成数据集ptuning以后,加载多次询问同一个问题,模型回复不相同 image

image 请问是什么原因呢?看起来像是模型某个参数在每次加载时是随机初始化的?有大佬帮忙看一下吗?

Expected Behavior

No response

使用广告数据集ptuning后,pre_seq_len=64 加载多次询问“你是谁”

Environment
- OS:Linux
- Python:3.9
- Transformers:4.28.0.dev0
- PyTorch:2.0.0+cu117
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

加载模型参数代码如下:

image

回答

1

一样的问题呢,用ptuning后是不是只能处理训练得数据了

4

一样的问题呢,用ptuning后是不是只能处理训练得数据了

在同一次加载里面,输入同样的问题,输出相同;但是再加载一次,输入同样的问题,输出就和上一次不同了,好奇怪

7

生成的时候本来就是有随机性的。跟使用的随机数种子有关,而计算机的随机数种子一般是跟当前时间相关的。

5

生成的时候本来就是有随机性的。跟使用的随机数种子有关,而计算机的随机数种子一般是跟当前时间相关的。

但是我用evaluate.sh去跑,每次生成的回答都是相同的,我看了下代码,在运行cli-demo的时候调用的是stream_chat,然后在里面显式的对do_sample这个参数做了处理,为True的时候会做多项式采样。但是在evaluate.sh里,同样有传temperature和top_p,是这两个参数没有用吗?

4

您好,我想请教一下,我在ptuning模型之后,模型只能处理训练的数据,对其他问题无法做出正确的回答,我看您图片中的内容,模型对训练数据之外的问题也能做出较好的回答,请问您有做特殊的处理吗?

8

您好,我想请教一下,我在ptuning模型之后,模型只能处理训练的数据,对其他问题无法做出正确的回答,我看您图片中的内容,模型对训练数据之外的问题也能做出较好的回答,请问您有做特殊的处理吗?

可以尝试把pre_seq_len这个参数调小一点,learning_rate也调小一点,并且我没有用量化

3

有几个参数 top_k还有个什么,是对随机性有影响的,我的理解是记载模型的时候随机种子确定了所以一开始回复内容是一样的,但是回复了一次之后里面应该还有个随机种子就发生变化了

8

您好,我想请教一下,我在ptuning模型之后,模型只能处理训练的数据,对其他问题无法做出正确的回答,我看您图片中的内容,模型对训练数据之外的问题也能做出较好的回答,请问您有做特殊的处理吗?

可以尝试把pre_seq_len这个参数调小一点,learning_rate也调小一点,并且我没有用量化

谢谢您的回复,我根据您的建议尝试一下