Add model card
Browse files
README.md
CHANGED
|
@@ -1,10 +1,92 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
tags:
|
| 3 |
-
-
|
| 4 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
---
|
| 6 |
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
language:
|
| 3 |
+
- ru
|
| 4 |
+
datasets:
|
| 5 |
+
- IgorVolochay/russian_jokes
|
| 6 |
tags:
|
| 7 |
+
- causal-lm
|
| 8 |
+
- text-generation
|
| 9 |
+
- transformer
|
| 10 |
+
- byte-level-bpe
|
| 11 |
+
- pytorch
|
| 12 |
+
pipeline_tag: text-generation
|
| 13 |
---
|
| 14 |
|
| 15 |
+
# Russian Jokes Causal LM
|
| 16 |
+
|
| 17 |
+
Небольшая causal language model для генерации коротких русских анекдотов.
|
| 18 |
+
Модель обучалась в рамках домашнего задания по LLM на датасете `IgorVolochay/russian_jokes`.
|
| 19 |
+
|
| 20 |
+
## Model description
|
| 21 |
+
|
| 22 |
+
Финальная версия модели — `small`-конфиг decoder-only Transformer.
|
| 23 |
+
|
| 24 |
+
Основные параметры:
|
| 25 |
+
|
| 26 |
+
| Параметр | Значение |
|
| 27 |
+
|---|---:|
|
| 28 |
+
| n_layer | 12 |
|
| 29 |
+
| n_head | 12 |
|
| 30 |
+
| n_kv_head | 6 |
|
| 31 |
+
| hidden_dim | 768 |
|
| 32 |
+
| intermediate_dim | 2048 |
|
| 33 |
+
| vocab_size | 1024 |
|
| 34 |
+
| max_seq_len | 128 |
|
| 35 |
+
| parameters | 79.45M |
|
| 36 |
+
|
| 37 |
+
В модели используются RMSNorm, Grouped-Query Attention, ALiBi positional bias и SwiGLU feed-forward block.
|
| 38 |
+
|
| 39 |
+
## Training data
|
| 40 |
+
|
| 41 |
+
Модель обучалась на датасете русских анекдотов `IgorVolochay/russian_jokes`.
|
| 42 |
+
|
| 43 |
+
Для токенизации использовался byte-level BPE токенизатор со словарем на 1024 токена.
|
| 44 |
+
Данные были разделены на train/test в пропорции 90/10.
|
| 45 |
+
|
| 46 |
+
## Result
|
| 47 |
+
|
| 48 |
+
Validation loss финальной `small`-модели: **2.462**.
|
| 49 |
+
|
| 50 |
+
По генерациям модель уже улавливает форму анекдота: короткие заходы, диалоги, типичных персонажей и общий стиль датасета. При этом она не всегда сохраняет смысл до конца, поэтому качество скорее на уровне “похоже на анекдот”, чем “стабильно смешной анекдот”.
|
| 51 |
+
|
| 52 |
+
## Examples
|
| 53 |
+
|
| 54 |
+
### Prompt
|
| 55 |
+
|
| 56 |
+
```text
|
| 57 |
+
Заходит в бар
|
| 58 |
+
```
|
| 59 |
+
|
| 60 |
+
### Generated text
|
| 61 |
+
|
| 62 |
+
```text
|
| 63 |
+
Заходит в бар мужик в бар и видит, что на барабане лежит пиво. - Слышь, баран, а как же я тебе это сделаю? - А что же ты говоришь, дорогая? - Да, этот месяц назад я вчера встретила его с друзьями в баре. - А ты что, дура? - Нет, дорогой, это я не пьяная. - А я, наверное, не пьяная, этот барабанщик!
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
### Prompt
|
| 67 |
+
|
| 68 |
+
```text
|
| 69 |
+
Штирлиц пришел домой
|
| 70 |
+
```
|
| 71 |
+
|
| 72 |
+
### Generated text
|
| 73 |
+
|
| 74 |
+
```text
|
| 75 |
+
Штирлиц пришел домой и увидел, как на ней женился. Видит - стоит маленький мальчик и говорит:- Папа, а ты знаешь, что такое квартира, когда у меня есть дети?- А ты что, малыш?- Да, папа! Я сейчас на работу вижу, что ты маленький, а ты мне говоришь: "Вот и в кого ты дура!".
|
| 76 |
+
```
|
| 77 |
+
|
| 78 |
+
### Prompt
|
| 79 |
+
|
| 80 |
+
```text
|
| 81 |
+
Однажды Вовочка
|
| 82 |
+
```
|
| 83 |
+
|
| 84 |
+
### Generated text
|
| 85 |
+
|
| 86 |
+
```text
|
| 87 |
+
Однажды Вовочка с сыном в школе в детском саду садилась на кровати. Сын спрашивает:- Папа, а почему у тебя такие большие глаза?- Потому что у меня есть мама.- И что ты делаешь?- А у меня мать сына на ушах!
|
| 88 |
+
```
|
| 89 |
+
|
| 90 |
+
## Limitations
|
| 91 |
+
|
| 92 |
+
Модель маленькая и обучалась в учебных условиях, поэтому она часто хорошо воспроизводит стиль и структуру анекдотов, но не всегда строит логичную концовку. Основные проблемы — слабый панчлайн, повторы и потеря связности в более длинных генерациях.
|