z814081807/DeepNER

训练精度的问题

so-coolboy opened this issue · 4 comments

首先感谢作者大佬开源这么好的模型架构,但是我在实验自己做过的一份数据集时,出现了一些问题,我在这份数据集上之前用bert4keras,使用Nezha+crf可以做到68的F1,这里使用本架构中的robert-wwm+crf只做到了62的F1,我仔细对比了我的数据集格式和架构中的数据集格式,包括标签命名和对应,但还是找不到问题所在,据我所知,roberta和Nezha应该不会造成这么大的区别,我采取的BIO标注和本架构的BIES标注也应该不会造成这么大差距,包括我第一次运行代码时,也出现了损失先下降后急速上升的情况,在将学习都变小之后,这种情况消失了,但是效果还是不好,因为我对此了解不够深,还是希望能请教一下,大佬您觉得可能会有哪一部分的影响导致效果不好呢?如果大佬您还有想问的细节可以加我的微信:xckkcxxck,十分希望能指导一下,🙏谢谢

首先感谢作者大佬开源这么好的模型架构,但是我在实验自己做过的一份数据集时,出现了一些问题,我在这份数据集上之前用bert4keras,使用Nezha+crf可以做到68的F1,这里使用本架构中的robert-wwm+crf只做到了62的F1,我仔细对比了我的数据集格式和架构中的数据集格式,包括标签命名和对应,但还是找不到问题所在,据我所知,roberta和Nezha应该不会造成这么大的区别,我采取的BIO标注和本架构的BIES标注也应该不会造成这么大差距,包括我第一次运行代码时,也出现了损失先下降后急速上升的情况,在将学习都变小之后,这种情况消失了,但是效果还是不好,因为我对此了解不够深,还是希望能请教一下,大佬您觉得可能会有哪一部分的影响导致效果不好呢?如果大佬您还有想问的细节可以加我的微信:xckkcxxck,十分希望能指导一下,🙏谢谢

我之前也用过bert4keras打这个比赛,是没有这个效果好的。你仔细对比一下训练集验证集是否一致,数据处理过程是否有问题(打印出来看一下或者debug),还有评价方法是否一致(实体级别的微平均)。如果都没问题,那可能是依赖库的版本问题。

首先感谢作者大佬开源这么好的模型架构,但是我在实验自己做过的一份数据集时,出现了一些问题,我在这份数据集上之前用bert4keras,使用Nezha+crf可以做到68的F1,这里使用本架构中的robert-wwm+crf只做到了62的F1,我仔细对比了我的数据集格式和架构中的数据集格式,包括标签命名和对应,但还是找不到问题所在,据我所知,roberta和Nezha应该不会造成这么大的区别,我采取的BIO标注和本架构的BIES标注也应该不会造成这么大差距,包括我第一次运行代码时,也出现了损失先下降后急速上升的情况,在将学习都变小之后,这种情况消失了,但是效果还是不好,因为我对此了解不够深,还是希望能请教一下,大佬您觉得可能会有哪一部分的影响导致效果不好呢?如果大佬您还有想问的细节可以加我的微信:xckkcxxck,十分希望能指导一下,🙏谢谢

我之前也用过bert4keras打这个比赛,是没有这个效果好的。你仔细对比一下训练集验证集是否一致,数据处理过程是否有问题(打印出来看一下或者debug),还有评价方法是否一致(实体级别的微平均)。如果都没问题,那可能是依赖库的版本问题。

是的,我再次检查了一遍,确信数据处理成和框架中的数据一样的格式,这之后应该可以直接运行bash run.sh得到结果,评价方法上的差异我也仔细研读了,之前说的F1值也是线上提交得到的,依赖库差距是只有pytorch安装的是1.8.1版本,因为DeepNer得到的预测结果并不是完全不可信,只是相比于另一套方案跑了跑,有些差距,所以我认为可能是我参数调整的问题,因此有这个疑问,两套方案我也都是只跑了单模型,没有做交叉验证

首先感谢作者大佬开源这么好的模型架构,但是我在实验自己做过的一份数据集时,出现了一些问题,我在这份数据集上之前用bert4keras,使用Nezha+crf可以做到68的F1,这里使用本架构中的robert-wwm+crf只做到了62的F1,我仔细对比了我的数据集格式和架构中的数据集格式,包括标签命名和对应,但还是找不到问题所在,据我所知,roberta和Nezha应该不会造成这么大的区别,我采取的BIO标注和本架构的BIES标注也应该不会造成这么大差距,包括我第一次运行代码时,也出现了损失先下降后急速上升的情况,在将学习都变小之后,这种情况消失了,但是效果还是不好,因为我对此了解不够深,还是希望能请教一下,大佬您觉得可能会有哪一部分的影响导致效果不好呢?如果大佬您还有想问的细节可以加我的微信:xckkcxxck,十分希望能指导一下,🙏谢谢

我之前也用过bert4keras打这个比赛,是没有这个效果好的。你仔细对比一下训练集验证集是否一致,数据处理过程是否有问题(打印出来看一下或者debug),还有评价方法是否一致(实体级别的微平均)。如果都没问题,那可能是依赖库的版本问题。

是的,我再次检查了一遍,确信数据处理成和框架中的数据一样的格式,这之后应该可以直接运行bash run.sh得到结果,评价方法上的差异我也仔细研读了,之前说的F1值也是线上提交得到的,依赖库差距是只有pytorch安装的是1.8.1版本,因为DeepNer得到的预测结果并不是完全不可信,只是相比于另一套方案跑了跑,有些差距,所以我认为可能是我参数调整的问题,因此有这个疑问,两套方案我也都是只跑了单模型,没有做交叉验证

换成roberta-large试试

谢谢大佬,已经找到原因了,是我标注不全面导致的