Как избавиться от проблем при разметке данных для обучения ML моделей?

Как избавиться от проблем при разметке данных для обучения ML моделей?

Введение

Потребность в аннотировании данных растёт из-за роста популярности машинного обучения. Только люди способны создать эталонную разметку, которая необходима для обучения модели. Работа аннотатора очень неблагодарна, монотонна и иногда сложна. Работа менеджера проекта по аннотированию, руководящего проектом с тысячами, а иногда и с миллионами объектов, тоже может быть тяжёлой. Кроме того, с увеличением объёмов данных проблема становится всё более комплексной.

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

Не стоит недооценивать время, необходимое для запуска проекта

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

При формировании проекта перед этапом разметки следует тщательно всё продумать. Какой тип аннотаций нам нужен? Как мы будем использовать полученную разметку? Нужна ли выполняющих разметку сотрудникам экспертиза? Вот примеры вопросов, которыми необходимо задаться при формировании проекта аннотирования. Ответив на эти вопросы в начале проекта, вы сэкономите себе огромное количество времени.

Уделите время созданию качественных инструкций

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

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

Как избавиться от проблем при разметке данных для обучения ML моделей?

Так произошло, потому что вы не предоставили аннотаторам достаточно чётких гайдлайнов. Если такое происходит, вам нужно сделать инструкции по разметке более чёткими и повторно разметить все неправильно аннотированные элементы. Это может привести к большой потере времени! Составление качественных инструкций для аннотаторов — важнейший этап проекта аннотирования.

Уделите время изучению набора данных

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

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

Уделите время оценке своих ресурсов

Помните, что нужно уделить время планированию временных и финансовых ограничений. Оценка затрат на время выполнения проекта позволит вам понять, сможете ли вы аннотировать весь набор данных полностью. Если нет, то может быть хорошей идеей выбрать самые важные из элементов. Не забудьте учесть затраты на формирование рабочей силы, этап контроля, время на разметку новых элементов, которые могут появиться, и так далее. Количество аннотируемых элементов может быстро стать препятствием для своевременного выполнения аннотаций.

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

По возможности используйте умные инструменты

Умные инструменты — очень хороший способ ускорения проекта аннотирования; это дополненные машинным обучением инструменты, предсказывающие, что вы хотите сделать в процессе аннотирования.

В сфере сегментации изображений

Сегментация изображений может быть одной из самых длительных задач аннотирования. Она необходима, если вам нужно задать очень точное попиксельное расположение объекта на изображении. Рисование границы объекта мышью — это длительный и очень неточный процесс. Для решения этой проблемы существуют два варианта умных инструментов — суперпиксели и интерактивная сегментация.

Суперпиксели

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

Как избавиться от проблем при разметке данных для обучения ML моделей?

Интерактивная сегментация

Инструменты, использующие интерактивную сегментацию, позволяют отрисовать на размечаемом объекте очень простую фигуру, а модель автоматически определяет с попиксельной точностью, какую фигуру вы хотите выбрать. Существуют различные UX интерактивной сегментации, например, пользователь должен нарисовать ограничивающий нужный объект прямоугольник или поставить точку на фигуре.

Как избавиться от проблем при разметке данных для обучения ML моделей?

В сфере детекции объектов

Инструменты распознавания объектов на изображениях позволяют автоматически обнаруживать присутствие и расположение объекта. Эти аннотации могут указываться как прогнозы и проверяться аннотаторами. При аннотировании человеческий глаз за секунду может определить наличие класса, а основная часть времени тратится на отрисовку позиции каждого объекта.

Как избавиться от проблем при разметке данных для обучения ML моделей?

Инструменты детектирования объектов позволяют решить две задачи:

• Задачу классификации: определения того, есть ли объект на изображении

• Задачу распознавания изображения: прогнозирования максимально точной позиции объекта, если задача классификации показала, что объект на изображении есть.

В сфере аннотирования видео

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

• Задачу отслеживания нескольких объектов (Multi Object Tracking, MOT), выполняющую распознавание объектов в видео. Способна определять местоположение объекта и добавлять размерность причинно-следственной связи, чтобы отслеживать его между кадрами.

• Задачу отслеживания одного объекта (Single Object Tracking, SOT), позволяющую пользователю выделить объект на первом кадре и выявлять позицию объекта на последующих кадрах.

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

И это только некоторые из примеров инструментов, позволяющих упростить работу над проектом аннотирования. Умные инструменты экономят вам кучу времени, позволяют создавать более точные аннотации и уменьшают трудоёмкость процесса аннотирования.

Эти инструменты используют ИИ-модели, но не стоит забывать, что цель проекта — позволить людям создать эталонные аннотации. Не стоит позволять моделям аннотировать данные для обучения других моделей, это бессмысленно. Эти инструменты предназначены для ускорения аннотирования людьми, а не для их замены. Если вам не удаётся спрогнозировать аннотацию, которую нужно создать, человек всегда должен исправить её, если это возможно, или выполнять аннотирование без умных инструментов.

Обеспечьте простоту контроля проекта

Ещё одно слабое место системы аннотирования данных, способное усложнить разметку — это отсутствие инструментов, позволяющих удобным образом контролировать проект и аннотаторов.

Аудит качества

Люди определяют эталонную аннотацию, но этот эталон субъективен и не все люди создадут одинаковую разметку для одного элемента. Вы можете предоставить им инструкции, но как убедиться, что они им следуют? Аннотирование — очень монотонная задача и качество аннотаций со временем может снижаться, но как это выявить? Без возможности аудита качество аннотаций может стать источником проблем.

Контроль работы и обратная связь

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

Метрика несогласованности

В проектах со сложной разметкой, где разные люди могут выбрать различные метки, стоит обеспечить аннотирование элементов несколькими аннотаторами. Наличие метрики измерения консенсуса среди аннотаторов позволит вам выявить спорные элементы. Это поможет удалить элементы, мнения о которых противоречивы и которым сложно присвоить метку. Также это позволит контролировать такие спорные элементы и устранять неопределённость. Кроме того, это позволит вам понять уровень сложности набора данных с точки зрения аннотирования.

Honeypot и золотой стандарт

Honeypot и «золотой стандарт» (golden standard) — два названия одного понятия. Оно позволяет создать референсную разметку, которую можно считать эталоном. Следовательно, оно позволяет измерить противоречия, но на этот раз не между аннотаторами, а между эталонной разметкой и разметкой аннотаторов. То есть honeypot — это мера качества аннотации и хороший инструмент для аудита качества.

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

Контроль очереди и порядка

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

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

При проверке разметки важно сосредоточиться на элементах с наименьшим консенсусом. Если количество проверяемых элементов велико, стоит поместить элемент с наименьшим консенсусом в начало очереди проверки.

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

Отслеживание прогресса проекта

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

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

Невозможно ежедневно тратить время на сбор статистики для получения этой информации. Нельзя тратить время на электронные таблицы, чтобы создавать отчётность об эволюции проекта или обновление KPI. Вся эта информация должна быть легкодоступна и непрерывно обновляться.

Справочные материалы

Best Practices for Managing Data Annotation Projects: Tina Tseng, Amanda Stent, Domenic Maida, https://arxiv.org/abs/2009.11654

Понравилась статья? Еще больше информации на тему данных, AI, ML, LLM вы можете найти в моем Telegram канале “Роман с данными”

  • Как подготовиться к сбору данных, чтобы не провалиться в процессе?
  • Как работать с синтетическими данными в 2024 году?
  • В чем специфика работы с ML проектами? И какие бенчмарки сравнения LLM есть на российском рынке?

Обо всем этом читайте в “Роман с данными”

Начать дискуссию