Dataset

dataset — набор примеров, на которых обучают модель

Раздел
Обучение
Обновлено
18.05.26

Датасет (dataset) — это набор примеров, на которых модель учится решать задачу. Каждый пример состоит из входа (картинка, текст, аудио) и часто правильного ответа (метка, перевод, описание). Качество модели не больше качества датасета: смещённые, шумные или загрязнённые данные дают такую же модель. Современные датасеты содержат от тысяч (узкие задачи) до десятков миллиардов записей (LLM, image generation).

Коротко

Коротко. Датасет — это коллекция примеров с правильными ответами, на которой алгоритм обучает модель. Для распознавания цифр это пары «картинка → цифра», для перевода — «фраза на одном языке → фраза на другом», для LLM — куски текста, на которых модель учится предсказывать следующий токен. Чистый и разнообразный датасет важнее размера: лучше 100 тысяч аккуратно размеченных примеров, чем миллион случайных.

Что это такое

В машинном обучении есть присказка: «garbage in, garbage out» — мусор на входе, мусор на выходе. Это про датасет. Любая модель усваивает не «истину», а статистические закономерности своих обучающих данных. Если в датасете 80% портретов взрослых мужчин в костюмах, модель будет хуже распознавать детей и женщин — она их видела мало.

Структура простого датасета — таблица. Каждая строка — пример. Столбцы — признаки (features) и метка (label). Для классификатора писем:

Текст письма Спам?
«Вы выиграли $1 000 000…» да
«Привет, как прошёл день?» нет

Для LLM датасет выглядит иначе — это просто длинные тексты. Алгоритм автоматически создаёт пары «контекст → следующий токен» по мере прохода по тексту.

Для генерации изображений (CLIP, Stable Diffusion) пара такая: картинка + текстовая подпись. Сеть учится переводить текст и изображение в общее пространство смыслов.

Идея, что машину можно учить на данных, появилась в 1950-х. Но реальный взлёт начался в 2009-м, когда Фей-Фей Ли собрала ImageNet — 14 миллионов фотографий с разметкой на 22 тысячи категорий. На этом датасете в 2012-м AlexNet выиграла соревнование по классификации, и началась эпоха deep learning.

Как это работает

Жизненный цикл датасета — несколько обязательных стадий.

  1. Сбор. Данные собираются из разных источников: парсинг сайтов, краудсорсинг, специальные сенсоры, открытые корпусы, лицензированные библиотеки. Самый дешёвый источник — открытый интернет; самый дорогой и качественный — ручная разметка специалистами.
  2. Разметка (labeling). Если задача требует ответов, каждый пример нужно подписать. Это самая трудозатратная часть: ImageNet размечали 50 000 человек два года. Современные подходы — semi-supervised (часть размечена, остальное модель помечает сама), weak supervision (метки выводятся из метаданных), pseudo-labeling (готовая большая модель размечает за людей).
  3. Очистка. Удаление дубликатов, мусора, повреждённых файлов, выбросов. Если в датасете два одинаковых примера с разными метками — это шум, который мешает обучению.
  4. Разделение. Обычно три части:
    • Train (70–90%) — на нём модель учится.
    • Validation (5–15%) — для подбора гиперпараметров.
    • Test (5–15%) — итоговая проверка качества; модель не должна его видеть до конца.
  5. Аугментация. Размножение примеров через изменения: поворот, обрезка, изменение яркости, добавление шума. Это не «новые данные», но эффект для модели похожий — она учится быть устойчивой к мелким искажениям.

Известные открытые датасеты:

  • MNIST — 60 000 рукописных цифр 28×28 пикселей. Учебный «hello world» компьютерного зрения.
  • ImageNet — 14 миллионов изображений, 22 тысячи категорий. Стандарт для классификации.
  • COCO — 330 тысяч картинок с детальной разметкой объектов, сегментацией, подписями.
  • LAION-5B — 5.85 миллиарда пар «картинка + текст», собранных из интернета. На нём обучали Stable Diffusion и Imagen.
  • The Pile — 825 ГБ текстов для обучения LLM, собранных из 22 источников.
  • Common Crawl — петабайты текстов из открытого интернета, основа корпусов GPT и LLM.

Пример на практике

Видеомонтажёр хочет натренировать классификатор «есть лицо человека / нет» для авто-нарезки роликов.

Этапы работы с датасетом:

  1. Сбор. Из открытых источников (LFW для лиц, Places365 для пейзажей без людей) собирается 50 000 картинок: 25 000 с лицами, 25 000 без. Этого достаточно для лёгкого классификатора.
  2. Очистка. Просмотр первых 500 случайных кадров — выясняется, что в датасете с пейзажами на 3% картинок всё-таки есть мелкие фигуры людей. Они помечены как «без лица» — это ошибка разметки. Они удаляются или переразмечаются.
  3. Разделение. Train: 40 000, Validation: 5 000, Test: 5 000.
  4. Аугментация. Каждый кадр поворачивается на ±15°, обрезается, меняется яркость. Эффективный размер train растёт в 4–6 раз.
  5. Обучение. Лёгкая ResNet-18, 5 эпох, RTX 3060. На validation — 96% точность.

