全量微调full断点续训问题
执行命令:
swift sft \
--model_type qwen2-7b-instruct \
--sft_type full \
--dataset single_intent_filter_data_all.json \
--model_id_or_path Qwen2-7B-Instruct \
--output_dir output/Qwen \
--ddp_find_unused_parameters true \
--add_output_dir_suffix false \
--batch_size 2 \
--num_train_epochs 5 \
--max_length 4096 \
--save_strategy epoch \
--save_total_limit 6 \
--dataloader_num_workers 20 \
--use_flash_attn true \
--resume_from_checkpoint output/Qwen/checkpoint-12270 \
--resume_only_model true
我跑完一个epoch后中断了,于是准备断点续训。 我执行这个命令后,发现训练进度还是从0开始,还是要跑5个epoch。我的问题是模型是从output/Qwen/checkpoint-12270参数中的开始接着再训练5个epoch呢,还是从原始的Qwen2-7B-Instruct训练5个epoch呢,也就是断点续训失败?希望能得到解答,谢谢!
--resume_only_model false 就是从原来断开的地方开始继续训练,为true就仅使用上次的ckpt model,从0开始重新训练
--resume_only_model false 就是从原来断开的地方开始继续训练,为true就仅使用上次的ckpt model,从0开始重新训练
所以我这里断点续训失败了吗?还是从最原始的Qwen2-7B-Instruct模型参数开始训练?
--resume_only_model false 就是从原来断开的地方开始继续训练,为true就仅使用上次的ckpt model,从0开始重新训练
所以我这里断点续训失败了吗?还是从最原始的Qwen2-7B-Instruct模型参数开始训练?
--resume_only_model false 会读入steps数, optim, 随机种子, 模型.
--resume_only_model true 只读入模型.
--resume_only_model false 就是从原来断开的地方开始继续训练,为true就仅使用上次的ckpt model,从0开始重新训练
所以我这里断点续训失败了吗?还是从最原始的Qwen2-7B-Instruct模型参数开始训练?
--resume_only_model false 会读入steps数, optim, 随机种子, 模型.
--resume_only_model true 只读入模型.
--resume_from_checkpoint output/Qwen/checkpoint-12270
--resume_only_model true
所以我这里的设置,是只读入模型,从output/Qwen/checkpoint-12270中模型的权重开始训练吗?
--resume_only_model false 就是从原来断开的地方开始继续训练,为true就仅使用上次的ckpt model,从0开始重新训练
所以我这里断点续训失败了吗?还是从最原始的Qwen2-7B-Instruct模型参数开始训练?
--resume_only_model false 会读入steps数, optim, 随机种子, 模型. --resume_only_model true 只读入模型.
--resume_from_checkpoint output/Qwen/checkpoint-12270 --resume_only_model true 所以我这里的设置,是只读入模型,从output/Qwen/checkpoint-12270中模型的权重开始训练吗?
是的
全参数训练 默认只会存储模型权重,如果要存储steps数, optim, 随机种子, 请显示开启--save_only_model false