/ Модель

Характеристики

Контекст
1 024 токена
Лицензия
Apache 2.0
Архитектура
gpt2 · dense

gpt2-turkish-writer

Генерация текстаТекст → текст3 профессии

Дообученная GPT-2, которая продолжает и генерирует турецкий текст на основе Википедии и классической литературы.

109скачиваний за 30 дней11лайковвеса обновлены22 сен 2021

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

gorkemgoknar/gpt2-turkish-writer — дообученная автором модель GPT-2 для генерации текста на турецком языке. В основе лежит gpt2-small-turkish; при дообучении использовались статьи турецкой Википедии и более 400 классических романов и пьес на турецком языке. Для адаптации к языку обучались последние три слоя модели.

Модель предназначена для продолжения заданного текста и генерации последовательностей на турецком языке, в том числе в стиле литературных текстов. Она использует архитектуру GPT2LMHeadModel, поддерживает контекст до 1024 токенов и опубликована в форматах PyTorch и Flax. В карточке приведены результаты оценки: точность 36,3% и perplexity 44,75.

Автор предупреждает, что обучающие данные содержат неотфильтрованный контент из интернета и могут быть необъективными; в генерациях также могут появляться заголовки глав и номера страниц. Модель обозначена как работа в процессе разработки. Лицензия — Apache-2.0.

Сценарии применения

  • продолжение прозы на турецком языке
  • создание черновиков художественного текста на турецком
  • генерация текста в стиле классической турецкой литературы

Ограничения

Модель может воспроизводить необъективный или неотфильтрованный контент из обучающих данных; иногда в генерации попадают заголовки глав и номера страниц. Автор характеризует её как работу в процессе разработки.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Turkish AI Writer based on GPT2-Small

Türkçe Yapay Zeka Yazarı

Model description

This model is enhanced version of gpt2-small-turkish finetuned version. In addition to 28-10-2020 Wikipedia Turkish article dump this model is trained with more than 400 classic novels and plays in Turkish (Including Dostoyevski, Shaekspeare, Dumas)

Base work has been done on Pierre Guillou tutorial as on this page. (https://github.com/piegu/fastai-projects/blob/master/finetuning-English-GPT2-any-language-Portuguese-HuggingFace-fastaiv2.ipynb)

Note that Since Turkish language is not close to English as in Porteguese instead of training last 2 layers, last 3 layers are trained.

Code is converted to work with Fastai 2.X . Using Google Colab for training.

Current accuracy 36.3 % , Perplexity : 44.75

Demo (using CPU inference) is available on: http://www.metayazar.com

Models are available:

Intended uses & limitations

How to use

Install

from transformers import AutoTokenizer, AutoModelWithLMHead
import torch

tokenizer = AutoTokenizer.from_pretrained("gorkemgoknar/gpt2-turkish-writer")
model = AutoModelWithLMHead.from_pretrained("gorkemgoknar/gpt2-turkish-writer")

# Get sequence length max of 1024
tokenizer.model_max_length=1024 

model.eval()  # disable dropout (or leave in train mode to finetune)

Generate 1 word

# input sequence
text = "Bu yazıyı bilgisayar yazdı."
inputs = tokenizer(text, return_tensors="pt") 

# model output
outputs = model(**inputs, labels=inputs["input_ids"])
loss, logits = outputs[:2]
predicted_index = torch.argmax(logits[0, -1, :]).item()
predicted_text = tokenizer.decode([predicted_index])

# results
print('input text:', text)
print('predicted text:', predicted_text)

# input text: 
# predicted text:  

Generate Full Sequence

# input sequence
text = "Bu yazıyı bilgisayar yazdı."
inputs = tokenizer(text, return_tensors="pt")

# model output using Top-k sampling text generation method
sample_outputs = model.generate(inputs.input_ids,
                                pad_token_id=50256,
                                do_sample=True, 
                                max_length=50, # put the token number you want
                                top_k=40,
                                num_return_sequences=1)

# generated sequence
for i, sample_output in enumerate(sample_outputs):
    print(">> Generated text {}\n\n{}".format(i+1, tokenizer.decode(sample_output.tolist())))

# >> Generated text
#    

Limitations and bias

The training data used for this model come from Turkish Wikipedia and books. We know it contains a lot of unfiltered content from the internet, which is far from neutral. Also not much pre-processing was done on books hence chapter names and page numbers can be seen on some cases. This is a work in progress.

Training data

Wikipedia Turkish article dump as of 28-10-2020 Turkish book dataset of >400 classic novels

Training procedure

Eval results

epochtrain_lossvalid_lossaccuracyperplexitytime
04.4978284.5496050.27732894.5950702:09:58
14.5039294.5194560.27507191.7856452:04:30
23.6127163.9211460.34480250.4582562:03:22
33.7776454.0720060.32613058.6745301:56:14
42.9344623.8013030.36371944.7594761:58:55

Note: 1cycle rule training is used and epochs are at different times

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
GPT2LMHeadModel
Ревизия весов
214c737

0 моделей