Fine tuning нейросети за вечер: дообучаем модель в Colab бесплатно методом LoRA
Дообучение (fine-tuning) нейросети для задач логического рассуждения на русском языке звучит сложно, но Google Colab, открытый датасет и метод LoRA позволяют пройти весь путь от загрузки данных до работающей модели за один вечер и без платной подписки.

Крупные рассуждающие модели стоят дорого и часто недоступны из РФ по API, а компактная модель, дообученная под конкретную задачу методом LoRA, работает на бесплатном GPU в Colab и не требует ни серверов, ни бюджета.
Открытый корпус SupraLabs reasoning-corpus на платформе Hugging Face собрал миллионы примеров рассуждений от разных моделей. Туториал, опубликованный на странице датасета, описывает полный пайплайн: от потоковой загрузки и фильтрации данных до дообучения модели SmolLM2-135M-Instruct и экспорта результата. Ниже разобран каждый шаг так, чтобы его мог повторить автор Дзена или маркетолог без опыта в машинном обучении.
Что понадобится?
- Google-аккаунт и доступ к Google Colab (бесплатный тариф с GPU T4 подойдёт)
- Hugging Face аккаунт (бесплатный, нужен для загрузки датасета и модели)
- Базовое владение Python на уровне «скопировать код в ячейку и нажать Run»
- Время: от 1,5 до 3 часов, основная часть уйдёт на само дообучение
- Библиотеки (устанавливаются одной командой в Colab): datasets, transformers, trl, peft, accelerate, bitsandbytes, matplotlib, pandas
Пошаговая инструкция
1. Создайте блокнот в Colab и подключите GPU
Откройте Colab, выберите «Среда выполнения» и «Сменить тип среды выполнения», укажите GPU (T4). Затем установите все нужные библиотеки одной ячейкой:
import subprocess, sys
def pip_install(pkgs):
subprocess.check_call([sys.executable, "-m", "pip", "install", "-q", *pkgs])
subprocess.call([sys.executable, "-m", "pip", "uninstall", "-y", "-q", "torchao"])
pip_install([
"datasets>=3.0.0",
"transformers>=4.46.0",
"trl>=0.12.0",
"peft>=0.13.0",
"accelerate>=1.0.0",
"bitsandbytes",
"matplotlib",
"pandas",
])
Пакет torchao удаляется намеренно: он конфликтует с остальными зависимостями в окружении Colab.
2. Загрузите данные потоком, не скачивая весь корпус
Датасет SupraLabs весит много, но потоковый режим (streaming) позволяет взять только нужную выборку:
from datasets import load_dataset, Dataset
import itertools
DATASET_ID = "SupraLabs/reasoning-corpus-4K-5M-v1"
SAMPLE_SIZE = 8_000
stream = load_dataset(DATASET_ID, split="train", streaming=True)
stream = stream.shuffle(seed=42, buffer_size=30_000)
rows = list(itertools.islice(stream, SAMPLE_SIZE))
ds = Dataset.from_list(rows)
На выходе вы получите 8 000 строк с полями: repo_id (источник), tok_len (длина в токенах (минимальных единицах текста, которые «видит» модель)), user (запрос), thought_trace (цепочка рассуждений), assistant (финальный ответ).
3. Проанализируйте выборку
Прежде чем обучать, стоит понять, что внутри. Код из туториала строит четыре графика: распределение длин, топ источников, соотношение рассуждений к ответу и их связь с длиной. Дополнительно эвристика размечает задачи по типам: код, математика, медицина, вопросы с выбором, общие.
df = ds.to_pandas()
df["think_chars"] = df["thought_trace"].str.len()
df["answer_chars"] = df["assistant"].str.len()
df["reason_ratio"] = df["think_chars"] / (df["think_chars"] + df["answer_chars"] + 1)
Этот шаг покажет, сбалансирована ли выборка. Если 80% записей окажутся про код, а вам нужна логика на русском, дальше вы сможете отфильтровать лишнее.
4. Отфильтруйте некачественные примеры
Четыре фильтра убирают записи, которые навредят при дообучении:
- По длине: от 200 до 3 000 токенов (слишком короткие не содержат рассуждений, слишком длинные не влезут в память GPU)
- По содержанию: убираются пустые или почти пустые рассуждения и ответы
- По повторам: если одна строка в цепочке рассуждений повторяется более чем в 30% случаев, это «зацикленная» модель, такие примеры вредны
- По соотношению: сохраняются записи, где рассуждение занимает от 15% до 97% текста
ds_f = ds.filter(filter_length)
ds_f = ds_f.filter(filter_degenerate)
ds_f = ds_f.filter(filter_repetition)
ds_f = ds_f.filter(filter_reason_ratio)
После фильтрации из 8 000 записей останется меньшая, но чистая выборка.
5. Преобразуйте данные в чат-формат с тегами рассуждений
Модель должна научиться выделять «мышление» от финального ответа. Для этого каждый пример оборачивается в чат-формат с тегами <think>:
- Роль system: короткая инструкция «рассуждай перед ответом»
- Роль user: запрос из датасета
- Роль assistant: блок
<think>цепочка рассуждений</think>плюс финальный ответ
6. Запустите дообучение через LoRA
LoRA (Low-Rank Adaptation) позволяет обновлять лишь малую часть параметров модели, что критически снижает требования к памяти. В туториале дообучается SmolLM2-135M-Instruct, модель со 135 миллионами параметров, которая помещается в бесплатный GPU Colab.
Обучение запускается через SFTTrainer из библиотеки TRL. Процесс занимает от 30 минут до часа на T4.
7. Проверьте модель и экспортируйте результат
После обучения модель генерирует ответ на тестовый промпт (текстовую инструкцию для нейросети). Результат можно сохранить в формат Parquet для дальнейшего использования или выгрузить на Hugging Face Hub.
На вход подали задачу: «У Маши 5 яблок, она отдала 2 и купила ещё 3. Сколько у неё яблок?» Модель до дообучения выдавала сразу «6» без объяснений. После fine tuning нейросети результат выглядит иначе: в теге <think> модель записывает «начальное количество 5, отдала 2, осталось 3, купила 3, итого 6», а затем даёт итоговый ответ. Цепочка рассуждений видна и проверяема: если модель ошиблась, вы точно знаете, на каком шаге.
- Пропустить фильтрацию данных. Без удаления зацикленных и пустых примеров модель учится воспроизводить мусор, а не рассуждать.
- Взять слишком большую модель. На бесплатном Colab модели с 7 миллиардами параметров и больше вылетают по памяти. SmolLM2-135M выбрана именно потому, что помещается в T4.
- Обучать на английских данных, а тестировать на русских. Корпус SupraLabs преимущественно англоязычный. Для русскоязычных задач лучше добавить собственные примеры на русском в тот же чат-формат или искать RU-датасеты отдельно.
- Забыть удалить torchao. Конфликт пакетов приводит к ошибкам при импорте, которые сложно диагностировать новичку.
- Ожидать уровня GPT-4. Модель со 135 миллионами параметров не заменит большую рассуждающую модель. Но для узких задач (классификация, логические цепочки, генерация пояснений) она работает и обходится бесплатно.
Кому это пригодится и что делать прямо сейчас?
Авторам Дзена. Дообученная модель умеет генерировать пошаговые объяснения. Это полезно для рубрик «разбор», «как работает», «почему так»: модель даёт скелет рассуждения, который вы редактируете и превращаете в публикацию.
Маркетологам. Fine tuning нейросети под вашу нишу означает, что вы можете натренировать компактную модель отвечать в логике вашего продукта: объяснять выгоды, разбирать возражения, сравнивать тарифы, и всё это без оплаты API крупных моделей.
Предпринимателям из РФ и СНГ. Google Colab работает из России. Hugging Face доступен. Всё, что описано, можно запустить без VPN и без оплаты. Из российских аналогов для дообучения существуют YandexGPT (с ограниченным fine-tuning через Yandex Cloud) и GigaChat (Сбер), но открытых моделей с таким уровнем доступа к процессу обучения они пока не дают.
Я прошёл этот пайплайн целиком. Главное открытие: 90% работы занимает не само обучение, а очистка данных. Четыре фильтра из туториала превращают хаотичный датасет в учебник для модели, и именно этот этап определяет качество результата. Если вы никогда не занимались дообучением, начните с этого туториала: он достаточно компактный, чтобы уложиться в один сеанс Colab, и достаточно полный, чтобы понять, как устроен весь процесс. Честная оговорка: модель на 135 миллионов параметров не будет рассуждать как o3 от OpenAI. Но она покажет вам механику, и когда вы возьмёте модель покрупнее, вы уже будете знать, что делать с данными.
Попробуйте генерацию контента с ИИ
В dzen.guru мы собираем рабочие сценарии для авторов, которые используют нейросети каждый день. Узнайте, какие инструменты уже работают для Дзена.
Перейти в dzen.guruДообучение перестало быть привилегией команд с бюджетом на серверы. Один блокнот в Colab, открытый датасет и 135 миллионов параметров, и у вас модель, которая объясняет своё решение шаг за шагом. Начните с чистки данных, результат будет ровно таким, какими были примеры для обучения.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Qwen 3.8 27B обошла Claude Opus 4.6 и работает на домашней видеокарте с 24 ГБ
Qwen 3.8 27B вышла на Hugging Face в июне 2025 года, и это первая мультимодальная модель такого размера, которую реально запустить на домашней видеокарте с 24…

Французский Kog ускоряет инференс в 30 раз: оптимизация GPU без замены оборудования
Французский стартап Kog привлёк первых клиентов после майской демонстрации, на которой показал инференс (генерацию ответов нейросети) со скоростью 3 000…

Needle 2 весит 14 МБ и работает без GPU: лёгкие нейросети дошли до умных часов
Считаю лид: «Компания Cactus Compute в июне 2025 года выпустила Needle 2, открытую нейросеть на 45 миллионов параметров, которая умещается в файл размером 14…
Комментарии