1

据我了解,Huggingface库实现的 RoBERTa 模型使用了BPE分词器。这是文档的链接:

RoBERTa 具有与 BERT 相同的架构,但使用字节级 BPE 作为标记器(与 GPT-2 相同)并使用不同的预训练方案

但是,我有一个基于WordPiece标记化的自定义标记器,并且我使用了BertTokenizer

因为我的自定义标记器与我的任务更相关,所以我不喜欢使用 BPE。

当我使用我的自定义标记器从头开始预训练 RoBERTa (RobertaForMaskedLM) 时,MLM 任务的损失比 BPE 的损失要好得多。然而,在微调方面,模型(RobertaForSequenceClassification)表现不佳。我几乎可以肯定问题不在于标记器。我想知道 RobertaForSequenceClassification 的拥抱脸库是否与我的标记器不兼容。

有关微调的详细信息:

任务:具有不平衡标签的多标签分类。

时代:20

损失:BCEWithLogitsLoss()

优化器:Adam,weight_decay_rate:0.01,lr:2e-5,correct_bias:True

F1 和 AUC 非常低,因为标签的输出概率与实际标签不符(即使阈值非常低),这意味着模型无法学习任何东西。

*

注意:使用 BPE 分词器进行预训练和微调的 RoBERTa 比使用自定义分词器进行预训练和微调的 RoBERTa 表现更好,尽管使用自定义分词器的 MLM 的损失要好于 BPE。

4

0 回答 0