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。但是这样其实检查不出来啥:文章来源:https://www.toymoban.com/news/detail-773459.html
坑4:custom_llama不能用AutoModelForCausalLM,要用LlamaForCausalLM。文章来源地址https://www.toymoban.com/news/detail-773459.html
到了这里,关于[论文笔记] 大模型gpu机器推理测速踩坑 (llama/gpt类)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!