1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/modelee-electra-base-discriminator

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 24.11.2024 14:55 c495976

ELECTRA: Предварительное обучение кодировщиков текста в качестве дискриминаторов, а не генераторов

ELECTRA — это новый метод обучения представлению языка без учителя. Его можно использовать для предварительного обучения сетей-трансформеров с относительно небольшими вычислительными затратами. Модели ELECTRA обучаются отличать «реальные» входные токены от «поддельных» входных токенов, сгенерированных другой нейронной сетью, подобно дискриминатору GAN. В небольших масштабах ELECTRA достигает хороших результатов даже при обучении на одном GPU. В больших масштабах ELECTRA показывает лучшие результаты на наборе данных SQuAD 2.0.

Для подробного описания и экспериментальных результатов см. нашу статью ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators.

В этом репозитории содержится код для предварительного обучения ELECTRA, включая небольшие модели ELECTRA на одном графическом процессоре. Он также поддерживает точную настройку ELECTRA для последующих задач, включая задачи классификации (например, GLUE), задачи QA (например, SQuAD) и задачи тегирования последовательностей (например, разбиение текста на фрагменты).

Как использовать дискриминатор в transformers

from transformers import ElectraForPreTraining, ElectraTokenizerFast
import torch

discriminator = ElectraForPreTraining.from_pretrained("google/electra-base-discriminator")
tokenizer = ElectraTokenizerFast.from_pretrained("google/electra-base-discriminator")

sentence = "The quick brown fox jumps over the lazy dog"
fake_sentence = "The quick brown fox fake over the lazy dog"

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[0]) + 1) / 2)

[print("%7s" % token, end="") for token in fake_tokens]

[print("%7s" % int(prediction), end="") for prediction in predictions.tolist()]

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/modelee-electra-base-discriminator.git
git@api.gitlife.ru:oschina-mirror/modelee-electra-base-discriminator.git
oschina-mirror
modelee-electra-base-discriminator
modelee-electra-base-discriminator
main