LLaMA-Factory
LLaMA-Factory copied to clipboard
[Question] 关于增量预训练的几个问题
作者您好,关于使用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设置多少合适呢?
-
--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 作者您好,我使用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 全量微调时候用 deepspeed zero 2 训练。
预训练使用wiki_demo时,遇到如下错误 ValueError: Original column name None not in the dataset. Current columns in the dataset: ['text']
@maoxiantuanzi 没必要全量吧,有多少数据需要增量预训练?