Назад
960

Как избежать хаоса в разметке данных и улучшить качество ML-моделей

960

Введение

Всем привет! Меня зовут Дарья Воронкина, и я Team Lead data analyst в компании Onecell.

Я занимаюсь процессами поставки данных: от разметки до аналитики. В команде у меня около 20 врачей, и мы постоянно размечаем большой поток данных.

Давайте сегодня разберёмся вместе, как можно избежать хаоса в разметке данных, и почему это влияет на качество ML-моделей.

Основа основ — Data-centric AI

Что это?

Термин «Data-Centric AI» начал активно продвигать Andrew Ng, один из самых известных исследователей в области машинного обучения. Он заметил, что индустрия слишком долго фокусировалась на совершенствовании моделей и архитектур, а качество данных при этом часто оставалось на заднем плане.

«Instead of focusing solely on improving code, we should focus on systematically improving data».

Рисунок 1. Просто жизненная картинка :)
Рисунок 1. Просто жизненная картинка 🙂

Основная идея подхода — вместо бесконечного улучшения модели нужно сосредоточиться на улучшении данных (особенно — их разметки, чистоты, полноты и согласованности).

Рисунок 2. Сравнение Model-Centric AI и Data-Centric AI
Рисунок 2. Сравнение Model-Centric AI и Data-Centric AI

Почему важно?

Улучшать данные нужно, как минимум, вследствие следующих трёх причин:

  • большинство ошибок модели происходит из-за некачественных, грязных данных. Не забываем: shit in — shit out;
  • улучшение данных в сравнении с усложнением модели зачастую даёт больший прирост точности;
  • это особенно критично в нишевых задачах, где мало данных (например, медицина или финансы).
Рисунок 3. «Не забываем: shit in — shit out»
Рисунок 3. «Не забываем: shit in — shit out»

При чём тут разметка?

💡 Разметка — мост между «сырыми» данными и обучающей выборкой.

Без разметки:

  • модель не понимает, что искать в данных;
  • невозможно сформулировать метрику успеха;
  • нельзя контролировать смещения, ошибки и шум.

Особенно в чувствительных доменах — медицина, юриспруденция или финансы — качество разметки напрямую влияет на безопасность и надёжность модели.

Современные исследования подтверждают: качество данных, особенно — разметки, критично для надёжности ML-систем.

Например, в работе Northcutt et al., 2021 показано, что в популярных бенчмарках вроде ImageNet до 6% тестовых примеров размечены с ошибками, и эти ошибки существенно искажают оценку качества моделей. Даже небольшое улучшение разметки (на 5–6%) способно изменить расстановку сил между архитектурами, делая «простые» модели более надёжными.

В то же время, статья Xu et al., 2024 демонстрирует, что качественное и сбалансированное автоматизированное курирование данных (системой EcoDatum) повышает эффективность обучения на 28% по сравнению с традиционными методами. Это подчёркивает суть Data-Centric AI: не гонка за сложными моделями, а системная работа с данными.

Хаос в разметке: откуда растут ноги

Окей, с важностью разметки разобрались. А что делать дальше? Просто передать данные разметчикам, получить аннотации — и готово?

На практике всё сложнее: не всегда ясно, что размечать, как это делать правильно и с чего стоит начинать.

Даже если кажется, что процесс идёт, хаос может быть изнутри. У него есть основные симптомы:

1. Плавающие инструкции

Инструкция живёт в голове у тимлида, меняется в процессе, а команда может размечать по старой. В результате имеем в одном датасете — разные логики.

2. Отсутствие версионирования

Не фиксируется, кто, когда и по какой логике размечал. При проверке сложно понять: ошибка ли это или просто старая версия правила.

3. Отсутствие описания пограничных случаев

Инструкция охватывает только «идеальные» примеры. Разметчики по-разному трактуют сложные случаи → низкое согласие между ними.

4. Отсутствие обратной связи

Разметчик не знает, что он ошибается. Ошибки повторяются, система не обучается.

5. Один разметчик — один мир

Без перекрёстной проверки (двое размечают одно и то же) невозможно отследить согласие.

6. Отсутствие контрольных примеров (golden set)

Без заранее проверенного набора эталонных аннотаций невозможно оценить качество работы всей команды.

7. Человеческий фактор

Усталость, выгорание, желание «быстрее сдать». Если не учитывать мотивацию и рутину, качество страдает даже у отличных специалистов.

8. Сырые интерфейсы и инструменты

Плохие тулзы ведут к кликам мимо, потере данных, невозможности валидации на лету.

9. Отсутствие метрик качества разметки

Если вы не измеряете качество разметки — оно у вас, скорее всего, низкое.

Хаос в разметке: как его упорядочить

Когда разметка превращается в управляемый процесс, это сразу отражается на качестве данных и, как следствие, — на работе модели. Рассмотрим четыре критически важных элемента.

Процесс разметки

