
摘要
掩码语言建模(Masked Language Modeling, MLM)类预训练方法(如BERT)通过将输入中的部分标记替换为[MASK]标记来破坏输入,随后训练模型以重建原始标记。尽管这类方法在迁移到下游自然语言处理任务时表现优异,但通常需要大量计算资源才能达到良好效果。作为替代方案,我们提出了一种更具样本效率的预训练任务——被替换标记检测(Replaced Token Detection)。与掩码输入不同,我们的方法通过从一个小型生成网络中采样合理的替代词来破坏输入,替换其中的部分标记。随后,我们不训练模型预测被破坏标记的原始身份,而是训练一个判别模型,判断输入中每个标记是否被生成网络采样的词所替换。大量实验表明,该新预训练任务比MLM更具效率,因为其任务定义覆盖所有输入标记,而不仅仅是被掩码的少数标记。因此,在相同模型规模、数据量和计算资源条件下,我们方法所学习到的上下文表示性能显著优于BERT。尤其在小模型上,性能提升尤为明显:我们仅使用单张GPU训练4天所得到的模型,在GLUE自然语言理解基准测试中,其表现已超过GPT(后者使用了30倍于我们的计算资源)。此外,该方法在大规模场景下同样表现优异,在计算资源低于RoBERTa和XLNet四分之一的情况下,性能可与之相当;而在使用相同计算资源时,甚至超越它们。
代码仓库
stefan-it/europeana-bert
tf
GitHub 中提及
rwbfd/OpenCompetitionV2
pytorch
GitHub 中提及
huggingface/transformers
pytorch
GitHub 中提及
gregdurrett/nlp-qa-finalproj
pytorch
GitHub 中提及
lucidrains/electra-pytorch
pytorch
GitHub 中提及
jbeno/sentiment
pytorch
GitHub 中提及
richarddwang/electra_pytorch
pytorch
GitHub 中提及
bcaitech1/p2-klue-Heeseok-Jeong
pytorch
GitHub 中提及
okanvk/ENELPI---Soru-Cevap-Sistemi
pytorch
GitHub 中提及
YChen1993/ELECRec
pytorch
GitHub 中提及
facebookresearch/multihop_dense_retrieval
pytorch
GitHub 中提及
okanvk/Turkish-Reading-Comprehension-Question-Answering-Dataset
pytorch
GitHub 中提及
smallbenchnlp/ELECTRA-DeBERTa
pytorch
GitHub 中提及
MalteHB/-l-ctra
tf
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| question-answering-on-quora-question-pairs | ELECTRA | Accuracy: 90.1% |
| sentiment-analysis-on-sst-2-binary | ELECTRA | Accuracy: 96.9 |