英文推理报错
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/root/miniconda3/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/transformers/generation/utils.py", line 1588, in generate
return self.sample(
File "/root/miniconda3/lib/python3.8/site-packages/transformers/generation/utils.py", line 2678, in sample
next_tokens = torch.multinomial(probs, num_samples=1).squeeze(1)
RuntimeError: probability tensor contains either inf, nan or element < 0
transformer == 4.31.0
刚下载的最新的模型文件
prompt = “Do you know ifax ?” (其它的英文提问也出类似报错)
是不是修改了哪里?推理和输入是英文还是中文没有关系的
能不能贴一下代码和说明一下使用的平台?你的prompt我这边验证没问题
之前用的是 8bit 量化,就会固定出现问题,后来改成不量化的版本,英文没问题了,但如果中文 prompt 比较长的话,还是会偶尔出现(概率小很多)
ubuntu,pytorch 2.0.0,transformer == 4.31.0,GPU is A5000(8bit量化) 和 A40(不量化)
ubuntu,pytorch 2.0.0,transformer == 4.31.0,GPU is A5000(8bit量化) 和 A40(不量化)
这就很奇怪了。如果能构建出一个必然出问题的case就好了。
今天有一个 prompt 很长的例子,复现了错误,然后我把 config 文件里的 do_sample 改为 false,这个 prompt 就没复现错误了
你是单卡还是多卡?fp16推的?
但 do_sample 改为 false 后,刚开始还行,提几次问题,生成速度就会明显变慢 ........
你是单卡还是多卡?fp16推的?
13b,A40单卡,fp16
你是单卡还是多卡?fp16推的?
13b,A40单卡,fp16
你可以把你长的prompt发我,我看看能不能复现。
但 do_sample 改为 false 后,刚开始还行,提几次问题,生成速度就会明显变慢 ........
变慢是因为多轮对话会把之前的内容拼接起来,导致context很长。
但 do_sample 改为 false 后,刚开始还行,提几次问题,生成速度就会明显变慢 ........
变慢是因为多轮对话会把之前的内容拼接起来,导致context很长。
不是这样,chat函数的messages参数,我会控制整体的长度,包括history和注入的prompt,同样的messages长度,开始和之后,速度不一样
而且,这个现象,在do_sample没改之前,是不存在的
你是单卡还是多卡?fp16推的?
13b,A40单卡,fp16
你可以把你长的prompt发我,我看看能不能复现。
不太方便
这个链接可以参考下,我根据其中的建议,加了half和改了do_sample
但 do_sample 改为 false 后,刚开始还行,提几次问题,生成速度就会明显变慢 ........
我发现这个问题,是因为用stream方式中途取消生成后(即stream方式未生成完就停止了),新的生成就会变慢 .......
好像就是 do_sample = True 引起的 ...
这个就不清楚了,我是do_sample测试的。