Как организовать разметку данных для ML? Советы от Data Light

в 13:30, , рубрики: data annotation, data science, data science digest, аннотация данных, инструменты для аннотации, краудсорсинг, разметка данных, разметка датасета
Как организовать разметку данных для ML? Советы от Data Light - 1

За каждым «умным» решением, которое принимает ИИ, стоят огромные объемы данных, тщательно размеченные и подготовленные для обучения. Но как организовать этот процесс так, чтобы модель работала эффективно? Мы в Data Light считаем, что это искусство, требующее правильного подхода, инструментов и стратегии.

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

Дмитрий Рогальский, Special Projects Group Manager в Data Light

Алексей Корнилов, Moderation Group Manager в Data Light

Давайте начнем с разных подходов к разметке:

Внутренняя разметка данных

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

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

Если взять задачу классификации, например, 10,000 изображений, то на разметку одного требуется около 10 секунд. Это позволяет обрабатывать 600–800 изображений в час, а за полный рабочий день — порядка 30–40 часов классификации. Такой подход возможен, если у команды есть время и приоритет на выполнение задачи.

Но важный момент: качество работы в in-house разметке предсказуемо, если компания точно понимает, зачем ей это нужно и какие задачи нужно решить. Но часто бывает, что из-за отсутствия опыта не до конца понятно, чего хочется. Например, запрос звучит как «разметить дороги и все вокруг» или «сделать три варианта, а какие поймем по ходу».

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

Преимущества

Высокий контроль качества — сотрудники компании могут обеспечивать высокий уровень точности, ведь они имеют глубокое понимание предметной области и целей проекта.

Гибкость и адаптивность — команды могут вносить изменения и коррективы в процессе работы без сложных согласований. 

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

Лучшее понимание контекста — внутренние сотрудники, как правило, лучше понимают специфику и особенности данных.

Долгосрочные выгоды — развитие внутренней экспертизы и компетенций может повысить общий уровень навыков команды и упростить дальнейшие проекты.

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

Недостатки

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

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

Нагрузка на сотрудников — часто сотрудники совмещают разметку с основной работой, из-за отсутствия опыта в организации аннотации перерабатывают и испытывают стресс. А еще внутренние ресурсы не всегда могут быстро адаптироваться к увеличению объёмов работы.

Краудсорсинг разметки

Краудсорсинг позволяет существенно сэкономить время и ресурсы. Платформы, такие как Amazon Mechanical Turk (MTurk), предоставляют доступ к тысячам работников, готовых выполнять задачи разметки. Процесс на этих платформах выстроен так, что задания быстро попадают к исполнителям, а результаты можно получить в кратчайшие сроки. Например, MTurk позволяет размечать тысячи изображений за считанные часы благодаря высокой вовлечённости сообщества.

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

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

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

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

Преимущества

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

Масштабируемость  —
Легко масштабировать процесс обработки данных, привлекая тысячи участников. Это особенно полезно для больших объёмов данных.

Прозрачность бюджетирования — Заранее известная стоимость (например, $0,05 за задачу) позволяет точно планировать бюджет на разметку. (Но стоимость на валидацию на таких проектах выше)

Гибкость — Есть возможность быстро перераспределить задачи или запустить дополнительные задания в случае необходимости.

Недостатки

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

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

Аутсорсинг специализированным компаниям

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

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

Например, в Data Light мы чаще всего выбираем репрезентативные выборки данных для проверки (а по запросу клиента можем провалидировать и все данные), активно взаимодействуем с руководителями групп, передавая информацию об обнаруженных аномалиях и статистику по продуктивности исполнителей.

Особое внимание мы уделяем обучению валидаторов: наш отдел Learning and development проводит программы повышения квалификации, включая работу над сложными кейсами и освоение современных инструментов контроля качества. Этот подход позволяет нам гарантировать высокую точность и стабильность разметки даже на масштабных проектах

Преимущества

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

Гарантия качества — компании часто используют проверенные методологии и инструменты для обеспечения высокого уровня выполнения задач.

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

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

Контроль процессов и стандартов — специализированные компании поддерживают определенные стандарты и могут работать по заранее установленным соглашениям об уровне обслуживания.

Недостатки

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

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

Аутсорсинг конкретным исполнителям

