LMFlow icon indicating copy to clipboard operation
LMFlow copied to clipboard

[BUG] python app.py 运行起来了,可是当推理时报错:Expected all tensors to be on the same device

Open chenyujing1234 opened this issue 2 years ago • 4 comments

python app.py 运行起来了,可是当推理时报错:Expected all tensors to be on the same device 在在这行报错的: outputs = model.inference(inputs, max_new_token.....

chenyujing1234 avatar Apr 27 '23 12:04 chenyujing1234

请问运行的命令是什么,可否把全部的错误信息展示一下。谢谢。


What is the command, and can you show all the error messages? Thanks.

shizhediao avatar Apr 27 '23 13:04 shizhediao

我是在V100上测的。以下是报错的信息: Traceback (most recent call last): File "/home/chenyj/LMFlow/service/app.py", line 68, in predict outputs = model.inference(inputs, max_new_tokens=150,temperature=0.0, do_sample=False) File "/home/chenyj/LMFlow/src/lmflow/models/hf_decoder_model.py", line 458, in inference outputs = self.ds_engine.module.generate( File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context return func(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/transformers/generation/utils.py", line 1437, in generate return self.greedy_search( File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/transformers/generation/utils.py", line 2248, in greedy_search outputs = self( File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl return forward_call(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/accelerate/hooks.py", line 165, in new_forward output = old_forward(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 687, in forward outputs = self.model( File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl return forward_call(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 577, in forward layer_outputs = decoder_layer( File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl return forward_call(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/accelerate/hooks.py", line 165, in new_forward output = old_forward(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 289, in forward hidden_states = self.input_layernorm(hidden_states) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl return forward_call(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/accelerate/hooks.py", line 165, in new_forward output = old_forward(*args, **kwargs) File "/home/zhongm/anaconda3/envs/lmflow/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 91, in forward return self.weight * hidden_states RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cuda:1!

chenyujing1234 avatar Apr 28 '23 08:04 chenyujing1234

Could you add CUDA_VISIBLE_DEVICES=0 to run inference on a single GPU?

shizhediao avatar Apr 28 '23 12:04 shizhediao

可以参考PR-174里tests/models/test_hf_decoder_model.py 104行到107行的改动把ram optimized load取消,是deepspeed/accelerate的问题

yaoguany avatar Apr 29 '23 06:04 yaoguany

按这个方法可以了

chenyujing1234 avatar May 04 '23 09:05 chenyujing1234

ok, glad to hear that the issue has been solved.

shizhediao avatar May 05 '23 21:05 shizhediao