--- 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 оказался лучше по итоговым метрикам.