yuanzhoulvpi2017 / zero_nlp

中文nlp解决方案(大模型、数据、模型、训练、推理)
MIT License
2.81k stars 351 forks source link

AttributeError: 'ChatGLMForConditionalGeneration' object has no attribute 'enable_input_require_grads' #135

Open zoepo opened 1 year ago

zoepo commented 1 year ago

作者你好,这边使用的是6b_v1的单机多卡并行代码,检查并确定了模型内的model文件是你git上的modeling_chatglm.py,但是会报错显示AttributeError: 'ChatGLMForConditionalGeneration' object has no attribute 'enable_input_require_grads',请问下原因是什么?

因为时间原因暂时无法使用6b_v2,谢谢大佬解答

yuanzhoulvpi2017 commented 1 year ago

很抱歉,我没办法办法准确的告诉你错误原因(因为我记不得了😂),我猜测是下面几个情况,您对照排除一下:

  1. 是不是模型下载的不对?检查一下是不是用的是我的那个chatglm6b-dddd模型。
  2. 是不是更新了transformers、accelerate、peft包了,版本对不上?

祝您好运🍀~

zoepo commented 1 year ago

很抱歉,我没办法办法准确的告诉你错误原因(因为我记不得了😂),我猜测是下面几个情况,您对照排除一下:

  1. 是不是模型下载的不对?检查一下是不是用的是我的那个chatglm6b-dddd模型。
  2. 是不是更新了transformers、accelerate、peft包了,版本对不上?

祝您好运🍀~

确定是下了dddd的模型了,检查了下modeling_chatglm里ChatGLMForConditionalGeneration确实是没有这个function,我去官方的代码里看下是不是缺失了这块吧,感谢回复

yuanzhoulvpi2017 commented 1 year ago

检查一下transformers版本问题,enable_input_require_grads是继承于transformers包的,可以查看这个链接https://github.com/huggingface/transformers/blob/476be08c4aa96f8c1cae4200d2677bbe8f12cf80/src/transformers/modeling_utils.py#L1197

zoepo commented 1 year ago

检查一下transformers版本问题,enable_input_require_grads是继承于transformers包的,可以查看这个链接https://github.com/huggingface/transformers/blob/476be08c4aa96f8c1cae4200d2677bbe8f12cf80/src/transformers/modeling_utils.py#L1197

找到问题了,4.26.1版本的transformer不包含enable_input_require_grads,4.27的版本是有的,更新到4.27的版本就跑通了