我如何在火炬训练时保存模型

How can i save model while training in torch

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

我正在使用 torch 库和 google Colab GPU 来训练模型。

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

您可以使用 Trainer from transformers to train the model. This trainer will also need you to specify the TrainingArguments,这将允许您在训练时保存模型的检查点。

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

  • save_strategy:训练时采用的检查点保存策略。可能的值是:
    • "no": 训练期间不保存。
    • “epoch”:保存在每个 epoch 结束时完成。
    • “步数”:每 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.

的整数倍