Описание

Данная модель была создана в рамках курса по NLP от VK.

Задание заключалось в том, чтобы обучить трансформерную языковую модель генерации анекдотов на наборе данных IgorVolochay/russian_jokes. Важное условие - использование таких технологий, как GQA, ALiBi, SwiGLU.

Модель

Модель - transformer decoder. Изменения базовой архитектуры - использование Grouped Query Attention в self-attention, ALiBi в качестве relative positional encoding и SwiGLU в FF.

Характеристики модели: 12 слоев (трансформер блоков), 12 голов в attention, 6 kv голов в attention для GQA, d_model=768, d_ff=2048. Количество параметров: 79.54M.

Токенизатор: Byte-level BPE. Размер словаря: 1024.

Обучение модели: learning_rate=2e-4, n_steps=15000, max_seq_len=128, batch_size=16, CELoss.

Обучалась 110 минут на одной Nvidia GTX 1080.

Результаты

Итоговый Test Loss (Cross-Entropy): 2.583.

Качество модели не очень. Получается генерировать осмысленный текст, иногда даже выходят анекдоты. Но модель скорее копирует стиль, а не понимает юмор. Это объясняется ее небольшим размером.

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

Параметры генерации: top_k=10, temperature=0.4.

Начальный текст: "Заходит в бар"

  1. Заходит в бар, а там мужик и кричит: -- Джон, у меня картошка с картошкой! - А ты что, опять пойдешь? - Да нет, я не пью! - А что я? - А я готовлю!
  2. Заходит в бар, а там сидит девушка. Тут вдруг один говорит:- Вась, ты что, сегодня вечером съешь?

Начальный текст: "Сидим с бобром за столом"

  1. Сидим с бобром за столом, пьем, пьем, пьем, пьем, а пиво не пьют.
  2. Сидим с бобром за столом, а вдруг за столом сидит девушка. Девушка:- Молодой человек, а почему у тебя такие большие ноги?
Downloads last month
3
Safetensors
Model size
79.7M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train bikingSolo/vk-nlp-course-hometask-1