lyhue1991/torchkeras

运行ChatGLM2_AdaLoRA——transformers.py 时定义模型报错Target modules ['query', 'value'] not found in the base model.

wendyDing1102 opened this issue · 4 comments

运行ChatGLM2_AdaLoRA——transformers.py 时定义模型报错Target modules ['query', 'value'] not found in the base model.

chatglm-lora微调时,targetmodule有这么几个 query_key_value,dense_h_to_4h,dense_4h_to_h,dense ,一般是选择query_key_value,你这个是module名配置错了吧。

碰到同样的问题,源码如下:from peft import get_peft_model, AdaLoraConfig, TaskType

#训练时节约GPU占用
model.config.use_cache=False
model.supports_gradient_checkpointing = True #
model.gradient_checkpointing_enable()
model.enable_input_require_grads()

peft_config = AdaLoraConfig(
task_type=TaskType.CAUSAL_LM, inference_mode=False,
r=8,
lora_alpha=32, lora_dropout=0.1,
target_modules=["query", "value"]
)

peft_model = get_peft_model(model, peft_config)

peft_model.is_parallelizable = True
peft_model.model_parallel = True
peft_model.print_trainable_parameters()

@MarshalXu 感恩,按照你的方法解决了!奇怪之前没有这个问题

@DearAmber 碰到同样的问题, 请问是改成target_modules=["query_key_value"] 吗