[论文笔记] 大模型gpu机器推理测速踩坑 (llama/gpt类)

cpu没报错,换gpu就报错。以下是一些踩坑:

坑1:要指定gpu,可以在import torch之前指定gpu。

model = LlamaForCausalLM.from_pretrained(model_path, trust_remote_code=True).to(device)

报错: RuntimeError('Expected all tensors to be on the same device, but found at least two devices, cuda:6 and cuda:0! (when checking argument for argument index in method wrapper_CUDA__index_select)')

坑2:model和input_ids都需要 .to(device),tokenizer不需要。

坑3:不要用device_map="auto",不然变量不在一张卡上。就算model和输入都to(device)了,也会报错。

报错:You can't move a model that has some modules offloaded to cpu or disk.

可以检查参数都在哪个卡,cpu/gpu。但是这样其实检查不出来啥:

坑4:custom_llama不能用AutoModelForCausalLM,要用LlamaForCausalLM。

你可能感兴趣的:(nlp,论文笔记,自然语言处理,llama,gpt)