在我们大学的研究小组,我们已经为葡萄牙语进行了RoBERTa模式的预培训,同时也是基于RoBERTa的一个特定领域的模式。我们一直在使用拥抱脸变压器库进行一系列基准测试,RoBERTa模型对于几乎所有数据集和任务的性能都优于现有葡萄牙BERT模型。
我们关注的任务之一是NER,而且由于AllenNLP支持基于CRF的NER模型,我们期待着通过这些新的RoBERTa模型与AllenNLP的crf_tagger相结合,看看我们是否会得到更大的改进。我们使用与伯特相同的jsonnet配置,只切换到RoBERTa,并对一些超级参数进行网格搜索以寻找最佳模型。我们使用3种不同的种子测试了超参数,如重量衰减和学习速率(对于huggingface_adamw优化器)和退出(对于crf_tagger)。令我们惊讶的是,RoBERTa模型并没有得到比现有的BERT模型更好的结果,后者与使用变压器的实验相矛盾。它甚至不是一个平手,伯特模型要好得多(90.43%的最佳伯特x 89.27%的最佳RoBERTa)。
这让我们怀疑AllenNLP可能以某种方式偏向于伯特,然后我们决定为使用变压器和AllenNLP的NER运行一个英语标准基准(CoNLL 2003),结果我们得到了这种怀疑。对于AllenNLP,我们运行网格搜索,保持精确的jsonnet配置,只改变学习速率(从8e-6更改到7e-5)、学习速率调度器(slanted_triangular和linear_with_warmup分别占升温步骤的10%和3% )和模型(伯特-基-大小写和罗伯塔-基)。AllenNLP的结果是令人惊讶的:绝对所有的模型都比所有的罗伯塔基模型都要好(测试集最佳BERT为91.65%,最佳RoBERTa为90.63%)。
对于变压器,我们做了几乎相同的事情,除了我们没有改变学习速率调度,我们保持默认的一个,它是线性的热身,使用10%的热身率。我们测试了相同的学习率,并应用了3种不同的种子。变压器的结果正好相反:所有罗伯塔基模型都优于所有基于伯特基的模型(测试组最佳RoBERTa为92.46%,最佳BERT为91.58%)。
在AllenNLP框架中,是否有什么东西可以使这些经过训练的NER模型偏向于BERT,而在RoBERTa方面表现不佳呢?我们从哪里开始寻找可能的问题?看起来不像一个超参数问题,因为到目前为止,我们测试了这么多使用网格搜索的组合。
谢谢!
发布于 2022-08-19 17:41:07
如果模型偏倚行为确实存在,我预计它会出现在转换器相关模块的实现中,即。PretrainedTransformerIndexer、PretrainedTransformerTokenizer、PretrainedTransformerEmbedder等。
可能值得检查RoBERTa的特殊令牌(即<s>、</s>、<pad>、<unk>和<mask>)是否正在使用。我的理解是AllenNLP 试图推断这些,但是如果这个推理过程失败了,那么就有可能标记器将使用另一个模型的特殊标记来准备序列,例如[CLS]而不是<s>等等。
https://stackoverflow.com/questions/73310991
复制相似问题