Журнал / Польза

Что такое краудсорсинг и почему ему нужно учиться?

Как аналитикам и датасаентистам организовать разметку данных.

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

Что такое краудсорсинг

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

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

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

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

216

Чаще всего это задания на классификацию, в которых нужно ответить на один или несколько вопросов. Самый простой пример — написать, верно ли, что на видео есть человек. Бывают и более сложные задания: в недавнем проекте МФТИ исполнителей попросили пообщаться с чат-ботом и проверить, похоже ли общение бота с собеседником на диалог двух людей.

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

Иногда пользователям нужно дойти до какого-то места и сделать фотографию, например, вывески на поликлинике или полок в супермаркете. Такие снимки используются для дальнейшей разметки, и следующих исполнителей могут попросить переписать текст с фотографии или отметить на ней определённые предметы. За выполнение заданий «толокеры» получают денежное вознаграждение.

Процесс краудсорсинга

— декомпозиция задачи

— составление инструкции

— создание интерфейса

— таргетирование задания

— настройка контроля качества

— публикация задания

— получение результатов

Краудсорсинг начинается с декомпозиции — деления задачи по подготовке датасета на небольшие части. Затем аналитики формулируют задание для разметчиков. «Написать хорошую инструкцию — это искусство», — рассказывает Лёша Друца. В Толоке легко запустить задание на разметку, но для того, чтобы обеспечить высокое качество, нужно грамотно сформулировать, что именно нужно сделать, и учесть частные случаи.

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

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

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

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

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

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

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

Зачем учиться краудсорсингу

Толока используется в большинстве продуктов и сервисов Яндекса, где есть машинное обучение. Аналитикам, которые в них работают, так или иначе нужно изучать краудсорсинг и пользоваться им. «В описании вакансий все чаще упоминаются навыки работы с Толокой», — рассказывает Лёша Друца.

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

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

«Краудсорсингу тоже нужно учиться», — говорит Лёша Друца, один из организаторов занятий по нему в Школе анализа данных. Это первый курс по разметке данных, у него пока нет аналогов в других образовательных программах. В ШАДе студенты разбирают разные этапы краудсорсинга: написание инструкций, создание интерфейсов, контроль качества, выставление цен и так далее.

В Школе задачи разбираются на конкретных примерах из опыта Яндекса. Лекции проводят аналитики из разных сервисов. Они рассказывают, как размечают данные, с какими трудностями сталкиваются и как краудсорсинг помог их продукту.

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

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

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

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

«Внешние заказчики Толоки часто просят подготовить им данные под "ключ"», — объясняет Друца. Однако так как универсальных решений для краудсорсинга нет, то под эту задачу нужны отдельные специалисты. В таких IT-компаниях, как Яндекс, OZON, Тинькофф, уже есть специалисты, занимающиеся разметкой данных через краудсорсинг. Есть и стартапы, которые помогают корпорациям с краудсорсингом: Dbrain, BestPlace, Heartex. При этом на рынке почти нет кадров для краудсорсинга: для этого не хватает образовательных программ, где учили бы разметке данных. А новый курс в ШАДе призван помочь с решением этой проблемы.