我使用transformers
从零开始训练了RoBERTa模型,但是在使用进行训练时我无法检查训练损失
在笔记本中,损失每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)
没有显示损失的任何值,所以我不知道培训是否收敛良好。在训练过程中如何监控损失?
答案 0 :(得分:0)
只需尝试使用更新版本的库再次执行笔记本(例如,直接在colab中执行)即可。请注意,Trainer
可能会因为弃用而需要稍有不同的参数集。
该示例显示了输出中没有问题的训练损失
我正在使用
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,
)