Дообучение LLM на вопрос-ответ: создаём GPT-подобную модель по WH40K

Создание собственной небольшой языковой модели, способной вести осмысленный диалог, — задача, которая становится всё более доступной. В этом материале мы рассмотрим ключевой этап такого процесса: supervised fine-tuning (SFT), то есть дообучение на парах «вопрос-ответ». Именно этот шаг превращает мод

Дообучение LLM на вопрос-ответ: создаём GPT-подобную модель по WH40K

Создание собственной небольшой языковой модели, способной вести осмысленный диалог, — задача, которая становится всё более доступной. В этом материале мы рассмотрим ключевой этап такого процесса: supervised fine-tuning (SFT), то есть дообучение на парах «вопрос-ответ». Именно этот шаг превращает модель из простого генератора текста в полноценного собеседника, способного отвечать на вопросы и следовать инструкциям. На примере вселенной Warhammer 40,000 мы покажем, как собрать датасет, настроить гиперпараметры и получить работающего ассистента. Если вы разработчик, интересующийся LLM, или фанат WH40K, желающий создать своего лор-бота, эта статья для вас.

Зачем нужен SFT и как он работает

Supervised fine-tuning — это метод дообучения, при котором модель обучается на размеченных данных: на вход подаётся вопрос (промпт), а на выходе ожидается правильный ответ (комплишен). В отличие от предобучения, где модель предсказывает следующее слово в любом тексте, SFT учит её следовать инструкциям и давать релевантные ответы. Для этого используется специальный датасет, где каждый пример состоит из пары вопрос-ответ. Автор собрал такой датасет на основе материалов по WH40K, включая диалоги из книг, вики и форумов.

Как собирали датасет для SFT

Для SFT автор использовал два основных источника: синтезированные диалоги на основе текстов вселенной (например, из книг и энциклопедий) и реальные обсуждения с форумов. Каждый пример был очищен и приведён к единому формату: вопрос пользователя и ответ ассистента. Особое внимание уделили балансу — чтобы модель не переобучалась на шаблонные фразы. Всего в датасете около 50 000 пар, что для небольшой модели (около 1,5 млрд параметров) достаточно, чтобы получить осмысленные ответы.

Технические детали дообучения

Автор использовал библиотеку Hugging Face Transformers и фреймворк для обучения с поддержкой LoRA (Low-Rank Adaptation). LoRA позволяет дообучать модель эффективно, замораживая основные веса и добавляя небольшие адаптеры. Это снижает требования к памяти и ускоряет обучение. Гиперпараметры: learning rate 2e-4, batch size 8, 3 эпохи. Обучение заняло около 4 часов на одной видеокарте NVIDIA A100. Функция потерь — кросс-энтропия, оптимизатор AdamW.

Какие гиперпараметры выбрать для SFT?

Выбор гиперпараметров критически влияет на качество дообучения. Learning rate 2e-4 является типичным для LoRA, но может варьироваться в зависимости от размера модели и датасета. Batch size 8 — компромисс между скоростью и стабильностью градиентов. Три эпохи достаточны для небольшого датасета, чтобы избежать переобучения. Использование LoRA с рангом 8 или 16 позволяет сохранить память и ускорить обучение без существенной потери качества.

Кого затронет и как

Эта статья будет полезна разработчикам, которые хотят создать свою диалоговую модель на ограниченных ресурсах. В отличие от коммерческих LLM, таких как GPT-4, авторская модель работает локально, не требует API и может быть настроена на любую тематику — в данном случае WH40K. Для сообщества фанатов вселенной это шанс получить специализированного чат-бота, который знает лор и может отвечать на вопросы. Также техника SFT применима в других доменах: от технической поддержки до образовательных чат-ботов.

Что будет дальше

В следующих частях цикла автор планирует внедрить RLHF (Reinforcement Learning from Human Feedback) для улучшения качества ответов и добавить фильтрацию токсичности. Также возможно расширение датасета и увеличение размера модели. Репозиторий с кодом и весами будет опубликован на GitHub.

Итог

Автор успешно продемонстрировал, как дообучить небольшую LLM на датасете вопрос-ответ, получив модель, способную вести диалог по вселенной Warhammer 40,000. SFT — критически важный этап, который превращает предобученную модель в полезного ассистента. Технология доступна для повторения и может быть адаптирована под любую нишу.