一个简单的文本分类任务,BERT 微调,loss 从 2.3 开始基本不动,准确率维持在随机水平附近(10 类中约 10%)。
学习率试过 1e-5、2e-5、5e-5,batch size 16/32 都试了,没用。
一个简单的文本分类任务,BERT 微调,loss 从 2.3 开始基本不动,准确率维持在随机水平附近(10 类中约 10%)。
学习率试过 1e-5、2e-5、5e-5,batch size 16/32 都试了,没用。
补充:数据是外接的,标签做了映射,vocab 用的是 bert-base-chinese。
先检查标签映射是否错位!我遇到过 label2id 每次随机初始化导致标签对不上,loss 正好是 ln(10) ≈ 2.303。你这个 2.3 太可疑了。
卧槽,真的是这个问题!我在 Dataset 里每次都调用了 {k: i for i, k in enumerate(set(labels))},set 顺序不稳定导致 train/eval 映射不一致。已解决,感谢!
哈哈,2.3 = ln(10) 是判断模型完全没学到东西的经典信号,记住这个数字。