Pretrained ELECTRA Language Model for Korean (
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.
The current version of the model is trained on a financial news data of Naver news.
The final training corpus has a size of 25GB and 2.3B tokens.
This model was trained a cased model on a TITAN RTX for 500k steps.
from transformers import ElectraForPreTraining, ElectraTokenizer import torch discriminator = ElectraForPreTraining.from_pretrained("krevas/finance-koelectra-base-discriminator") tokenizer = ElectraTokenizer.from_pretrained("krevas/finance-koelectra-base-discriminator") sentence = "내일 해당 종목이 대폭 상승할 것이다" fake_sentence = "내일 해당 종목이 맛있게 상승할 것이다" fake_tokens = tokenizer.tokenize(fake_sentence) fake_inputs = tokenizer.encode(fake_sentence, return_tensors="pt") discriminator_outputs = discriminator(fake_inputs) predictions = torch.round((torch.sign(discriminator_outputs) + 1) / 2) [print("%7s" % token, end="") for token in fake_tokens] [print("%7s" % int(prediction), end="") for prediction in predictions.tolist()[1:-1]] print("fake token : %s" % fake_tokens[predictions.tolist()[1:-1].index(1)])
All models are available on the Huggingface model hub.