liuqidong07 / MOELoRA-peft

[SIGIR'24] The official implementation code of MOELoRA.
https://arxiv.org/abs/2310.18339
MIT License
115 stars 15 forks source link

代码无法复现 #1

Closed linqq9 closed 10 months ago

linqq9 commented 10 months ago

作者您好,看到您的论文我对您做的方向很感兴趣,进行复现时候发现代码很多bug,应该是您删改了很多内容,导致代码跑不通,请问可以分享一份完整的代码么?同时我修改您代码里面的bug,可以跑通发现几个问题,论文提到V100可以复现您的工作,我这边发现V100会直接显存爆炸,而且80G的A100batchsize也只能设置为1-2,但是看到您论文里面说V100batchsize可以设为4,对此感到非常困惑,希望得到您的回复,谢谢!

liuqidong07 commented 10 months ago

作者您好,看到您的论文我对您做的方向很感兴趣,进行复现时候发现代码很多bug,应该是您删改了很多内容,导致代码跑不通,请问可以分享一份完整的代码么?同时我修改您代码里面的bug,可以跑通发现几个问题,论文提到V100可以复现您的工作,我这边发现V100会直接显存爆炸,而且80G的A100batchsize也只能设置为1-2,但是看到您论文里面说V100batchsize可以设为4,对此感到非常困惑,希望得到您的回复,谢谢!

你好,

感谢您对我们工作的关注!

  1. 想请问您在调试过程中具体哪几个文件bug比较多,或者缺失哪段代码。因为我的代码在公司服务器上,不方便下载,如果您能明确指出方便我更新。感谢!
  2. 请问您有采用deepspeed训练吗,是否有可能是deepspeed配置错误的问题?我在一开始实验时,这里配置错误很容易爆显存。您可以先尝试LoRA能否跑通,如果可以跑通的话说明可能是配置的问题。我们的实验基本都是在4张v100上进行,ChatGLM-6B的batch size设置为4是没有问题的。

祝好

linqq9 commented 10 months ago

我这边用的是您提供的deepspeed配置,A100batchsize设为2都可能会爆显存。还有modeling_chatglm.py这个文件应该是是chatglm2-6b的,这个代码里面应该有一些地方没有修改,不兼容task-id键。还有mian.py里面model.enable_input_require_grads()这行会报错。

liuqidong07 commented 10 months ago

我这边用的是您提供的deepspeed配置,A100batchsize设为2都可能会爆显存。还有modeling_chatglm.py这个文件应该是是chatglm2-6b的,这个代码里面应该有一些地方没有修改,不兼容task-id键。还有mian.py里面model.enable_input_require_grads()这行会报错。

我查了一下modeling_chatglm.py,是我这个文件上传错了,我会尽快update这个文件。我们实验中使用的是chaglm,如果使用chatglm2的话确实会有报错。爆显存的问题我建议您可以先看看LoRA能否跑通,您现在的描述我也想不到是什么问题了,抱歉。

linqq9 commented 10 months ago

嗯嗯好的,谢谢大佬!我用lora跑是没问题的,也可能是我为了跑通这个代码改了mian函数和modeling_chatglm.py,有一些地方改的不对也有可能

liuqidong07 commented 10 months ago

嗯嗯好的,谢谢大佬!我用lora跑是没问题的,也可能是我为了跑通这个代码改了mian函数和modeling_chatglm.py,有一些地方改的不对也有可能

我刚刚重新上传了modeling_chatglm.py,在文件夹resource下,您可以重新试一下。如果有其他问题也欢迎提出。

linqq9 commented 10 months ago

好嘞,谢谢大佬