---
library_name: pytorch
tags:
- causal-lm
- transformer
- gqa
- rope
- byte-level-bpe
- russian
- dl-course
---
# DL Course HW13
**Финальная модель**
`PyTorch` · `Transformer` · `GQA` · `RoPE` · `Byte-level BPE` · `Russian LM`
---
## Кратко
В этом репозитории сохранена итоговая модель
Финальной выбрана конфигурация **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** |
Краткий вывод по экспериментам
RoPE оказался полезным улучшением для small + GQA модели: validation loss снизился с `2.5650` до `2.4695`, а perplexity - с `13.00` до `11.82`.
MLA + RoPE тоже был протестирован, но в данной постановке small + GQA + RoPE оказался лучше по итоговым метрикам.