shibing624 / MedicalGPT

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

关于增量预训练 #261

Closed tszslovewanpu closed 1 month ago

tszslovewanpu commented 10 months ago

Describe the Question

Please provide a clear and concise description of what the question is.

**--bf16 \**
--block_size 4096 \
--output_dir /data \
--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 bfloat16 \**
--device_map auto \
1、是不是这个加粗的地方要对应起来
2、顺便问一下,我把blocksize设置成4096是不是就是一个batch里单个数据的长度可以到4096,而不会被切割(假如训练集里一行有3000个tokens)
3、关于单机多卡,我想问一下,CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node 4 pretraining.py \使用这个命令时,一张卡里除了加载模型的参数,还加载什么?
我之前运行,每张卡里都只用了30%,没有都塞满吗。所以在这个指令下(不使用deepspeed)单张卡里会加载什么东西?我如何让显卡得到充分利用?
希望能得到回复!谢谢~
shibing624 commented 10 months ago
  1. 不一定,是跟上个句子合并,拆blocksize;不用可以去掉block size的合并逻辑;我实验这块不会影响效果;
  2. batch size 加大,把显存占满跑
tszslovewanpu commented 10 months ago

感谢!