shibing624 / MedicalGPT

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

Qwen-7B领域大模型继续预训练 #424

Closed veresse closed 2 months ago

veresse commented 2 months ago

Describe the Question

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

大佬您好,我现在在使用qwen2-7b-instruct在做领域微调,打算采用pt+sft的路线,但是我在做完pt后,使用ceval数据集做测试的时候,在电力领域为什么得分反而比基座模型的得分低。 我的增量预训练数据来源是书籍,数据集大约有24w行,数据集里只有领域知识,没有通用知识,目前只进行了pt增量预训练,这是我pt的训练参数: CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node 4 pretraining.py \ --model_type auto \ --model_name_or_path /data/llm_data/qwen/Qwen2-7B-Instruct \ --train_file_dir ./data/pretrain \ --validation_file_dir ./data/pretrain \ --per_device_train_batch_size 4 \ --per_device_eval_batch_size 4 \ --do_train \ --do_eval \ --use_peft True \ --seed 42 \ --max_train_samples 1000000 \ --max_eval_samples 10 \ --num_train_epochs 10 \ --learning_rate 1e-4 \ --warmup_ratio 0.05 \ --weight_decay 0.01 \ --logging_strategy steps \ --logging_steps 10 \ --eval_steps 500 \ --evaluation_strategy steps \ --save_steps 500 \ --save_strategy steps \ --save_total_limit 13 \ --gradient_accumulation_steps 1 \ --preprocessing_num_workers 10 \ --block_size 512 \ --group_by_length True \ --output_dir outputs-pt-qwen-v4 \ --overwrite_output_dir \ --ddp_timeout 1800 \ --logging_first_step True \ --target_modules all \ --lora_rank 8 \ --lora_alpha 16 \ --lora_dropout 0.05 \ --torch_dtype bfloat16 \ --bf16 \ --device_map auto \ --report_to tensorboard \ --ddp_find_unused_parameters False \ --gradient_checkpointing True \ --cache_dir ./cache 我现在有几个疑问: 我现在无法判断我的增量预训练是否让模型学到知识了。 是否需要在增量预训练阶段加入通用知识,因为我不关心它的通用能力是否下降,我只需要确保我在这一个领域能力是否提升。

shibing624 commented 2 months ago

pt之后ceval的得分肯定会降低的,原模型做过退火实验的。

veresse commented 2 months ago

1.那请问大佬,我需要在pt数据集中加入通用数据吗,针对我这种情况,如果加入的话,是不是应该进行打乱 2.那么我应该如何判断我的pt阶段模型已经学习到知识了,可以进行sft了

veresse commented 2 months ago

感谢大佬的回答

veresse commented 2 months ago

pt之后ceval的得分肯定会降低的,原模型做过退火实验的。

我对您说的这个“原模型做过退火实验的。”,我理解的退火实验就是逐步降低lr,但是为什么会降低pt后模型的得分呢?

shibing624 commented 2 months ago

你的数据质量没有退火阶段的数据质量高,继续预训练,整体模型的评估打分是会下降的。ceval是评估整体效果的,肯定会下降。如果是专业领域的,如医疗数据做pt,那医疗的评估集来看可能会提升。但ceval肯定会下降。

veresse commented 2 months ago

感谢您的回复,那应该是我的数据集质量不够高,我在专用领域使用评价数据集来说评分也没有提高

---- 回复的原邮件 ---- | 发件人 | Ming Xu @.> | | 日期 | 2024年09月30日 15:58 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [shibing624/MedicalGPT] Qwen-7B领域大模型继续预训练 (Issue #424) |

你的数据质量没有退火阶段的数据质量高,继续预训练,整体模型的评估打分是会下降的。ceval是评估整体效果的,肯定会下降。如果是专业领域的,如医疗数据做pt,那医疗的评估集来看可能会提升。但ceval肯定会下降。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>