1

我正在为一种新语言训练 RoBERTa 模型,训练数据需要几个小时。所以我认为在训练时保存模型是个好主意,这样我就可以从下次停止的地方继续训练模型。

我正在使用火炬库和谷歌 Colab GPU 来训练模型。

这是我的 colab 文件。 https://colab.research.google.com/drive/1jOYCaLdxYRwGMqMciG6c3yPYZAsZRySZ?usp=sharing

4

1 回答 1

2

您可以使用Trainerfrom 转换器来训练模型。该培训师还需要您指定TrainingArguments,这将允许您在培训时保存模型的检查点。

您在创建时设置的一些参数TrainingArguments是:

  • save_strategy:训练期间采用的检查点保存策略。可能的值为:
    • “no”:训练期间不进行保存。
    • “epoch”:保存在每个 epoch 结束时完成。
    • “steps”:保存是在每个 save_steps 完成的。
  • save_steps:如果 save_strategy="steps",则在两个检查点保存之前的更新步骤数。
  • save_total_limit:如果一个值被传递,将限制检查点的总数。删除 output_dir 中较旧的检查点。
  • load_best_model_at_end:是否在训练结束时加载训练期间找到的最佳模型。

重要的一点load_best_model_at_end是,当设置为 True 时,参数save_strategy需要与 相同eval_strategy,如果是“steps”,则save_steps必须是 eval_steps 的整数倍。

于 2022-02-08T10:18:31.147 回答