Как подготовить данные для обучения ИИ-модели
Шесть этапов: от сбора и очистки до валидации и анонимизации.
Подготовка данных — неотъемлемый и часто недооцененный этап в обучении ИИ. Как говорится в англоязычной среде — Garbage In, Garbage Out: если подать на вход модели «мусор», то и результаты окажутся соответствующими.
Ошибки, шум и перекосы в данных формируют у модели ложные закономерности. Это снижает точность, делает модель уязвимой к искажениям и непригодной для реального применения. Качественные данные — это не просто ресурс, а основа для устойчивой и безопасной модели.
Подготовка данных состоит из шести ключевых этапов. Коротко рассказываю о каждом.
Этап 1: Сбор
Данные — фундамент ИИ-модели. От полноты, качества и репрезентативности исходного массива напрямую зависит точность, устойчивость и применимость модели в реальных задачах. Подход к сбору определяется контекстом: тип решаемой задачи, доступность источников, требования к качеству и объёму, юридические ограничения.
Жёстких критериев по объёму, как в социологии (например, 1600 респондентов для репрезентативности по России), в машинном обучении нет. Используется итеративный подход: начинают с минимального объёма, строят кривые обучения и валидации, и оценивают, нужно ли расширение. Если метрики выходят на плато, а разрыв между тренировочными и тестовыми метриками невелик, данных достаточно. Если переобучение сохраняется, данных либо мало, либо они некачественные.
Выбор источников данных зависит от специфики задачи. Для типовых задач, например, классификации отзывов, определения тональности текста или распознавания предметов на изображениях, доступны готовые открытые датасеты. Их можно найти на Kaggle, Hugging Face, UCI или воспользоваться поиском по датасетам от Google. При работе с узкоспециализированными источниками (например, финансовая аналитика, телеметрия, аудиозаписи звонков) необходим сбор собственных данных с учётом правовых ограничений и защиты персональной информации.
На практике применяется гибридный подход: открытые модели используются как база, а дообучение происходит на специально собранных, очищенных и проверенных выборках. Если данных недостаточно, прибегают к генерации синтетических (симуляция сценариев или использование генеративных моделей) и аугментации, то есть искусственному увеличению разнообразия (повороты и сдвиги на изображениях, переформулировки в текстах).
Этап 2: Очистка
Большинство реальных данных поступают в «сыром» виде: с пропусками, дубликатами, опечатками, устаревшими или некорректными значениями. Текстовые данные особенно чувствительны к сленгу, неверной кодировке, регистру. Это может привести к тому, что модель будет учиться не на содержании, а на случайных артефактах.
Топ-5 типичных проблем, которые встречаются на этом этапе:
пропущенные значения (например, отсутствие возраста);
- выбросы (аномальные значения, вызванные ошибками сбора или редкими случаями);
- дубликаты (особенно в логах или CRM-выгрузках);
- ошибки формата (даты в строках, нестандартные единицы измерения);
- неконсистентные категории («Москва», «москва», «MSK», «МСК»).
При небольших объёмах данных очистку можно проводить вручную или с помощью стандартных библиотек Python — Pandas, NumPy и Scikit-learn. При больших объёмах или мультимодальных данных (текст, изображение, видео) используют специализированные решения, например: Apache Spark для параллельной обработки, очистки и преобразования данных. А Airflow, Luigi и Prefect применяются как инструменты оркестрации пайплайнов подготовки и трансформации данных.
Важно: не все выбросы являются ошибками. В отдельных случаях именно редкие значения несут ключевую информацию: пиковая нагрузка на оборудование, крайне нетипичное поведение клиента, активность на сайте вечером в «Черную пятницу». Вместо автоудаления стоит проводить предварительный анализ и помечать такие значения.
Этап 3: Форматирование и анонимизация
После очистки данные необходимо привести к единому машиночитаемому формату. Это обязательный этап, особенно если данные собирались из разных источников. В структурированных массивах нужно унифицировать типы и значения:
строки перевести в нижний регистр,
- даты — в формат ISO-8601,
- числовые признаки нормализовать (например, с помощью Z-score).
Неструктурированные данные (тексты, изображения, аудио) требуют отдельных шагов: токенизация и фильтрация для текста, выравнивание размеров и цветовых схем для изображений, преобразование аудио в спектрограммы.
Если данные содержат персональную информацию, требуется анонимизация. В России требования к обезличиванию описаны в 152-ФЗ и приказе Роскомнадзора №996, в том числе:
замена идентификаторов (ФИО на уникальные коды);
- удаление или искажение полей (например, замена точного возраста диапазоном);
- декомпозиция (данные делятся на части и хранятся отдельно);
- перемешивание (случайное смешивание записей в наборах данных).
На практике применяются open source-инструменты (ARX, Amnesia, Faker) и коммерческие решения. Чем строже требования к защите (например, в медицине или финансах), тем больше внимания уделяется анонимизации и логированию операций.
Этап 4: Разметка
Если используется обучение с учителем (supervised learning), разметка данных критически важна. От качества и согласованности меток зависит точность модели и её способность масштабироваться на новые данные без переобучения.
Существует несколько подходов к разметке:
Ручная аннотация специалистами — самый надёжный способ для сложных или чувствительных задач. Главный минус — высокая стоимость и длительность процесса.
Краудсорсинг через платформы (например, Toloka) позволяет масштабировать разметку за счёт распределения задач среди исполнителей. Однако он требует обязательного контроля качества: формулировки инструкций, тестовых заданий и оценки согласованности между аннотаторами.
Автоматическая разметка на основе правил (регулярные выражения, словари), эвристик или предобученных моделей. Подходит для рутинных повторяющихся случаев, но может вносить систематические ошибки, если не проверяется вручную.
Гибридный подход (Human-in-the-Loop, HITL) — один из наиболее эффективных. Автоматическая модель делает черновую разметку, а человек валидирует и уточняет. Это снижает трудозатраты, повышая точность и контролируемость.
При разметке часто возникают проблемы, связанные с нечёткими инструкциями: аннотатор может пропустить важные детали, если не понимает, что именно считать признаком класса. Например, без явного указания не отметить мелкие царапины как повреждение поверхности.
Ещё одна распространённая ошибка — игнорирование дисбаланса классов. Когда в размеченных данных слишком мало примеров редких категорий, модель в дальнейшем будет хуже их распознавать. Для компенсации на этапе подготовки к обучению применяют стратегию oversampling — увеличение доли редких классов за счёт копирования или генерации новых примеров. Это позволяет повысить устойчивость модели и снизить вероятность ошибок при работе с малочастотными сценариями.
Этап 5: Разделение выборки
Данные делятся на три класса: обучающую, валидационную и тестовую выборки. Валидационная выборка нужна для тонкой настройки модели и остановки обучения, когда модель начинает запоминать примеры. Тестовая выборка имитирует «боевые» данные и не может быть использована при обучении, так как это может привести к «утечке данных» и завышенным метрикам.
Обычно данные делятся в следующей пропорции: 60–80% — обучение, 10–20% — валидация, 10–20% — тест. При этом важно сохранять репрезентативность распределения классов. Для этого используется стратифицированное разбиение. В задачах с временными рядами, наоборот, важно сохранить хронологический порядок и не допустить «заглядывания в будущее».
Этап 6: Проверка качества
Финальный этап — проверка на целостность, репрезентативность и стабильность. Эта процедура называется разведочным анализом данных (EDA — Exploratory Data Analysis) и включает:
оценку полноты (есть ли пропущенные значения),
поиск выбросов, аномалий, дубликатов,
визуализацию распределений,
выявление корреляций между признаками,
- анализ дисбаланса классов.
Для задач прогнозирования важно, чтобы данные не только были «чистыми», но и соответствовали бизнес-контексту. Модель, обученная на устаревших или нерелевантных примерах, не будет приносить пользы, даже если её метрики высоки.
Чем выше цена ошибки, тем тщательнее и чаще должны проверяться данные на стабильность и влияние на бизнес-процесс. Для долгоживущих моделей можно проверять раз в 3-6 месяцев или при сильном изменении в принятии решений (модель начинает всем говорить «Да» или «Нет»), но проще автоматизировать проверки.
Подготовка данных — ключ к стабильной и воспроизводимой ИИ-модели. За шесть этапов формируется основа, на которой строится всё остальное: от корректности предсказаний до поведения модели в продакшне. Ошибки на ранних стадиях, особенно при очистке, разметке и разбиении выборок, приводят к переобучению, смещённым метрикам и сбоям при внедрении. Так что системный подход к подготовке — не опция, а обязательный этап любой серьёзной ML-разработки.