X-D-Lab / Sunsimiao

🌿孙思邈中文医疗大模型(Sunsimiao):提供安全、可靠、普惠的中文医疗大模型
Apache License 2.0
366 stars 23 forks source link

ms_wrapper.py have wrong, `device_map` had weights offloaded to the disk #10

Open toniedeng opened 5 months ago

toniedeng commented 5 months ago

class SunsimiaoTextGeneration(TorchModel): def init(self, model_dir=None, *args, *kwargs): super().init(model_dir, args, **kwargs) self.logger = get_logger()

loading tokenizer

    self.tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
    self.model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True)
    self.model = self.model.eval()

Message=The current device_map had weights offloaded to the disk. Please provide an offload_folder for them. Alternatively, make sure you have safetensors installed if the model you are using offers the weights in this format. Source=C:\Users\Administrator.cache\modelscope\modelscope_modules\Sunsimiao\ms_wrapper.py StackTrace: File "C:\Users\Administrator.cache\modelscope\modelscope_modules\Sunsimiao\ms_wrapper.py", line 42, in init self.model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True) File "C:\Users\Administrator.cache\modelscope\modelscope_modules\Sunsimiao\ms_wrapper.py", line 20, in init (Current frame) model = SunsimiaoTextGeneration(model) if isinstance(model, str) else model File "C:\Users\Administrator\source\repos\Sunsimiao\scripts\inference_ms.py", line 4, in pipe = pipeline(task=Tasks.text_generation,

jingnant commented 5 months ago

可能是由于显存不足,尝试在model给offload_folder参数 self.model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True,offload_folder="offload_folder")