Cannot copy out of meta tensor; no data!,报错代码地方为model = model.half().quantize(4).cuda() ,猜测是量化相关问题或者作者的模型上传的时候有遗漏的文件

#18
by yoma0101 - opened

File "C:\Users\msh01/.cache\huggingface\modules\transformers_modules\chatglm-fitness-RLHF\modeling_chatglm.py", line 1434, in quantize
self.transformer = quantize(self.transformer, bits, empty_init=empty_init, **kwargs)
File "C:\Users\msh01/.cache\huggingface\modules\transformers_modules\chatglm-fitness-RLHF\quantization.py", line 159, in quantize
weight_tensor=layer.attention.query_key_value.weight.to(torch.cuda.current_device()),
NotImplementedError: Cannot copy out of meta tensor; no data!

当前系统环境为
win11+python3.10+ pytorch2.0.1+cuda11.8+nvdia rtx 3060 (12gb显存)
加载模型的方式为
sys.path.append('..')
# fb700/chatglm-fitness-RLHF为hg自动下载地址,如已经自行下载请替换
model = AutoModel.from_pretrained(model_name_or_path, device_map='auto', empty_init=False,
trust_remote_code=True)
# model = PeftModel.from_pretrained(model, "model/chatglm_fitness_lora") # lora文件保存目录
# model = model.half().quantize(4).cuda() # int4
model = model.half().quantize(8).cuda() # int8
# model = model.half().cuda() # fp16
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)

yoma0101 changed discussion title from 加载模型的时候报错,保持代码行为model = model.half().quantize(4).cuda() ,猜测是量化相关问题或者作者的模型上传的时候有遗漏的文件 to 加载模型的时候报错,报错代码地方为model = model.half().quantize(4).cuda() ,猜测是量化相关问题或者作者的模型上传的时候有遗漏的文件
yoma0101 changed discussion title from 加载模型的时候报错,报错代码地方为model = model.half().quantize(4).cuda() ,猜测是量化相关问题或者作者的模型上传的时候有遗漏的文件 to Cannot copy out of meta tensor; no data!,报错代码地方为model = model.half().quantize(4).cuda() ,猜测是量化相关问题或者作者的模型上传的时候有遗漏的文件

尝试了加入empty_init=False, 依然是同样的错误

你用glm1测试下你的环境,我这边测试测试,是没有问题的

你用glm1测试下你的环境,我这边测试测试,是没有问题的

chatglm1和chatglm2都是可以在我的电脑上运作的

好吧

Sign up or log in to comment