-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
请问DPO训练的时候有什么注意事项吗?我训练出来效果很差。 #5484
Comments
DPO很严重的破坏了原先模型能力。。奇怪 |
+1。但是没确定出来是什么原因。 |
你用的哪个评估集? |
自己的一个代码生成的评估集合。dpo之后,模型基本上就不能生成正常代码了。很奇怪 |
dpo通常只能训练一个epoch,多了显著过拟合。另外lr可以调小一点 |
非常感谢 我试一下 |
+1,请问你现在进展怎么样了,我也自己设计了一个数据集,大概是4w条,只用chosen的去sft效果不错,但是加上rejected的,模型直接崩溃了,学习率是1e-5 |
没有用dpo了,放弃了。不知道怎么回事,尝试了学习率、epoch的修改,但是都没救回来。😫 |
可以看一下chosen和rejected的log_probs变化,dpo可能会让二者都变的很小。可以尝试加一点sft_loss, Llamafactory应该是在dpo里面直接支持加入sft loss的 |
Reminder
System Info
训练命令:
llamafactory-cli train
--stage dpo
--do_train
--finetuning_type full
--deepspeed examples/deepspeed/ds_z0_config.json
--model_name_or_path "LLaMA3"
--dataset ""
--dataset_dir ./data/
--template empty
--output_dir ${save_model}
--overwrite_cache
--overwrite_output_dir
--cutoff_len 2048
--preprocessing_num_workers 16
--per_device_train_batch_size 4
--gradient_accumulation_steps 4
--lr_scheduler_type cosine
--logging_steps 10
--save_steps 200
--learning_rate 5e-6
--num_train_epochs 2
--plot_loss
--bf16
--save_total_limit 1
--pref_beta 0.1
--pref_loss sigmoid
推理命令:
llamafactory-cli train
--stage sft
--do_predict
--model_name_or_path ${save_model}
--eval_dataset ${eval_dataset}
--dataset_dir ./data
--template empty
--finetuning_type full
--output_dir ${pred_path}
--overwrite_cache
--overwrite_output_dir
--cutoff_len 2048
--preprocessing_num_workers 16
--per_device_eval_batch_size 16
--predict_with_generate
Reproduction
None
Expected behavior
请问DPO训练的时候有什么注意事项吗?我训练出来效果很差。
例如:
rejected数据需要很高的质量么?
例如,我用SFT模型的response作为rejected,chatgpt的response作为chosen。这样是否合理?
2k数据,全量dpo微调3B模型的话,学习率,epoch一般怎么设置?
感谢!
Others
No response
The text was updated successfully, but these errors were encountered: