yuanzhoulvpi2017 / zero_nlp

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

有大佬遇到使用这个Lora训练,loss 不收敛的情况嘛 #146

Closed DuBaiSheng closed 1 year ago

DuBaiSheng commented 1 year ago

使用自己的数据集, 在官方的chatglm2下进行ptuning 微调时,loss 正常收敛。使用这个lora训练的时候,loss 出现不收敛。 调整lora_r 32,16 都不收敛

使用lora训练参数如下: LR=2e-2 LORA_R=16 python main.py \ --do_train \ --train_file $CHAT_TRAIN_DATA \ --validation_file $CHAT_VAL_DATA \ --preprocessing_num_workers 10 \ --prompt_column prompt \ --response_column response \ --overwrite_cache \ --model_name_or_path /data/model/chatglm2-6b \ --output_dir $CHECKPOINT_NAME-$LR-$LORA_R \ --overwrite_output_dir \ --max_source_length 1024 \ --max_target_length 128 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 16 \ --predict_with_generate \ --max_steps 2000 \ --logging_steps 10 \ --save_steps 100 \ --learning_rate $LR \ --lora_r $LORA_R \ --model_parallel_mode False

loss 从19渐渐减到14,然后又升回19,然后又减,就一直震荡不收敛。 调整过几个lora_r,lr, 都差不多。 image image

yuanzhoulvpi2017 commented 1 year ago

你数据是不是不多?

DuBaiSheng commented 1 year ago

你数据是不是不多?

我的训练是做总结提取的那种,有1000条训练样本。lora 训练方式和ptuning 训练方式,对数据的要求差距很大嘛?

yuanzhoulvpi2017 commented 1 year ago

不知道了,这个loss很难下降:

  1. 可能是因为数据分布和原始的分布差异过大的问题。
  2. 可能是数据量不够的问题。

目前,我这边也给不到什么好的建议。

DuBaiSheng commented 1 year ago

你数据是不是不多?

不知道了,这个loss很难下降:

  1. 可能是因为数据分布和原始的分布差异过大的问题。
  2. 可能是数据量不够的问题。

目前,我这边也给不到什么好的建议。

好的,谢谢