LLaMA-Factory icon indicating copy to clipboard operation
LLaMA-Factory copied to clipboard

[Question] 关于增量预训练的几个问题

Open AILWQ opened this issue 1 year ago • 3 comments

作者您好,关于使用baichuan-7B做增量预训练有几个问题:

CUDA_VISIBLE_DEVICES=0 python src/train_pt.py \
    --model_name_or_path path_to_your_model \
    --do_train \
    --dataset wiki_demo \
    --finetuning_type lora \
    --output_dir path_to_pt_checkpoint \
    --overwrite_cache \
    --per_device_train_batch_size 4 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 1000 \
    --learning_rate 5e-5 \
    --num_train_epochs 3.0 \
    --plot_loss \
    --fp16

其中,

  • finetuning_type lora意思是只用LoRA权重做预训练吗?
  • 硬件资源的要求是什么,8张V100或者8张3090够用吗?
  • 预训练的任务是什么呢?
  • 自定义数据集的格式参考wiki_demo吗?
  • 其他参数需不需要改呢?我现在有大概4-5万的数据可以做自监督训练,epochs设置多少合适呢?

AILWQ avatar Jun 16 '23 14:06 AILWQ

  • --finetuning_type 指定了微调使用的方法,目前有 full/freeze/lora 三个选项可选,其中 lora 代表只有 LoRA 权重参与训练。
  • 如果使用 full 方法全量微调,需要 A100 80G,如果使用另外两种方法,最低显存占用为 <24GB。
  • 预训练的任务和 GPT 一样,为auto-regressive language modeling。
  • 自定义数据集的格式参考 example_dataset 或 wiki_demo,其中 wiki_demo 只能用于预训练。
  • 其他参数请根据实验自由调整,我这里没有指导意见。一般预训练和微调的 epochs 为 3-5。

hiyouga avatar Jun 16 '23 23:06 hiyouga

@hiyouga 作者您好,我使用A800 80G做baichuan-7B的继续预训练, 全量会OOM,可以帮忙看下这是什么原因吗?感谢

CUDA_VISIBLE_DEVICES=0 python src/train_pt.py \
    --model_name_or_path path_to_your_model \
    --do_train \
    --dataset wiki_demo \
    --finetuning_type full \
    --output_dir path_to_pt_checkpoint \
    --overwrite_cache \
    --per_device_train_batch_size 1 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 1000 \
    --learning_rate 5e-5 \
    --num_train_epochs 3.0 \
    --plot_loss \
    --fp16

maoxiantuanzi avatar Jun 21 '23 09:06 maoxiantuanzi

@maoxiantuanzi 全量微调时候用 deepspeed zero 2 训练。

hiyouga avatar Jun 21 '23 13:06 hiyouga

预训练使用wiki_demo时,遇到如下错误 ValueError: Original column name None not in the dataset. Current columns in the dataset: ['text']

lelegogo26 avatar Jul 31 '23 08:07 lelegogo26

@maoxiantuanzi 没必要全量吧,有多少数据需要增量预训练?

tszslovewanpu avatar Nov 10 '23 12:11 tszslovewanpu