Через неделю всплывает проблема: модель плохо распознаёт лица в профиль и при низком освещении. В обучающем датасете было мало таких примеров — он смещён к фронтальным фотографиям при дневном свете. Решение — собрать ещё 5 000 «трудных» примеров и дообучить.

Это типичный сценарий. Качество датасета — это не «много данных», а «много данных, покрывающих реальное распределение».

В ComfyUI готовые модели на хороших датасетах (CLIP на LAION, Whisper на тысячах часов аудио) уже выложены — workflow собирается из обученных нод без сбора собственных данных. Но если задача узкая (например, классификатор стилей конкретного арт-направления), всё равно придётся готовить свой dataset.

С чем часто путают

  • Датасет и data — data это любые данные. Dataset — это организованный набор для обучения или тестирования: с разметкой, разделением на train/val/test, документированной структурой.
  • Датасет и corpus — corpus обычно применяется к большим текстовым коллекциям (corpus of English, Wikipedia corpus). Dataset — общий термин для любых данных. На практике взаимозаменяемы.
  • Датасет и Vector Database — vector DB хранит уже посчитанные embedding'и для поиска. Dataset — это исходные данные, на которых обучаются модели, которые потом создают embeddings.
  • Датасет и benchmark — benchmark это специально сконструированный датасет для сравнения моделей (MMLU, HumanEval, GLUE). Обычный датасет может быть и для обучения, и для теста; benchmark — только для теста.

Частые ошибки и заблуждения

  • Чем больше датасет, тем лучше модель. Не всегда. На загрязнённых, нерепрезентативных или дублирующих данных большой датасет даёт смещённую модель. Часто 10 000 чистых примеров обыгрывают 1 000 000 шумных.
  • Все данные одинаково важны. Нет. Сложные, редкие, граничные примеры дают намного больше пользы для обучения, чем стандартные «лёгкие» случаи. Поэтому крупные лаборатории платят миллионы за специальную разметку сложных кейсов.
  • Датасет — это «истина». Это срез реальности глазами тех, кто собирал. ImageNet содержит фотографии в основном из Flickr, в основном с американских аккаунтов 2009–2010 годов. Модель, обученная на нём, видит мир глазами этого среза.
  • Если в обучении 95% «да» и 5% «нет» — это нормальный датасет. Это несбалансированный датасет. Модель тривиально достигнет 95% точности, всегда отвечая «да», и провалит редкий класс. Балансировка (oversampling, undersampling, class weights) — обязательный приём для несбалансированных задач.
  • Можно использовать тот же тестовый набор много раз. Можно, но осторожно. Если модель регулярно проверяется на test set и подбирается по нему — фактически test становится частью обучения (test set contamination). В серьёзных проектах test заморожен, а тюнинг идёт через validation.

Связанные термины

  • Training — процесс, использующий датасет для подбора параметров.
  • Validation set — часть датасета для подбора гиперпараметров.
  • Test set — часть датасета для финальной проверки.
  • Labeling / Annotation — процесс добавления правильных ответов в датасет.
  • Augmentation — искусственное расширение датасета через трансформации.
  • Imbalanced data — датасет с неравномерным распределением классов.
  • Benchmark — стандартизованный датасет для сравнения моделей.
  • Data drift — изменение распределения новых данных относительно обучающих.

Частые вопросы

Где взять готовый датасет? Hugging Face Datasets — крупнейший каталог открытых наборов (170 000+). Kaggle — соревнования с датасетами. Specialized: COCO (object detection), LibriSpeech (audio), Common Crawl (text). Для академической работы — Papers with Code линкует датасеты к моделям.

Сколько примеров нужно для обучения с нуля? Зависит от задачи и архитектуры. Простая модель для табличных данных — от 1 000 примеров. Свёрточная сеть с нуля — от 100 000. Fine-tuning готовой модели — иногда 100–500. Обучение LLM с нуля — миллиарды токенов.

Можно ли использовать датасет коммерчески? Только если лицензия позволяет. Многие открытые датасеты (COCO, ImageNet) — non-commercial. LAION-5B — image research only. Перед коммерческим продуктом проверяйте лицензию каждого источника, особенно если данные собраны из интернета (там могут быть copyrighted материалы).

Что такое synthetic data? Данные, сгенерированные искусственно — другими моделями, симуляциями, программами. Используются, когда настоящих данных мало или сбор дорогой (медицинские снимки редких заболеваний, автономное вождение в экзотических условиях). Риск — модель учится на «галлюцинациях» генератора.

Чем отличается dataset для supervised и unsupervised обучения? В supervised каждый пример имеет правильный ответ (label). В unsupervised меток нет: алгоритм ищет структуру сам — кластеры, аномалии, скрытые признаки. Pre-training LLM формально unsupervised: текст без меток, но модель сама создаёт задачу «предскажи следующий токен» — это self-supervised.

Главное

Датасет — это сырьё, из которого делают модель. Размер, качество, баланс, чистота — каждое из этих свойств определяет, какой получится итоговая модель. Не существует «нейтральных» данных: любая выборка отражает решения людей, которые её собирали и размечали. Поэтому большая часть инженерной работы в AI — это не обучение моделей, а подготовка датасетов. Понимая, что значит «хороший датасет» в каждом конкретном случае, легче критически смотреть на чужие модели — и грамотно строить свои.