
摘要
BERT 在预训练中采用了掩码语言模型(Masked Language Modeling, MLM),并成为最成功的预训练模型之一。由于 BERT 忽略了预测标记之间的依赖关系,XLNet 引入了排列语言模型(Permuted Language Modeling, PLM)进行预训练以解决这一问题。然而,XLNet 并未充分利用句子的全部位置信息,因此在预训练和微调之间存在位置差异。在本文中,我们提出了一种新的预训练方法——MPNet,该方法继承了 BERT 和 XLNet 的优点,并避免了它们的局限性。MPNet 通过排列语言模型(与 BERT 中的 MLM 相比)利用了预测标记之间的依赖关系,并将辅助位置信息作为输入,使模型能够看到完整的句子,从而减少了位置差异(与 XLNet 中的 PLM 相比)。我们在大规模数据集(超过 160GB 的文本语料库)上对 MPNet 进行了预训练,并在多种下游任务(如 GLUE、SQuAD 等)上进行了微调。实验结果表明,MPNet 在性能上大幅超越了 MLM 和 PLM,并且在相同模型设置下,相比之前的最先进的预训练方法(例如 BERT、XLNet、RoBERTa)取得了更好的结果。代码和预训练模型可在以下地址获取:https://github.com/microsoft/MPNet。
代码仓库
JunnYu/paddle-mpnet
paddle
microsoft/MPNet
官方
pytorch
GitHub 中提及
michael-wzhu/mpnet_zh
pytorch
GitHub 中提及
huggingface/transformers
pytorch
GitHub 中提及
pwc-1/Paper-9/tree/main/2/mpnet
mindspore
microsoft/MASS
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| task-1-grouping-on-ocw | all-mpnet (BASE) | Wasserstein Distance (WD): 86.3 ± .4 # Correct Groups: 50 ± 4 # Solved Walls: 0 ± 0 Adjusted Mutual Information (AMI): 14.3 ± .5 Adjusted Rand Index (ARI): 11.7 ± .4 Fowlkes Mallows Score (FMS): 29.4 ± .3 |