Ещё один метод разметки — привлечение фрилансеров через специализированные платформы вроде UpWork, LinkedIn или HH.ru для России. Этот подход позволяет отобрать опытных специалистов для сложных проектов, требующих глубоких знаний и высоких стандартов качества, а выбор исполнителей по навыкам и тестирование их компетенций помогают получить ожидаемый результат.

Так, для сложных медицинских или технических проектов, где важна точность, можно нанять фрилансеров и проверять их навыки перед началом работы.

Преимущества

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

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

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

Широкий доступ к международным талантам — использование глобальных платформ открывает доступ к большому количеству специалистов со всего мира.

Недостатки

Больше подготовки и управления  — Потребуется создать шаблон задачи, предоставить чёткие инструкции и иногда даже обучить специалистов работать с нужным инструментом для разметки. А еще за вами остаётся ответственность за проверку и приёмку выполненных задач.

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

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

Зависимость от внешних исполнителей — сложность управления командой внештатных сотрудников может привести к рискам в сроках и качестве выполнения работы.

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

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

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

Синтетическая разметка и разметка синтетических данных

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

Существует три основных типа генеративных моделей:

  • Generative Adversarial Networks (GAN): генерируют данные через противостояние двух сетей — генератора и дискриминатора, которые учатся «побеждать» друг друга, пока результат не станет максимально похож на реальность.

  • Autoregressive Models (AR): генерируют данные, ориентируясь на предыдущие значения, что особенно полезно для последовательных данных, таких как текст или изображение.

  • Variational Autoencoders (VAE): используют кодирование и декодирование, создавая новые образцы на основе существующих данных.

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

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

Преимущества

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

Доступность данных
Синтетические данные можно создать в любом необходимом объёме, даже если реальные данные недоступны или их сбор затруднён.

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

Увеличение объема данных — модели можно обучать на большом количестве разнообразных данных, которые не требуют дополнительных затрат на сбор.

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

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

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

Недостатки

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

Не всегда полностью отражают реальность — Обучение моделей на таких данных может потребовать доработок на реальных данных, когда они станут доступны.

Риск недостаточной реалистичности
Иногда синтетические данные могут отличаться от реальных, что приводит к ошибкам в модели.

Трудности в создании сложных данных — Некоторые сценарии и детали сложно смоделировать синтетически, особенно если они имеют многофакторные зависимости.

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

Инструменты для разметки

В мире разметки сейчас существует огромное разнообразие инструментов и каждый имеет свою специфику.

Для вашего проекта вы можете выбрать наиболее подходящий для конкретных задач, от простых проектов до масштабных исследований. Рассмотрим некоторые из них — LabelMe, LabelImg, Supervisely, CVAT и Label Studio — каждый с уникальными возможностями и ограничениями.

CVAT
CVAT — удобный инструмент с веб-версией, который не требует установки. Кстати, разработали его в Нижнем Новгороде. Это open-source решение, которое можно кастомизировать под конкретные задачи.

Платформа поддерживает разные виды аннотаций (bounding boxes, polygon и другие), что делает её универсальной для различных проектов. Кроме того, доступна возможность командной работы, где менеджеры видят все проекты, а исполнители — только свои, он упрощает управление задачами и координацию работы, особенно в крупных проектах.

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

LabelMe 

LabelMe — один из популярных open-source инструментов, созданный на Python. Он подходит для гибкой аннотации изображений. С его помощью можно легко экспериментировать с различными типами разметок. LabelMe можно использовать как в онлайн-версии, так и в оффлайн-приложении, доступном для всех основных операционных систем. 

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

LabelImg

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

Supervisely

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

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

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

Label Studio

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

Но для некоторых пользователей требования Label Studio к ресурсам могут стать проблемой, и для разметки Bounding Boxes он уступает CVAT по скорости и удобству. Зато Label Studio особенно эффективен для работы с аудио и нестандартными типами данных.

Задумываетесь, как разметка может открыть новые возможности для вашего бизнеса? Давайте вместе найдем идеальное решение, чтобы превратить ваши цели в реальность!

Как организовать разметку данных для ML? Советы от Data Light - 2

Дмитрий Рогальский

Special Projects Group Manager в Data Light

Как организовать разметку данных для ML? Советы от Data Light - 3

Алексей Корнилов

Moderation Group Manager в Data Light

Автор: evgeniatro

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js