VisualGLM-6B icon indicating copy to clipboard operation
VisualGLM-6B copied to clipboard

怎样在web_demo_hf.py中加载QLoRA微调后的权重?

Open yt7589 opened this issue 2 years ago • 7 comments

我可以成功跑通QLoRA微调,使用python cli_demo.py --from_pretrained ... 形式也可以跑起微调后的模型。 我想通过网络提供该服务,但是发现cli_demo.py中调用模型的方法,和web_demo_hf.py中的方法不一样,不能直接使用。进一步发现,cli_demo_hf.py中使用的方法,与cli_demo.py中的方法也是不一样的,直接套用也是会失败的。 我们想问一下,怎样在web_demo_hf.py中加密微调后的模型?

yt7589 avatar Jun 01 '23 08:06 yt7589

我可以成功跑通QLoRA微调,使用python cli_demo.py --from_pretrained ... 形式也可以跑起微调后的模型。 我想通过网络提供该服务,但是发现cli_demo.py中调用模型的方法,和web_demo_hf.py中的方法不一样,不能直接使用。进一步发现,cli_demo_hf.py中使用的方法,与cli_demo.py中的方法也是不一样的,直接套用也是会失败的。 我们想问一下,怎样在web_demo_hf.py中加密微调后的模型?

请问您这边是直接可以加载成功QLoRA微调后的 模型吗?我这边遇到了加载过程中,lora-mixin的时候尺寸对不上的情况,您这边有遇到过吗?

kristine-li avatar Jun 02 '23 02:06 kristine-li

如果使用cli_demo.py --from_pretrained ... 这种方式是可以的。

yt7589 avatar Jun 02 '23 02:06 yt7589

如果使用cli_demo.py --from_pretrained ... 这种方式是可以的。

您这边也是按照脚本起微调,然后直接cli_demo.py --from_pretrained... ?

kristine-li avatar Jun 02 '23 02:06 kristine-li

是的,完全按照官方的文档,我这边是没有问题的。我的问题是想在web_demo_hf.py里面使用。

yt7589 avatar Jun 02 '23 03:06 yt7589

可以在web_demo.py里使用,把model/infer_util.pyget_infer_setting函数里的VisualGLMModel按照cli_demo.py一样修改成FinetuneVisualGLMModel就好了。

1049451037 avatar Jun 02 '23 03:06 1049451037

web_demo_hf.py里面用的是AutoModel.from_pretrained,最终调用的是HuggingFace缓存的modeling_chatglm.py中的ChatGLMForConditionalGenerationWithImage类,我尝试过用peft来调用,没成功,提示没有adapter.json文件,想知道怎么搞?

yt7589 avatar Jun 02 '23 05:06 yt7589

因为sat版本的model和huggingface的是不兼容的,你用sat的微调了,就需要用sat的web_demo.py部署

1049451037 avatar Jun 02 '23 07:06 1049451037