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

发布时间:2023年12月17日

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。

文章来源:https://blog.csdn.net/Trance95/article/details/134980189
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。