问题描述
恢复从 GPT2
实施的 run_clm.py
微调
GPT2 huggingface 是否有参数从保存的检查点恢复训练,而不是从头开始再次训练?假设 python notebook 在训练时崩溃,检查点将被保存,但是当我再次训练模型时,它仍然从头开始训练。
来源:here
微调代码:
!python3 run_clm.py \
--train_file source.txt \
--do_train \
--output_dir gpt-finetuned \
--overwrite_output_dir \
--per_device_train_batch_size 2 \
--model_name_or_path=gpt2 \
--save_steps 100 \
--num_train_epochs=1 \
--block_size=200 \
--tokenizer_name=gpt2
从上面的代码来看,run_clm.py
是 huggingface 提供的一个脚本,用于微调 gpt2 以使用自定义数据集进行训练
解决方法
要从检查点恢复训练,请使用 --model_name_or_path
参数。因此,您无需提供默认的 gpt2
,而是将其定向到最新的检查点文件夹。
所以你的命令变成:
!python3 run_clm.py \
--train_file source.txt \
--do_train \
--output_dir gpt-finetuned \
--overwrite_output_dir \
--per_device_train_batch_size 2 \
--model_name_or_path=/content/models/checkpoint-5000 \
--save_steps 100 \
--num_train_epochs=1 \
--block_size=200 \
--tokenizer_name=gpt2