Transformer LM на анекдотах

Языковые модели, обученные с нуля на русском корпусе анекдотов. Архитектура: ALiBi вместо позиционных эмбеддингов, GQA в attention, SwiGLU в FFN, RMSNorm. Токенизатор: byte-level BPE, словарь 1024.

Задание

Реализовать трансформер с ALiBi, GQA и SwiGLU, обучить токенизатор BPE, обучить модели на датасете анекдотов. Из-за предположения, что анекдоты состоят из довольно шаблонных конструкций, было принято решение в качестве эксперимента сделать переобученную версию модели small для проверки изменения качества генерации.

Модели

Папка Параметры Конфиг Лучший чекпоинт LR Val loss Примечание
nano/ 0.5M 3 слоя, hidden 96 20000 3e-4 3.329 плато
mini/ 10.5M 6 слоёв, hidden 384 30000 3e-4 2.530 лучший val, train/val расходятся
small/ 79.5M 12 слоёв, hidden 768 37000 3e-4 2.376 лучший val, train/val расходятся
small-overfit/ 79.5M 12 слоёв, hidden 768 77000 3e-4 -> 1e-4(Повторные запуски) 2.426 плато

small-overfit был получен повторным запуском обучения small с меньшим lr

Сравнение при одинаковом бюджете шагов

Модель Val loss
nano 3.495
mini 2.707
small 2.445

Сравнение проводилось на этапе 20000 шагов. small-overfit был обучен из small уже после прохождения этого порога, в связи с чем не включён в сравнение.

Опрос (слепое сравнение small и small-overfit)

Опрос 8 человек, 63 пары, одинаковые затравки.

Вопрос Best val Overfit Сложно ответить
Смешнее 13 15 35
Связнее 11 35 17
Больше похож на анекдот 14 26 23

Юмор не различается: тексты, по оценке авторов, одинаково слабо смешные, поэтому опрос не даёт информации по этому вопросу.

Связность у переобученной версии выше. Проверки:

  • Длины: best val в среднем длиннее на ~5% по символам (116 против 111). Голоса по парам с близкой длиной не пересчитывались.
  • Копирование (доля 5-грамм, встречающихся в train): best val 0.049, overfit 0.070, контроль из test 0.073. Признаков запоминания не найдено.

Выборка маленькая, поэтому вывод о связности следует считать предварительным.

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

Модель Затравка Пример генерации
nano Штирлиц Штирлиц серемители на пилще. Отличный пива на гологичник.
nano Шёл медведь по лесу Шёл медведь по лесу приколотал лишнее по более мозга. Послабоием на магазине. - После свадьбы 406 к таблетки и штандейнев? Напрологовский 963 миллионов.
nano Заходит улитка в бар Заходит улитка в бар пальцов к другу:- Вот, что-то на рыбалку?- Да.- Как называют?
mini Штирлиц Штирлиц достал кабинетки в МАС. Штирлиц зацепил письмо, чтобы обратно в столовую и переписал у котлетки.
mini Шёл медведь по лесу Шёл медведь по лесу, встретил её бабку с бодуна.
mini Заходит улитка в бар Заходит улитка в бар и начинает ловить бармену офигенно:- Молодой человек, пишите белье, и мне так сказали, что я уже выходил замуж...
small Штирлиц Штирлиц шел разбирая бокалы. Так разбивал головную боль.
small Шёл медведь по лесу Шёл медведь по лесу и увидел штаны, на дерево паспорт текла...
small Заходит улитка в бар Заходит улитка в бар, заказывает жареную курицу от бара и говорит:- Простите, это кошка?- Нет, это я - кот.
small-overfit Штирлиц Штирлиц и Мюллер выбрали Мюллера из штата. Света сразу же привела на голову и отмочила его. Два Мюллера вместе взялись за 500 баксов, а третий зашел ограбленный.
small-overfit Шёл медведь по лесу Шёл медведь по лесу и вдруг видит, что из него вылезает.
small-overfit Заходит улитка в бар Заходит улитка в бар, садится перед зеркалом и говорит: -#####, как я заработаю этот огромный урожай

Тексты имеют структуру анекдота, однако в основном бессмысленны. Также overfit-модель по наблюдениям чаще использует обсценную лексику в анекдотах, с чем связан этот эффект - неизвестно.

Ограничения

  • Шаблонные анекдоты из датасета.
  • Опрос маленький (8 человек), оценки одного человека зависимы.
  • Один seed на модель, разброс между запусками не оценивался.
  • Токенизатор обучен на том же корпусе, что и модели.

Примечание

Результаты генерации похожи на анекдоты структурно, но представляют из себя бессмыслицу. Выглядят как анекдот, ведут себя как анекдот, но не содержат в себе анекдота. По сути получается какая-то постмодернистская деконструкция анекдота.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support