我正在使用大约9GB的印地语数据进行预训练语言模型,词汇量约为32k。我的训练参数如下:学习率 = 1e-4热身步数 = 40k最大序列长度 = 128训练步数 = 500000我的Tensorboard图表如下。我正在使用32GB [Nvidia] V100进行训练。我应该再训练多少天,何时停止?
bmvo0sr51#
我不会说有一个特定的损失值,你应该停止训练。你可以在你的模型没有见过的数据子集上运行 run_pretraining.py ,并将 do_eval 设置为 True 。它应该保存一个包含“下一句预测”和“遮罩词预测”的损失和准确率的文本文件。你可以将自己模型的准确率与已发布的英语BERT模型进行比较,并将其作为“目标”(查阅论文,看起来它的下一句预测准确率为97-98%,不确定遮罩词预测概率)。然而,我不确定这是否真的是最佳方法。我认为最好的做法是简单地测试你模型在下游任务上的准确性。
do_eval
True
shyt4zoc2#
你的批次大小是多少?这花了多长时间?
0x6upsns3#
重复的#95
3条答案
按热度按时间bmvo0sr51#
我不会说有一个特定的损失值,你应该停止训练。
你可以在你的模型没有见过的数据子集上运行 run_pretraining.py ,并将
do_eval
设置为True
。它应该保存一个包含“下一句预测”和“遮罩词预测”的损失和准确率的文本文件。你可以将自己模型的准确率与已发布的英语BERT模型进行比较,并将其作为“目标”(查阅论文,看起来它的下一句预测准确率为97-98%,不确定遮罩词预测概率)。然而,我不确定这是否真的是最佳方法。我认为最好的做法是简单地测试你模型在下游任务上的准确性。
shyt4zoc2#
你的批次大小是多少?这花了多长时间?
0x6upsns3#
重复的#95