本地推理和用提供的demo推理结果不一致
本地推理和提供的demo结果不一致是为什么呢,请问demo具体的参数设置是什么呢
本地效果怎么演示?
我采用huggingface上提供的加载模型推理的方式,然后传入图片得到结果,和提供的chatdemo结果相差比较大
应该是因为推理的超参数设置不一样
我采用huggingface上提供的加载模型推理的方式,然后传入图片得到结果,和提供的chatdemo结果相差比较大
请问您使用的gpu是多大的显存?我用了两张32g的卡,模型加载时设置device_map="auto"进行推理, 但是报错RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cuda:1!,请问可以帮忙看一下吗?感谢~
found at least two devices
这个bug很多人都遇到了,我暂时没想到比较好的方法能够适配所有情况,有个方案可以解决,需要手工为模型分配设备。
比如这个模型总共26B,2张卡最理想的情况是每张卡13B。因此,除去ViT的6B以外,卡0还需要放7B,也就是20B的LLM有1/3在卡0,有2/3在卡1。
写成代码就是:
device_map = {
'vision_model': 0,
'mlp1': 0,
'language_model.model.tok_embeddings': 0,
'language_model.model.norm': 1,
'language_model.output.weight': 1
}
for i in range(16):
device_map[f'language_model.model.layers.{i}'] = 0
for i in range(16, 48):
device_map[f'language_model.model.layers.{i}'] = 1
print(device_map)
model = AutoModel.from_pretrained(
path,
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
trust_remote_code=True,
device_map=device_map
).eval()
