假设我在一台机器上使用多个 GPU(0、1、2、3),后来其他人也需要在这台机器上使用 GPU。有没有办法让我在不终止训练并重新开始的情况下减少训练中的 gpu 使用次数(即仅使用 0 和 1)?我不想浪费我已经做过的培训。
这听起来像是团队中的普遍需求。这可能吗?
答案 0 :(得分:1)
我不认为这是可能的。您应该保存检查点,以便以后可以在离开的地方继续训练。这可以通过 Hugging Face API 实现。
training_args = Seq2SeqTrainingArguments(
output_dir=model_directory,
num_train_epochs=args.epochs,
do_eval=True,
evaluation_strategy='epoch',
load_best_model_at_end=True, # the last checkpoint is the best model wrt metric_for_best_model
metric_for_best_model='eval_loss',
greater_is_better=False,
save_total_limit=args.epochs
)
save_total_limit 是它将保存的检查点数。在上述情况下,它会在每个 epoch 之后保存一个检查点。您可以根据自己的记忆调整数字。