File size: 5,106 Bytes
8557934 a9fa7a1 8557934 a9fa7a1 8557934 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec a9fa7a1 7362bec | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | ---
library_name: pytorch
tags:
- causal-lm
- transformer
- gqa
- rope
- byte-level-bpe
- russian
- dl-course
---
<div align="center">
# DL Course HW13
**Финальная модель**
`PyTorch` · `Transformer` · `GQA` · `RoPE` · `Byte-level BPE` · `Russian LM`
</div>
---
## Кратко
В этом репозитории сохранена итоговая модель
Финальной выбрана конфигурация **small + GQA + RoPE**, потому что она показала лучшее качество среди всех проведённых экспериментов по двум основным метрикам:
| Метрика | Значение |
|---|---:|
| Validation loss | **2.4695** |
| Perplexity | **11.82** |
---
## Финальная модель
Основные компоненты:
| Компонент | Использованный вариант |
|---|---|
| Архитектура | Decoder-only Transformer |
| Attention | Grouped-Query Attention |
| Позиционные эмбеддинги | Rotary Positional Embeddings |
| Нормализация | RMSNorm |
| Feed-forward блок | SwiGLU |
| Токенизатор | Byte-level BPE |
---
## Сравнение экспериментов
| № | Эксперимент | Validation loss | Perplexity |
|---:|---|---:|---:|
| 1 | small + GQA baseline | 2.5650 | 13.00 |
| 2 | **small + GQA + RoPE** | **2.4695** | **11.82** |
| 3 | mini + MLA + RoPE | 2.7306 | 15.34 |
| 4 | small + MLA + RoPE | 2.4905 | 12.07 |
Лучший результат получила модель **small + GQA + RoPE**.
---
## Примеры генерации
Параметры генерации:
| Параметр | Значение |
|---|---:|
| max_new_tokens | 200 |
| temperature | 0.8 |
| top_k | 30 |
| do_sample | true |
| seed | 42 |
### Пример 1
**Prompt**
```text
Штирлиц пришел домой
```
**Generated text**
```text
Штирлиц пришел домой - весь вечер подумал, что у неё украли.
```
### Пример 2
**Prompt**
```text
Вовочка на уроке
```
**Generated text**
```text
Вовочка на уроке русского языка учится на букву ``К`` и
белый, и с чистой.
Девочка:
- Папа, пап, сегодня вечером папа пришел в школу,
да! И так! Уже в школе!
Мать:
- А я, мама, не понял...
```
### Пример 3
**Prompt**
```text
Заходит в бар
```
**Generated text**
```text
Заходит в бар в ларьку и видит, что держится на площади стекла. А доктор ему и сказал:- Доктор, у меня болит голова и рот пить не налил.Врач подумал и говорит:- Или у меня хлещет?И, встала с кровати:- Нет, просто у меня на характере нет...
```
### Пример 4
**Prompt**
```text
Однажды студент
```
**Generated text**
```text
Однажды студент пришел к врачу и рассказывает ему:
— Доктор, помогите, я выйду на него замуж!
— А что вы делаете?!
— Ну вот, папа, папаша, иду по парку и говорю: «Знаю
— А вы сегодня опять плохо приготовили» — подумал Штирлиц. И вот, значит, в темном классе
— Ну, это не хуйня, и он меня тоже.
```
## Файлы репозитория
| Файл | Назначение |
|---|---|
| `model.safetensors` | веса финальной модели |
| `config.json` | конфигурация модели |
| `vocabulary.json` | словарь токенизатора |
| `merges.json` | merge-файл токенизатора |
| `metrics.json` | метрики всех экспериментов |
| `eval_results.json` | финальные eval-метрики |
| `generation_samples.json` | примеры генерации в JSON |
| `generation_samples.md` | примеры генерации в Markdown |
---
## Итог
Финальная модель - **small + GQA + RoPE**.
Она стала лучшей и показала следующие финальные значения:
| Финальная метрика | Значение |
|---|---:|
| Validation loss | **2.4695** |
| Perplexity | **11.82** |
<details>
<summary>Краткий вывод по экспериментам</summary>
RoPE оказался полезным улучшением для small + GQA модели: validation loss снизился с `2.5650` до `2.4695`, а perplexity - с `13.00` до `11.82`.
MLA + RoPE тоже был протестирован, но в данной постановке small + GQA + RoPE оказался лучше по итоговым метрикам.
</details> |