ELECTRA is a new method for self-supervised language representation learning. It can be used to pre-train transformer networks using relatively little compute. ELECTRA models are trained to distinguish "real" input tokens vs "fake" input tokens generated by another neural network, similar to the discriminator of a
GAN. At small scale, ELECTRA achieves strong results even when trained on a single GPU. At large scale, ELECTRA achieves state-of-the-art results on the
SQuAD 2.0 dataset.
For a detailed description and experimental results, please refer to our paper
ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators.
This repository contains code to pre-train ELECTRA, including small ELECTRA models on a single GPU. It also supports fine-tuning ELECTRA on downstream tasks including classification tasks (e.g,.
GLUE), QA tasks (e.g.,
SQuAD), and sequence tagging tasks (e.g.,
text chunking).
1from transformers import pipeline
2
3fill_mask = pipeline(
4 "fill-mask",
5 model="google/electra-base-generator",
6 tokenizer="google/electra-base-generator"
7)
8
9print(
10 fill_mask(f"HuggingFace is creating a {fill_mask.tokenizer.mask_token} that the community uses to solve NLP tasks.")
11)
12