英文

ELECTRA: 将预训练的文本编码器作为判别器而不是生成器

ELECTRA 是一种新的自监督语言表示学习方法。它可以使用相对较少的计算资源来预训练Transformer网络。ELECTRA模型被训练用于区分“真实”输入标记与另一个神经网络生成的“虚假”输入标记,类似于 GAN 的判别器。在小规模上,即使在单个GPU上进行训练,ELECTRA也能取得较好的结果。在大规模上,ELECTRA在 SQuAD 2.0 数据集上达到了最先进的结果。

有关详细描述和实验结果,请参阅我们的论文 ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators .

此存储库包含了用于预训练ELECTRA的代码,包括单个GPU上的小型ELECTRA模型。它还支持在下游任务中微调ELECTRA,包括分类任务(例如 GLUE ),问答任务(例如 SQuAD )和序列标记任务(例如 text chunking )。

在 transformers 中使用生成器的方法

from transformers import pipeline

fill_mask = pipeline(
    "fill-mask",
    model="google/electra-base-generator",
    tokenizer="google/electra-base-generator"
)

print(
    fill_mask(f"HuggingFace is creating a {fill_mask.tokenizer.mask_token} that the community uses to solve NLP tasks.")
)