Разметка должна быть не «свободным искусством», а чётким процессом:

  • с понятной постановкой задачи;
  • с пошаговым онбордингом для разметчиков;
  • с чётким каналом связи: куда задавать вопросы, как быстро получать ответы;
  • с предварительным обучением и тестом на понимание инструкции (калибровочные задачи).

💡 Важно: не гонитесь за скоростью в начале. Лучше потратить 2 дня на правильный запуск, чем 2 недели на исправление.

Частые вопросы (FAQ)

— А что, если задача очевидная? Зачем нужен онбординг?

Даже «простая» задача может по-разному трактоваться без уточнений. Люди думают по-разному. Пример: «отметьте токсичные комментарии» — какие именно комментарии считать токсичными?

— Нужно ли обучать опытных разметчиков?

Да. Даже если человек работал с похожими данными, именно ваша задача и ваша логика могут отличаться. Важно выровнять понимание.

— Куда девать спорные случаи?

Создайте отдельный канал / таблицу / тег для пограничных примеров. Они помогают улучшить инструкцию и выявить неоднозначности.

Частые ошибки

  • Инструкция в голове только у менеджера. Разметчики «угадывают» подход.
  • Отсутствие возможности задавать вопросы. Разметчик делает так, как понял — и так продолжает.
  • Пропуск калибровочных задач. Вы не знаете, понял ли человек задачу.
  • Большой объём без пилота. Ошибки множатся, а не выявляются.
  • Отсутствие обратной связи. Люди повторяют одни и те же ошибки и не знают, что делают что-то не так.

Валидация разметки

Проверка — обязательный этап. Без неё всё остальное теряет смысл.

Как это можно организовать?

  • Peer review — один разметчик проверяет другого.
  • Экспертная проверка — отдельный специалист валидирует выборку.
  • Перекрёстная аннотация — две разметки сравниваются, рассчитывается согласие (например, Cohen’s Kappa).
  • Модельный консенсус — если есть обученная модель, используйте её для нахождения расхождений.

Лучше всего работают комбинации, например:

  • две разметки сравниваются, рассчитывается согласие → разногласие передаём на экспертную проверку;
  • две разметки сравниваются, рассчитывается согласие → собирается консилиум из 2 разметчиков, и мы пытаемся понять, кто прав;
  • две разметки сравниваются, рассчитывается согласие → меняется инструкция разметки, и определяются более чёткие границы для минимизации расхождения в пограничных случаях.

💡Важно: применение каждого способа может замедлять время разметки, а зачастую оно является основной метрикой как оплаты работы разметчиков, так и доставки данных.

Версионирование инструкций

💡 Инструкция — это как код: она должна иметь версию, историю изменений и комментарии к ним.

Пара важных советов:

  • храните инструкции в системах с трекингом версий (Notion, Google Docs, Git);
  • обязательно указывайте, какая версия применялась при разметке конкретной партии данных;
  • если в процессе возникали спорные кейсы — добавляйте их в инструкцию с пометкой «обновлено»;
  • инструкциям, как и коду, требуется ревью — привлекайте к нему экспертов и коллег, так ваша инструкция получится более качественной.

Всё это защищает вас от «разметочной шизофрении» — когда в одном датасете существует две разных логики.

Контроль и метрики

Управлять можно только тем, что измеряется. Метрики помогают выявить слабые места и улучшить процесс:

  • согласие между аннотаторами (Inter-Annotator Agreement);
  • процент правок после валидации;
  • скорость + качество — лучше жертвовать скоростью ради стабильности;
  • количество уточнений по инструкции — если их много, нужно менять инструкцию.

Автоматизация процесса

💡Чем больше данных, тем выше цена ошибок и ручной рутины.

Автоматизация помогает со следующими поинтами:

  • предразметка моделью — человек проверяет вместо разметки с нуля;
  • автопроверки на лету — например, логические правила: «если выбрано А, поле B не может быть пустым»;
  • интеграция с тулзами — Label Studio, Prodigy, doccano позволяют встроить автоматическую проверку и экспорт / импорт в пайплайн;
  • контроль качества через скрипты — сравнение с эталонными разметками, метрики качества, алерты на резкое падение согласия.

Заключение

Разметка — не техническая рутина, а стратегическая часть ML-процесса. Если её делать правильно, модели становятся лучше, бизнес получает точные прогнозы, а команда не тонет в хаосе.

Мы в Onecell прошли путь от «давайте просто разметим» до построения системы. И я знаю, что это реально 🙂

Если у вас остались вопросы — задавайте их в комментариях, пообщаемся 🙌

Старт 13 мая
Computer Vision Rocket

Приходите на наш курс CV Rocket, чтобы погрузиться в продвинутый Computer Vision: от сложностей и корнер-кейсов в «обычных» задачах до мультимодальных моделей и дизайна CV-систем!

Телеграм-канал

DeepSchool

Короткие посты по теории ML/DL, полезные
библиотеки и фреймворки, вопросы с собеседований
и советы, которые помогут в работе

Открыть Телеграм

Увидели ошибку?

Напишите нам в Telegram!