Huggingface Transformer - GPT2 从保存的检查点恢复训练
Posted
技术标签:
【中文标题】Huggingface Transformer - GPT2 从保存的检查点恢复训练【英文标题】:Huggingface Transformer - GPT2 resume training from saved checkpoint 【发布时间】:2021-04-08 06:25:03 【问题描述】:恢复 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 以使用自定义数据集进行训练
【问题讨论】:
【参考方案1】:要从检查点恢复训练,请使用 --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
【讨论】:
以上是关于Huggingface Transformer - GPT2 从保存的检查点恢复训练的主要内容,如果未能解决你的问题,请参考以下文章
Huggingface Transformer - GPT2 从保存的检查点恢复训练
HuggingFace Saving-Loading 模型 (Colab) 进行预测