Skip to content

vlarine/ruGPT2

Repository files navigation

RuGPT2

Russian GPT-2 model

This repository is based on Nvidia GPT-2 realisation from Megatron-LM. And uses YouTokenToMe toketizer.

Pretrain GPT-2 model

  1. Cleanup data and preprocess json:
python3 scripts/cleanup_dataset.py <input_file.txt> <output_file.json>
  1. Preprocess data for training:
python3 scripts/split_gpt2_json.py \
    --input_files <input_file.json> \
    --output_dir <output_dir> \
    --test_percent 0.001 \
  1. Run training:
./scripts/pretrain_gpt2_yttm.sh

Download a pretrained model

Model trained 320K steps on 2x1080Ti with batch size 4.

Trainset is 30G wiki+taiga russian corpus.

------------------------------------------------------------------------------------
 validation loss at iteration 320000 | LM loss: 3.285632E+00 | LM PPL: 2.672587E+01
------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
 validation loss at the end of training for val data | LM loss: 3.306426E+00 | LM PPL: 2.728744E+01
----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
 validation loss at the end of training for test data | LM loss: 3.369688E+00 | LM PPL: 2.906945E+01
-----------------------------------------------------------------------------------------------------

320K steps (4,2G)

Generate text samples

GPT-2 medium

./scripts/generate_text_yttm_file.sh

Generated samples:

Context:Однажды, в студеную зимнюю пору, я

Megatron-LM:как обычно проснулся рано утром, поднялся, оделся, выпил кофе и поехал в университет на трамвае. Как всегда опаздывал, но успел. На остановке стоял парень, лет 10 - 12. Он стоял и смотрел в мою сторону. Мимо проходили девушки и носятся, как угорелые, вокруг. Я смотрел на них, ждал чего то. И вдруг на мгновение я потерял дар речи. Леша стоял и смотрел на меня. Это было что то невероятное, если бы не полное безразличие, это скорее можно было передать про себя, что я занят, уставший и несчастный. Леша, тем временем, стоял и глядел в окно. Я не думал о нем, не знаю как я объяснить то, что " о чем то давно мечтаю ". Я просто смотрел. В его сторону даже ветер стал реже дуть. На остановке было безлюдно. Прошел мимо мальчик, лет 20 - 25 он держал в правой руке портфель по виду не помню какой, и шел домой. Я стоял и ждал когда он остановится и уйдет. Ничего не произошло. Я стоял и думал о чем то ужасно грустном, а Леша спокойно глядел в окно.


Context:От улыбки станет всем светлей. И слону, и даже маленькой

Megatron-LM:зверюшке! Андрюш, это так мило. Ведь это же просто здорово. - И ты думаешь, что это можно сделать. Даже если это невозможно? Компьютер не знает способа, как работает этот интеграл. Он не знает сахара. Сахар нужен - он его всегда доставлял. И масла. Если не можешь, попробуй смазать маслом. Я пробую. Не спеши. Погоди. Тут есть что - то, что просто необходимо. Как ты думаешь, это - просто шутка. Если не хочешь стать реальным, вызывай грузовик. Хорошо, если не даришь Мари. Но она все равно рассчитывает на что - то. Не знаю. Прости. Увидимся в школе. Да, и еще. Смотри, я здесь. Не отвлекайся. Может, когда - то человеку тоже конец? Но пусть это будет началом конца. - Да, конечно. Ты только попробуй. - Хорошо. Ладно. - О, Боже, посмотри, она уже обедает. По - моему, это ты так думаешь. Нет, правда, она не обедает. Нет, я просто. Встретимся. Хорошо. Ладно. Ты сможешь это сделать. Хорошо. Не отвлекаясь. Нет, я не могу. Хорошо, хорошо, хорошо. Я все сделаю. Все, все, все. Увидимся в школе.


Context:С причала рыбачил апостол Андрей, а

Megatron-LM:море плескало белоснежно - белой пеной. Я развалился на большом стуле за спиной, услышав его рассказ об убийствах его родственника Павла, подброшенной мной в Москву книги Фоменко, и не менее величественные суда, бормотали где - нибудь в глубине, а меня там и не было. Я спустил дремавшую рядом рыбу и, взяв лишнюю, показал на дверь, которая осталась приоткрытой. - А у Павла, - сказал я ему, - там, в черном - то озере, когда он убил Павла, и остальная его часть - его голос, показался мне робким и встревоженным. - Ты ошибся, - ответил он. Я подошел к окну и посмотрел, как Антон изображает оттуда в недавнем сне, как Павел с женой едут в метро. Голоса Апраксиных и гостовских. Такой же подъемник. Внизу, на выстраивающейся в самосвале реке - море. Он был жесток, а я вспыльчивый и ехидный. Но море и потом не могло быть спокойным. Сине - золотые волны, по ним размеренно двигался корпус прогулочной внедорожника. Я загляделся на таких. Огромные и хмурые сопки - горные хребты со пятнисто - фиолетовыми снегами. Они словно свисали со своих вершин над морем, охраняя покой во всем мире.

Releases

No releases published

Packages

No packages published