Перейти к содержанию
Новое AiManual теперь в MAX Подписаться
Публикация AiManual

Как мы превратили ruGPT-3 XL 2020 года в instruct-модель уровня 2026 и сравнили с Gemma-3 1B

Пошаговый разбор превращения pretrain-модели ruGPT-3 XL 1.3B (2020) в instruct-модель с помощью SFT и DPO. В творческих задачах дообученная модель обходит Gemma

Коротко

Что будет в материале

  1. 01

    Зачем дообучать модель 2020 года, когда есть Gemma-3 1B?

  2. 02

    Исходная точка: что умела ruGPT-3 XL 1.3B до дообучения

  3. 03

    Этапы дообучения: от SFT к DPO

  4. 04

    Сравнение с Gemma-3 1B: где старая школа побеждает

Зачем дообучать модель 2020 года, когда есть Gemma-3 1B?

ruGPT-3 XL 1.3B - это pretrain-модель 2020–2021 годов, которая умела только продолжать текст. Никаких инструкций, никакого диалога. Просто автодополнение. Мы взяли эту модель и превратили её в полноценную instruct-модель с помощью SFT и DPO. Результат сравнили с Gemma-3 1B - современной моделью 2026 года. В творческих и логических задачах дообученная ruGPT-3 XL обходит Gemma-3 1B. В технических - уступает. Эта статья - практическое руководство по этапам дообучения, с примерами датасетов, шаблонов диалогов и конкретными результатами сравнения.

Смысл эксперимента не в ностальгии по старым архитектурам. Это проверка гипотезы: можно ли вдохнуть жизнь в модель, которая уже списана со счетов, и получить конкурентный результат в узких нишах. Ответ - да, можно. И это дешевле, чем кажется.

Исходная точка: что умела ruGPT-3 XL 1.3B до дообучения

ruGPT-3 XL 1.3B - продукт Сбера, обученный на русскоязычных текстах. Архитектура - классический GPT-3 с 1.3 миллиарда параметров. Контекстное окно - 2048 токенов. Модель выдавала связные продолжения текста, но не реагировала на инструкции. Простой тест: даём промпт «Напиши код на Python для сортировки списка» - получаем продолжение фразы в стиле «...и другие алгоритмы обработки данных». Никакого кода.

Прямой запрос «Переведи текст на английский» приводил к генерации очередного абзаца на русском. Модель не понимала формат инструкции. Она работала как очень умное автодополнение - и это всё. При этом качество русскоязычного текста было высоким: богатая лексика, правильная грамматика, связность на уровне абзацев. Именно этот фундамент мы использовали для дообучения.

Этапы дообучения: от SFT к DPO

Процесс состоял из двух этапов. Сначала Supervised Fine-Tuning (SFT) на парах «инструкция - ответ». Затем Direct Preference Optimization (DPO) для настройки предпочтений. Последовательность выбрана не случайно: SFT даёт базовое понимание формата инструкций, DPO устраняет оставшиеся проблемы - галлюцинации, нежелательные стилистические паттерны, склонность к негативным ответам.

Обе стадии критичны. Пропуск DPO оставляет модель «сырой» - она выполняет инструкции, но часто срывается в отказы или избыточную осторожность. Пропуск SFT и переход сразу к DPO не работает: модель не понимает, что от неё хотят, и предпочтения не на чем строить.

SFT: учим модель следовать инструкциям

Для SFT мы собрали датасет из 50 тысяч пар «инструкция - ответ». Источники: открытые русскоязычные датасеты инструкций, очищенные диалоги из поддержки, синтетические примеры на основе шаблонов. Каждый пример форматировался в шаблон диалога:

<|user|>\n{инструкция}\n<|assistant|>\n{ответ}

Параметры обучения: learning rate 2e-5, batch size 4, 3 эпохи, квантование LoRA с рангом 16. Обучение заняло около 8 часов на A100 40GB.

Проблема негативных инструкций проявилась сразу. Модель часто отвечала «Я не могу это сделать» или «Это противоречит моим правилам» даже на безобидные запросы вроде «Напиши шутку про программистов». Причина - перекос в датасете: примеров с отказами оказалось слишком много. Решение: вычистили 80% негативных примеров и добавили 5 тысяч пар с позитивными ответами на провокационные запросы. После этого модель перестала отказываться от задач без явных этических конфликтов.

Результат SFT: модель начала понимать формат инструкций. На запрос «Напиши код на Python для сортировки списка» она выдала работающую функцию sorted(). Стиль ответов - сухой, по делу, без лишних рассуждений.

DPO: тонкая настройка предпочтений

DPO потребовал сбора пар «предпочтительный ответ - нежелательный ответ» для одних и тех же инструкций. Мы сгенерировали 10 тысяч таких пар. Критерии предпочтения: точность, полнота, отсутствие галлюцинаций, естественный стиль. Нежелательные ответы брали из промежуточных чекпоинтов SFT и намеренно испорченных генераций.

Обучение DPO: 1 эпоха, learning rate 1e-6, параметр beta 0.1. Заняло около 3 часов на той же A100.

Эффект DPO хорошо виден на примере HabrGPT - нашей внутренней версии модели, заточенной под стиль технических статей. После SFT модель генерировала статьи с избыточными вводными фразами и периодически выдумывала несуществующие функции Python. После DPO стиль стал ближе к реальным авторам: минимум воды, конкретика, ссылки на документацию только если они есть в контексте. Галлюцинации сократились примерно на 60% по нашей субъективной оценке.

Ограничение контекста в 2048 токенов осталось узким местом. Для длинных диалогов или статей модель теряла нить. Частично проблему решили чанкованием входных данных, но фундаментально это ограничение архитектуры.

Сравнение с Gemma-3 1B: где старая школа побеждает

Gemma-3 1B - модель Google 2026 года с современной архитектурой, улучшенным attention и контекстным окном 8192 токенов. Сравнение проводили на 100 задачах в трёх категориях: творческие, логические, технические. Оценивали связность, точность, оригинальность и соответствие инструкции.

Творческие задачи: неожиданное превосходство ruGPT-3 XL

В генерации историй, стихов и креативных описаний ruGPT-3 XL обошла Gemma-3 1B в 68% случаев. Пример: промпт «Напиши короткий рассказ в стиле Гоголя о программисте, который нашёл баг в реальности». Gemma-3 1B выдала механистичное описание с перечислением действий. ruGPT-3 XL создала историю с атмосферой, метафорами и неожиданным финалом - модель явно использовала паттерны русской классики, заложенные в pretrain.

Причина превосходства - качество русскоязычного pretrain-корпуса. ruGPT-3 XL обучалась на сотнях гигабайт русской литературы, новостей и форумов. Gemma-3 1B, при всей современности, имеет мультиязычный pretrain, где русский - лишь один из многих языков. В результате для творческих задач на русском языке старая модель оказывается богаче.

Логические задачи: паритет или небольшое преимущество

На задачах вроде «Если все A - это B, и некоторые B - это C, то все ли A - это C?» обе модели давали верные ответы. ruGPT-3 XL чаще предлагала развёрнутые цепочки рассуждений, Gemma-3 1B - более лаконичные. На сложных многошаговых логических конструкциях Gemma-3 1B была стабильнее: в 15% случаев ruGPT-3 XL сбивалась на втором-третьем шаге. Вероятная причина - ограничение контекста, из-за которого модель теряла посылки.

Общий счёт: 52% задач за ruGPT-3 XL, 48% за Gemma-3 1B. Статистически - паритет.

Технические задачи: где Gemma-3 1B уходит вперёд

Генерация кода, математические вычисления, работа с API - здесь Gemma-3 1B выиграла 73% задач. Пример: запрос «Напиши асинхронный парсер на Python с использованием aiohttp и asyncio». Gemma-3 1B выдала рабочий код с обработкой ошибок и таймаутами. ruGPT-3 XL предложила синхронное решение с requests, проигнорировав «асинхронный» в инструкции.

Причина отставания - возраст pretrain-данных. ruGPT-3 XL обучалась на коде до 2021 года. Современных библиотек, фреймворков и паттернов в её знаниях нет. Gemma-3 1B имеет доступ к актуальной кодовой базе и лучше справляется с точными науками за счёт архитектурных улучшений attention-механизма.

Практические выводы: когда стоит дообучать старую модель

Плюсы дообучения старых моделей:

  • Низкая стоимость - весь процесс занял около 11 часов на одной A100, это меньше $50 в облаке.
  • Высокое качество в узких нишах - если pretrain-корпус покрывает нужную область, результат может превзойти современные модели.
  • Полный контроль - модель работает локально, без API-зависимостей и цензуры сторонних провайдеров.

Минусы:

  • Ограничение контекста - 2048 токенов против 8192+ у современных моделей.
  • Устаревшие знания - модель не знает ничего после 2021 года.
  • Слабость в точных науках - математика и код страдают от возраста pretrain-данных.

Рекомендация: дообучайте старую модель, если ваша задача - творческая генерация на русском языке, работа в офлайн-среде или нишевый контент, где важна стилистика, а не актуальность. Для технических задач, агентных сценариев и работы с API берите современную модель. ChatGPT 5.6 и аналоги задают стандарт в точных науках, и догнать их на старой архитектуре не получится.

Проблема негативных инструкций решается чисткой датасета - это не архитектурное ограничение, а вопрос подготовки данных. Ограничение контекста - фундаментальное, его не обойти без перехода на другую архитектуру.

Заключение: эволюция вместо революции

Старую модель можно научить новым трюкам. ruGPT-3 XL 1.3B после SFT и DPO конкурентоспособна в творческих и логических задачах даже на фоне Gemma-3 1B. Стоимость дообучения - копеечная по сравнению с обучением с нуля. Подходы вроде 20B Looping Model показывают, что индустрия движется к демократизации обучения, и переиспользование существующих моделей - часть этого тренда.

Ограничения честные: контекст 2048 токенов, устаревшие знания, слабость в коде. Но для русскоязычного креатива это рабочий инструмент. Если вы экспериментируете с дообучением - начните с малого, проверьте гипотезу на своей нише, и только потом масштабируйте. Репозиторий с кодом, конфигами и примерами датасетов доступен на GitHub проекта. Там же - скрипты для оценки качества генераций, которые мы использовали в сравнении.

Модели не умирают - они ждут второго шанса.

Подписаться на канал