Russian Jokes Transformer (HSE Course HW1)

Описание задачи

Модель разработана в рамках курса Large Language Models (HSE).
Задача — генерация коротких анекдотов на русском языке.

Архитектура реализована с нуля и включает:

  • Byte-Level BPE токенизатор (vocab = 2048)
  • Transformer с ALiBi positional encoding, Grouped-Query Attention (GQA) и SwiGLU
  • RMSNorm, dropout, label smoothing
  • Максимальная длина контекста: 128 токенов

Технические характеристики

Параметр Значение
Количество слоёв 6
Количество голов внимания 6
Размер скрытого слоя 384
Размер промежуточного слоя 1024
Количество параметров ≈3.1M
Размер словаря 2049 (включая [EOS] и [PAD])

Проблемы на начальных этапах экспериментов

  • В начале работы я реализовала Byte-Level BPE токенизатор и трансформер по заданию. Модель успешно обучалась и выдавала текст при генерации, но первое время результат выглядел так: Вход: Заходит в бар

    Заходит в барXалоалоалоалокукукукуатьсяатьсяатьсяатьсякукукуышышышышививививальальальальегегегег говор говор говор говормермермермерявявявяв уб уб уб уб пл пл пл плррррТТТТистистистистийийийийникникникник тр тр тр трочочочочучучучучешешешешнойнойнойной............oooossssmmmmsss Он Он Он ОнУУУУ)

То есть текст состоял из повторяющихся слогов и не имел смысла.

  • Также на ранних этапах экспериментов график функции потерь (loss) показывал нестабильное поведение: значения сильно колебались

Основные улучшения по сравнению с базовой реализацией

  • Добавлен токен [PAD] и корректная attention mask
  • Введён label smoothing для стабилизации обучения
  • Реализовано объединение коротких анекдотов (packing) для уменьшения доли паддингов
  • Увеличен словарь токенизатора до 2048 элементов
  • Настроены параметры генерации (temperature=0.7, top_k=100, top_p=0.95, repetition_penalty=1.2)

Качество обучения

Метрика Значение
Train Loss ~0.59
Validation Loss ~0.62
Средняя длина последовательности ~63 токена
Минимальная длина последовательности 5
Максимальная длина последовательности 2883

График функции потерь показывает устойчивое снижение значения loss и стабилизацию на уровне ≈0.6 после нескольких эпох.
Разница между train и validation loss минимальна, что указывает на отсутствие переобучения и корректную настройку гиперпараметров.

Примеры генерации

Вход: Заходит в бар
Результат:

Заходит в барерксьескr должен�Ну вол встречного�ятся мнойаша ВотСт муж нам МужПос весь тебе этиеньк нет Ты работуностилаговал Д акиешись суд Когдарачлед берыI машp газГ американ pрат себ�альный бутчаст=�ющ2 Нет пив котиваетегодняестьском одну Москром самПр значит женаjящ Кто от�итель дер врем как авзастд зад Првалтр ряд лежниб Потому женщиныуля быть Об телеф Ой делоетеине тебаксVлеуд предлож держ приш хорошо вот доб лучстигр собак внейчас� бо?аботров дет уж черезухонч проп кто&ьеогда новыйуютиласьера К иск умерключ хочеткрасп обрат алсь меняывgрыотор штак 2 куда% снимык Здаласьний� апыран расиент тоже второй во� э я негоенииги нее Если опится Все�ании тр какчитель соверш хочуаяеспелен од нес маматом прик

Вход: Штирлиц
Результат:

Штирлиц росс почемуивать мальчик комнЕсли оченьырnстроитан� выход Инвер�ию вер� Аналмыствен усл главоварищ косерез всех стоит� прич душ есть Нет потомуутускh Еуп ув� ли пришив нееожЗа дол сразу согино Не открслког.-орош былиф развикуитан начин домаести прив мужч выд родит одинУ членовойататак аки�Жол док дом никто вашцетоящебоду делеpм осрастBентЕсли самалуйстарен зуб всюией?- Вамыбразуогычлаг моей подходит� без Изажеяхота мне- жену белкий женыоном вам остановjшаенькаайте Мского[PAD] богх помодава кор имрам никогда Ктотьогдачноной� сто Толькоран страшш телев заг сделша Конечноства ок -jомниль ш любЛуйте ответманHычась сред выситан� бограф Если ничего� пред исп наведоментлич съельзяники заним+аясь куда:- да�

Модель обучалась на 10 000 шагах; дальнейшее дообучение улучшает качество генерации и связность текста.

Вывод

Модель уже научилась подражать структуре анекдотов и распознаёт типичные шаблоны, но из-за малого размера и ограниченного словаря пока не способна генерировать грамматически правильный и связный русский текст.

Автор

Студент: Екатерина Степура

Высшая школа экономики, курс Large Language Models, 2025

Downloads last month
33
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train estepr/llm-course-hw1