Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

全量微调vision端不稳定 #585

Closed
128Ghe980 opened this issue Sep 18, 2024 · 6 comments
Closed

全量微调vision端不稳定 #585

128Ghe980 opened this issue Sep 18, 2024 · 6 comments

Comments

@128Ghe980
Copy link

我的训练方式是分两个阶段

  1. 冻结vision端(vision+resampler),只微调llm
  2. 冻结llm,微调vision
  3. 全部微调

但现在loss曲线很差,请问是什么问题呢

数据集为数学相关,输入题目和图片,输出题目关键点

以下为bash文件中的设置:

per_device_train_batch_size=1
per_device_eval_batch_size=1
gradient_accumulation_steps=1

--tune_vision False \
  --tune_resampler False \
  --model_name_or_path $MODEL \
  --llm_type $LLM_TYPE \
  --data_path $DATA \
  --remove_unused_columns False \
  --label_names "labels" \
  --prediction_loss_only False \
  --bf16 True \
  --bf16_full_eval False \
  --fp16 False \
  --fp16_full_eval False \
  --tf32 True\
  --do_train True\
  --do_eval False\
  --tune_llm True \
  --model_max_length 10240 \
  --max_slice_nums 9 \
  --num_train_epochs 1 \
  --output_dir $output_dir \
  --logging_dir $output_dir \
  --logging_strategy "steps" \
  --logging_steps 1 \
  --per_device_train_batch_size $per_device_train_batch_size \
  --per_device_eval_batch_size $per_device_eval_batch_size \
  --gradient_accumulation_steps $gradient_accumulation_steps \
  --evaluation_strategy "no" \
  --save_strategy steps \
  --save_steps 2000 \
  --save_total_limit 3 \
  --learning_rate 5e-6 \
  --weight_decay 0.1 \
  --adam_beta2 0.95 \
  --warmup_ratio 0.01 \
  --gradient_checkpointing True \
  --deepspeed $deepspeed_config \
  --report_to "wandb" \
  --run_name $RUN_NAME \

不同阶段会修改--llm_tune等设置,其他不变

以下为loss曲线
vision+resampler

另外还试了二阶段是train resampler的情况,以下为loss曲线
resampler

大概什么问题呢,是任务太难了吗?

@128Ghe980
Copy link
Author

补充一下,一阶段的纯llm微调使用的无图数据,希望llm端能适应新的任务,后面的阶段尽量仿造了minicpm的预训练阶段的过程

@KeepFaithMe
Copy link

KeepFaithMe commented Sep 18, 2024

大佬,您好!能不能上传一下funetune文件夹下的dataset.py文件,想参考一下您的,我发现我在微调的时候老是报data fetch error的错误(报错位置定位在dataset.py文件中)。万分感谢!

@jackyjinjing
Copy link

大佬,您好!能不能上传一下funetune文件夹下的dataset.py文件,想参考一下您的,我发现我在微调的时候老是报data fetch error的错误(报错位置定位在dataset.py文件中)。万分感谢!

可以按照这个pr改一下试试 #579

@KeepFaithMe
Copy link

大佬,您好!能不能上传一下funetune文件夹下的dataset.py文件,想参考一下您的,我发现我在微调的时候老是报data fetch error的错误(报错位置定位在dataset.py文件中)。万分感谢!

可以按照这个pr改一下试试 #579

@KeepFaithMe
Copy link

感谢感谢,就是这个问题

@jackyjinjing
Copy link

感谢感谢,就是这个问题

对你有用的话,帮忙给pr点个👍,让它更加容易合入吧,免得后面的人在遇到这个问题😊

@qyc-98 qyc-98 closed this as completed Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants