mymusise / ChatGLM-Tuning

基于ChatGLM-6B + LoRA的Fintune方案
MIT License
3.71k stars 443 forks source link

关于保存的adapter_model.bin无实际推理效果的问题 #273

Open ssgg-code opened 4 months ago

ssgg-code commented 4 months ago

我之前在跑另外一个仓库代码的时候,就遇到了保存的adapter_model.bin合并backbone后对推理无任何影响的问题,总觉得是保存有问题。 然后在本仓库发现作者的save_model重写代码是一样的, 问题区有很多朋友遇到了和我一样的问题。 用这种重写的save model也不会有config文件的生成。 https://github.com/mymusise/ChatGLM-Tuning/issues/250 https://github.com/mymusise/ChatGLM-Tuning/issues/212 https://github.com/mymusise/ChatGLM-Tuning/issues/243 https://github.com/mymusise/ChatGLM-Tuning/issues/223 https://github.com/mymusise/ChatGLM-Tuning/issues/208

self.model.save_pretrained(output_dir) 最终只需要用这个接口代替即可解决。

但是我还是不太能理解为什么这个问题会对部分情况存在, 我的transformers版本是4.28.1, peft是0.3.0。 希望能够帮助其他同学避坑,也希望有同学可以帮我解答一下。

sofiane-20241050 commented 4 months ago

您好,我使用的就是self.model.save_pretrained(output_dir)方法,但是在模型merge之后,generate方法输出的后续tokens id都是0,请问这种情况该如何解决?

ssgg-code commented 4 months ago

您好,我使用的就是self.model.save_pretrained(output_dir)方法,但是在模型merge之后,generate方法输出的后续tokens id都是0,请问这种情况该如何解决? 这个我倒是没遇到过,你的adapter.bin大小是正常的吗?训练loss是正常收敛的吗?