训练RoBERTa拥抱脸部/变形金刚时如何检查损失?

时间:2020-07-20 03:08:42

标签: logging huggingface-transformers loss roberta-language-model

我使用transformers从零开始训练了RoBERTa模型,但是在使用进行训练时我无法检查训练损失

https://colab.research.google.com/github/huggingface/blog/blob/master/notebooks/01_how_to_train.ipynb

在笔记本中,损失每500步打印一次,但是在训练过程中没有记录训练损失:

Iteration: 100%|█████████▉| 20703/20711 [4:42:54<00:07,  1.14it/s][A  
Iteration: 100%|█████████▉| 20704/20711 [4:42:54<00:05,  1.24it/s][A  
Iteration: 100%|█████████▉| 20705/20711 [4:42:55<00:05,  1.20it/s][A  
Iteration: 100%|█████████▉| 20706/20711 [4:42:56<00:04,  1.18it/s][A  
Iteration: 100%|█████████▉| 20707/20711 [4:42:57<00:03,  1.19it/s][A  
Iteration: 100%|█████████▉| 20708/20711 [4:42:58<00:02,  1.16it/s][A  
Iteration: 100%|█████████▉| 20709/20711 [4:42:59<00:01,  1.14it/s][A  
Iteration: 100%|█████████▉| 20710/20711 [4:43:00<00:00,  1.13it/s][A  
Iteration: 100%|██████████| 20711/20711 [4:43:00<00:00,  1.45it/s][A  
Iteration: 100%|██████████| 20711/20711 [4:43:00<00:00,  1.22it/s]  
Epoch: 100%|██████████| 13/13 [61:14:16<00:00, 16952.06s/it]  
Epoch: 100%|██████████| 13/13 [61:14:16<00:00, 16958.16s/it]

compress roberta.20200717.zip on ./pretrained
save roberta.20200717.zip on minio(petcharts)

没有显示损失的任何值,所以我不知道培训是否收敛良好。在训练过程中如何监控损失?

1 个答案:

答案 0 :(得分:0)

只需尝试使用更新版本的库再次执行笔记本(例如,直接在colab中执行)即可。请注意,Trainer可能会因为弃用而需要稍有不同的参数集。

该示例显示了输出中没有问题的训练损失

Training metrics

我正在使用

tokenizers                    0.9.4          
transformers                  4.0.0rc1

这些训练论点似乎可以胜任:

from transformers import Trainer, TrainingArguments

training_args = TrainingArguments(
    output_dir="./EsperBERTo",
    overwrite_output_dir=True,
    num_train_epochs=1,
    per_device_train_batch_size=64,
    save_steps=10_000,
    save_total_limit=2,
)

trainer = Trainer(
    model=model,
    args=training_args,
    data_collator=data_collator,
    train_dataset=dataset,
)