Датасет — это обещание

8 мин чтенияСтатья
Датасет — это обещание

То, что вы кладёте в датасет, — это и есть обещание, каким станет модель. Форматы, реалистичные размеры и чтение отчёта качества до того, как вы потратите хоть одну эпоху на грязные данные.

Чьё-то дообучение не падало из-за неправильного dropout. Много чьих падало из-за датасета из двадцати почти одинаковых примеров и одного сорокатысячесимвольного романа. Это короткая и категоричная версия того, что мы поняли, строя блок Dataset и его отчёт качества, — плюс ментальная модель, которая расставляет всё по местам: датасет — это обещание. Каждый пример говорит модели «отвечай так». Если примеры противоречат друг другу или тому, чего вы на самом деле хотите, модель честно сдержит это сломанное обещание.

Три формата — три намерения

  • Чат{"messages":[{"role":"user","content":"..."},{"role":"assistant","content":"..."}]}. Рекомендуемый формат по умолчанию. Обучаются только реплики ассистента: модель учит ответы, а не вопросы.
  • Промпт / ответ{"prompt":"...","completion":"..."}. Для задач преобразования: почини текст, классифицируй, расшифруй аббревиатуру.
  • Свободный текст{"text":"..."} или любая строка. Для переноса стиля на сырых текстах. Структура не навязывается; последовательность — целиком ваша забота.

Формат — не техническая мелочь: он определяет, какое обещание вы даёте. Чат учит модель отвечать кому-то. Промпт/ответ учит выполнять конкретное преобразование. Свободный текст учит звучать. Сваленные бездумно в один датасет, они смешиваются в обещание, которое модель не сможет сдержать, — поэтому отчёт качества показывает mix форматов до обучения.

Какой размер? Меньше, чем кажется

Интернет намекает, что нужны тысячи примеров. С LoRA это просто неправда. Двадцати до нескольких сотен хорошо выбранных примеров хватает, чтобы заметно сдвинуть тон и формат — в этом вся привлекательность метода. Наш демо-датасет — тридцать шесть чат-примеров вымышленного саппорт-агента интернет-провайдера, и к концу обучения модель подписывала каждый ответ тем же знаком и отвечала тем же сухим дружелюбным голосом. Дело не в объёме. Последовательность: примеры согласны, кто говорит. Покрытие: ситуации, которые вы хотите закрыть. Честность: ответы, отражающие то, что вы хотите, а не то, что вам хотелось бы говорить.

Читаем отчёт качества

Нажмите Проверить качество — отчёт даст факты; четыре из них заслуживают первого взгляда.

  • Дубликаты — самый быстрый путь к модели, которая говорит одну фразу идеально и всегда. Дедуплицируйте до обучения.
  • Гистограмма длин — примеры длиннее maxlen обрезаются. Если ваши данные живут на дальнем конце графика, поднимите maxlen или режьте примеры.
  • Языковой mix — определённые языки, включая персидский и эмодзи. Неожиданный язык обычно означает ошибку вставки.
  • Mix форматов — что распарсилось как чат, что как промпт/ответ, что откатилось в свободный текст. Тихие откаты — источник сюрпризов обучения.

Eval-сплит: сдержите обещание перед собой

Поставьте eval_pct между 10 и 20 — и чистейшие примеры станут вашими доказательствами. Экран сравнения меряет перплексию на данных, которых модель никогда не видела, — единственный честный способ понять, что настройка легла. Нулевой сплит соблазняет — больше данных! — но оставляет вас наедине с ощущением. Весь смысл упражнения — заменить ощущения числами, и это самое дешёвое число в меню.

Одно правило, если запомните только его: каждый пример в датасете должен быть ответом, который вы приняли бы от готовой модели. Если нет — ему не место в файле.
#датасеты#качество#руководство