shibing624 / MedicalGPT

MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练医疗大模型,实现了包括增量预训练(PT)、有监督微调(SFT)、RLHF、DPO、ORPO。
Apache License 2.0
3.34k stars 500 forks source link

rm模型训练过程 #49

Closed Vincent131499 closed 1 year ago

Vincent131499 commented 1 year ago

Describe the bug

在基于bloomz-560m模型训练rm模型,观察到训练过程中仍然是1块gpu在训练; image

To Reproduce

训练脚本如下: CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6 python reward_modeling.py \ --model_type bloom \ --model_name_or_path ./bloomz-560m \ --train_file_dir ./data/reward \ --validation_file_dir ./data/reward \ --per_device_train_batch_size 4 \ --per_device_eval_batch_size 1 \ --do_train \ --use_peft True \ --seed 42 \ --num_train_epochs 3 \ --learning_rate 2e-5 \ --warmup_ratio 0.05 \ --weight_decay 0.001 \ --logging_strategy steps \ --logging_steps 10 \ --eval_steps 100 \ --evaluation_strategy steps \ --save_steps 500 \ --save_strategy steps \ --save_total_limit 3 \ --max_source_length 256 \ --max_target_length 512 \ --output_dir outputs-rm-bloomz-560m-lora \ --overwrite_output_dir \ --ddp_timeout 30000 \ --logging_first_step True \ --target_modules all \ --lora_rank 8 \ --lora_alpha 16 \ --lora_dropout 0.05 \ --torch_dtype float32 \ --device_map auto \ --report_to tensorboard \ --ddp_find_unused_parameters False \ --remove_unused_columns False \ --gradient_checkpointing True

Describe your attempts

需要修改什么地方才能多卡正常训练呢?

shibing624 commented 1 year ago

当前RM阶段gpt模型没有兼容多卡,有空了加上这功能。

Vincent131499 commented 1 year ago

期待尽快适配

liuaiting commented 1 year ago

期待尽快适配

shibing624 commented 1 year ago

用dpo比较快,效果更好。