Чтобы дообучить модель под себя, нужна не магия, а данные — примеры того, как вы считаете правильным. Хорошая новость: эти данные не обязательно собирать вручную в таблицах. Если вы каждый день общаетесь с ассистентом и оцениваете ответы, датасет копится сам собой.
В этой статье разберём, что такое хороший обучающий датасет, в каком формате он нужен, как оценки 👍/👎 и выделение фрагментов превращаются в обучающие пары, и сколько примеров реально потребуется.
Почему качество важнее количества
Главная ошибка новичка — гнаться за объёмом. Кажется, что чем больше строк, тем умнее выйдет модель. На практике всё наоборот: десять тысяч шумных, противоречивых примеров научат модель противоречить самой себе, а несколько сотен чистых и согласованных — дадут заметный сдвиг в нужную сторону.
Дообучение — это не «закачка знаний», а настройка поведения. Модель учится тому, как отвечать: в каком тоне, с какой структурой, с какими акцентами. Поэтому один отличный пример ценнее десяти посредственных:
- он показывает желаемый стиль без шума;
- он не конфликтует с другими примерами;
- он отражает реальный, а не выдуманный сценарий.
Вывод простой: лучше меньше, да чище.
В каком формате нужны данные
Почти любое дообучение языковой модели сводится к парам «вход → желаемый выход». Чаще всего встречаются два формата:
- Вопрос — ответ. Пользователь спросил, модель должна ответить вот так.
- Инструкция — ответ. Задана задача («перепиши короче», «составь план»), и есть эталонное выполнение.
В виде структуры одна обучающая пара выглядит примерно так:
| Поле | Назначение |
|---|---|
| instruction | что просили сделать |
| input | контекст или исходный текст (опционально) |
| output | эталонный ответ, который мы считаем правильным |
Технически это обычно хранится как строки JSON (формат JSONL — по одной паре на строку). Но важнее не синтаксис, а содержание: каждая пара должна быть примером, который вы действительно хотели бы получить от модели снова.
Как лайки и выделение фрагментов становятся данными
Здесь и пригодится повседневная работа с ассистентом. Каждое действие оценки — это сигнал, который можно превратить в обучающую пару.
- Лайк 👍. Вы отметили ответ как хороший — значит, пара «ваш вопрос → этот ответ» отправляется в датасет как положительный пример. Это эталон, на который модель должна равняться.
- Дизлайк 👎. Ответ не понравился. Сам по себе он в обучающую выборку как образец не идёт, но служит маркером: такой стиль или такой ход мысли — нежелательны. В продвинутых сценариях пары «плохо/хорошо» используют для обучения предпочтениям.
- Выделение фрагмента. Вы выделили конкретный кусок ответа — самую полезную мысль или, наоборот, формулировку, которую стоит закрепить. Это самый точный сигнал: он показывает не «ответ в целом нравится», а что именно в нём ценно.
Оценка — это разметка, замаскированная под привычное действие. Вы не «размечаете датасет», вы просто говорите ассистенту, что было хорошо. А пары копятся фоном.
Именно так устроена Persona: оценки и выделенные фрагменты складываются в персональный датасет, из которого позже можно собрать обучающую выборку для своей модели.
Чистка и баланс
Собранные пары — это ещё сырьё, а не готовый датасет. Перед дообучением выборку стоит привести в порядок:
- Убрать дубли. Одинаковые или почти одинаковые пары перекашивают обучение в сторону повторов.
- Снять противоречия. Если на похожий вопрос есть два несовместимых «правильных» ответа — оставьте тот, что отражает текущее предпочтение.
- Выровнять баланс. Не должно быть так, что 90% примеров — про один узкий сценарий, а остальные темы почти не представлены. Иначе модель «съедет» в перекошенную сторону.
- Проверить длину и формат. Слишком короткие или обрывочные ответы лучше отбраковать — они учат модели лениться.
Чистка — это не разовое действие, а гигиена. Датасет живёт вместе с вами: вкусы меняются, и старые «эталоны» иногда стоит пересматривать.
Сколько примеров нужно
Точной цифры, одинаковой для всех, не существует — она зависит от модели, задачи и того, насколько узкий стиль вы хотите привить. Но ориентир такой: для заметного сдвига поведения компактной модели обычно достаточно сотен-тысяч качественных пар, а не десятков тысяч сырых.
Хорошая стратегия — итеративная:
- Накопите первую партию чистых примеров.
- Дообучите модель и оцените результат на практике.
- Найдите слабые места, доберите примеры именно под них.
- Повторите.
Такой цикл почти всегда даёт лучший результат, чем попытка собрать «идеальный» датасет с первого раза. К тому же при локальном подходе данные остаются у вас — об этом подробнее в материале про локальную модель против облака. А если вы только разбираетесь, зачем вообще нужен ассистент, который вас знает, начните с основ — что такое личный ИИ.
Вывод
Датасет для дообучения — это не гигантская таблица, которую надо мучительно заполнять вручную. Это набор честных примеров «как правильно», который копится из ваших же оценок и выделенных фрагментов. Делайте ставку на качество и согласованность, держите выборку чистой и сбалансированной, наращивайте её итеративно — и сотни хороших пар сделают для персонализации больше, чем тысячи случайных строк.