suc16
suc16
> 尝试设置target_modules=["query_key_value"]以及target_modules=["query_key_value", "dense", "dense_h_to_4h", "dense_4h_to_h"],微调几个或几十个epoch,模型似乎没有学到什么 请问大家怎么判断模型微调之后是否生效?或者说,模型通过微调,能学到什么? 从微调数据里抽一条完全一样的,看微调后的模型回答是否和微调数据一样? 还是说,微调之后,模型的回答风格发生改变,比如微调数据的answer很短,模型微调后更倾向于短回答? 用微调数据构造prompt差不多的测试样例,看微调后的模型回答是否符合你微调数据风格,或者有没有微调数据里独有的信息。
@aiaiyueq11 感觉应该是之前那个问题,代码是最新的吗?
> 可以了,数据也得需要用最新的代码处理一下 终于。。。吓得我一直没敢拉新代码
第一轮instruction的时候告诉模型,"即使不知道答案,也请不要说问题还无法解决,尽量给出答案。" 试试?
I think k80 is too old for flash-attention. https://github.com/HazyResearch/flash-attention/issues/148 Maybe you can run train.py instead of train_mem.py.
> Yeah, I read that. And ran train.py but then got CUDA out-of-memory error. Is there any other way? I tried lower per_device_batch_size of 1 for evaluation too. Still, out-of-memory...
感谢大佬,这里记录我在跑这份代码的时候遇到的几个问题,可能都与我的环境有关。 - 加载模型时,有2处需要.half() - reward model 训练时 loss在第一个batch后变为nan,需要backward时 model.float() forward时再 model.half()
> > 感谢大佬,这里记录我在跑这份代码的时候遇到的几个问题,可能都与我的环境有关。 > > > > * 加载模型时,有2处需要.half() > > * reward model 训练时 loss在第一个batch后变为nan,需要backward时 model.float() forward时再 model.half() > > 你可以去我的fork,去最新的分支Add_GLMChat,我重构了代码,并且把GLM自己的(bs,1,seq,seq)的attention mask加进去了,训练时候,critic默认把use action设置为False,loss下降的更符合GLM的风格(下降很迅速) 感谢大佬,感谢,我去试试。
> ### 🐛 Describe the bug > when I set the lora_rank in example/train_sft.sh to 8, the bug happens as following: > > Traceback (most recent call last): File "/home/chaojiewang/NeurIPS_2023/Chatgpt/coati/train_sft.py",...
因为这个模型本身就是fp16的吧