Хабрахабр

Как краудсорсинговая платформа Яндекса помогает обучать беспилотники и оценивать качество сервисов

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

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

Все заголовки кликабельны – ссылки ведут на записи докладов. Под катом – примеры того, как Толока помогает Яндексу и другим компаниям развивать свои продукты.

МФТИ использовал Толоку для оценки качества чат-ботов в рамках проведения хакатона DeepHack.Chat. В нем участвовало 6 команд. Задача была разработать чат-бота, который может рассказывать о себе на основе данного ему профиля с кратким описанием личностных характеристик.

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

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

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

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

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

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

Пример диалога в первый день хакатона:

На четвертый день:


На первое задание потратили 180 долларов, на второе – 15 долларов. Статистика: оценка длилась 4 дня, в ней поучаствовало около 200 толокеров и обработали 1800 диалогов. Процент валидных диалогов оказался выше, чем при работе с волонтерами.

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

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

Это в несколько раз увеличило скорость и качество разметки. Так как в Толоке можно встроить любой интерфейс и передавать данные по API, разработчики вставили свой визуальный редактор, в котором есть слои, прозрачность, выделение, увеличение, деление на классы.

Например, прежде чем размечать картинку, можно отметить, какие объекты на ней есть. Кроме того, API позволяет автоматически дробить задания на более простые и собирать результат из кусочков. Это даст понимание, на какие классы разметить изображение.

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

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

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

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

Ozon использует Толоку для создания эталонной выборки. Это нужно для нескольких целей.

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

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

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

Задание состояло из трех блоков – обучение, контроль с порогом 60% правильных ответов и основное задание с порогом 80% правильных ответов. Чтобы исключить ошибки, в Ozon провели тестовый запуск. Чтобы улучшить качество выборки, одно задание предлагали пяти исполнителям.

Бюджет составил 12 долларов. Статистика тестового запуска: 350 заданий за 40 минут. На первый этап пришли 147 исполнителей, 77 прошли обучение, 12 получили навык и выполняли основное задание.

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

Бюджет составил 1150 долларов. Статистика основного запуска: 40000 заданий за один месяц. Пришли в проект 1117 толокеров, 18 получили навыки, 6 получили доступ к самому большому основному пулу и оценивают его.

Сейчас задание Ozon на Толоке выглядит так:

Его задача – выбрать одну из оценок – «подходит», «не подходит», «подходит на замену», «дополнительный», «не открывается». Исполнитель видит поисковый запрос и 9 товаров из выдачи. Чтобы максимально точно сымитировать поведение пользователя, разработчики через iframe воссоздали интерфейс интернет-магазина. Последняя оценка помогает обнаружить технические проблемы на сайте.

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

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

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

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

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

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть