bert 如何确定模型的最佳损失值以及何时停止训练?

vmjh9lq9  于 3个月前  发布在  其他
关注(0)|答案(3)|浏览(57)

我正在使用大约9GB的印地语数据进行预训练语言模型,词汇量约为32k。我的训练参数如下:
学习率 = 1e-4
热身步数 = 40k
最大序列长度 = 128
训练步数 = 500000
我的Tensorboard图表如下。
我正在使用32GB [Nvidia] V100进行训练。我应该再训练多少天,何时停止?

bmvo0sr5

bmvo0sr51#

我不会说有一个特定的损失值,你应该停止训练。
你可以在你的模型没有见过的数据子集上运行 run_pretraining.py ,并将 do_eval 设置为 True 。它应该保存一个包含“下一句预测”和“遮罩词预测”的损失和准确率的文本文件。你可以将自己模型的准确率与已发布的英语BERT模型进行比较,并将其作为“目标”(查阅论文,看起来它的下一句预测准确率为97-98%,不确定遮罩词预测概率)。
然而,我不确定这是否真的是最佳方法。我认为最好的做法是简单地测试你模型在下游任务上的准确性。

shyt4zoc

shyt4zoc2#

你的批次大小是多少?这花了多长时间?

相关问题