Closed xenos-code closed 1 year ago
第二个问题在我的电脑上同样复现,暂时这样修改解决。
if device == 'cuda': model = AutoModel.from_pretrained(settings.llm.path, local_files_only=True, trust_remote_code=True,revision="v1.1.0").cuda() else: model = AutoModel.from_pretrained(settings.llm.path, local_files_only=True, trust_remote_code=True, device=device, revision="v1.1.0")
现在已经支持
Describe the bug UBUNTU服务器多卡部署chatglm2-6b,加载模型时遇到两种情况: 情况一:check_device_map The device_map provided does not give any device for the following parameters:.... 原因:层命名不一致 解决办法:只加载chatglm2-6b的话,修改llms/llm_glm6b.py 50行
device_map = {'transformer.word_embeddings': start_device,
考虑其他模型的话,参考https://github.com/imClumsyPanda/langchain-ChatGLM/issues/732做相应的修改
bugfix: PEFT加载lora模型出现的层命名不同
情况二:著名的OOM 解决办法:修改llms/llm_glm6b.py 81行 if "chatglm2" in settings.llm.path: model = AutoModel.from_pretrained(settings.llm.path, local_files_only=True, trust_remote_code=True, revision="v1.1.0").quantize(4).cuda() 这里如果加参数device=device,报OOM。权宜之计,降低要求,按照官方文档
按需修改,目前只支持 4/8 bit 量化
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).quantize(8).cuda()
注:以上两种情况在上个版本均未出现。