用transformers库或者modelscop库部署LLM进行推理时,可能会遇到多机的情况。
如果服务器上有多张GPU,代码一般是:
device = "cuda"
model = AutoModelForCausalLM.from_pretrained(
"qwen/Qwen1.5-72B-Chat",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen1.5-72B-Chat")
这里的device_map="auto"默认了模型会自动在多GPU上分片加载模型。huggingface仓库的官方代码一般也是这样的。
但是如果只想用多张GPU中的一张,只需要代码改成:
device = "cuda:1"
model = AutoModelForCausalLM.from_pretrained(
"qwen/Qwen1.5-72B-Chat"
).to(device)
tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen1.5-72B-Chat")
发现相关问题都可以直接看huggingface库的文档,写的都很明白
当然modelscope的官方文档就算了吧,写的不清不楚。。