Как мы отказались от краудсорсинговой разметки данных для ИИ и сэкономили 30% бюджета
Руководитель группы аналитики Naumen Ника Чалова рассказывает, почему проектной команде не подошли краудсорсинговые сервисы разметки данных и как организовать работу асессоров в штате, чтобы проекты и команда не простаивали.
Меня зовут Ника Чалова, я руководитель группы проектной аналитики в компании NAUMEN. Наша команда развивает платформу Naumen Erudite, на которой можно создавать голосовых роботов и чат-ботов, и реализует проекты по роботизации клиентского обслуживания для крупных компаний.
Некоторое время назад мы встали перед выбором: отдать разметку данных на краудсорсинг или собрать свою команду асессоров. Расскажу, почему мы в итоге наняли специалистов в штат и какие набили шишки по пути.
Начнем с того, зачем нам понадобилась разметка.
Все роботизированные системы, к счастью или к сожалению, построены только на большом массиве данных: роботу на базе искусственного интеллекта нужно их проанализировать, обработать, чтобы дальше использовать эту информацию. Соответственно все данные, которые есть у наших заказчиков или у нашей компании, нужно как-то размечать.
Разметка данных (data labeling) — внесение в изображение или текст тэгов. В процессе разметки производится качественное преобразование — сырые данные дополняются метаданными и превращаются в информацию.
Впервые подступившись к задаче асессинга, мы решили попробовать заказать разметку данных на одном из популярных сервисов по разметке, где к заданию подключается множество исполнителей, работающих удаленно. Краудсорсинговая платформа изначально показалась нам очень удобной: мы могли закинуть туда простое задание, например, разметить три столбца текста в Excel, и в следующие день-два получить готовый файл.
Однако проблемы, с которыми мы столкнулись, скоро изменили первое впечатление от сервиса и сделали невозможным его использование.
Чем нам не подошли открытые платформы для разметки данных
Во-первых, NDA. Оправляя задание по разметке на открытую площадку, мы открывали его всему Рунету. Конфиденциальность, какие-то договоренности, репутация — стали большой проблемой. Вот один из примеров: согласно договору с заказчиком, только проектная команда могла читать расшифровки диалогов операторов контакт-центра и договоры компании, информация не должна была выходить за этот условный периметр. И такое ограничение не позволяло ставить задачу по разметке во вне.
У нас в команде появилась шутка, что договор NDA обычно длиннее, чем файл с 10 тыс. обучающих диалогов, которые нам нужно разметить.
Во-вторых, сложности в коммуникации и приемке задач. При постановке задачи на внешней платформе всегда нужно очень четко и обоснованно прописать, как мы будем принимать и оценивать качество выполненной работы. При этом асессор мог к нам апеллировать и утверждать, что он сделал все правильно, а денег ему не заплатили. Это ведь всегда незнакомые люди, с которыми бывает сложно наладить контакт.
Когда в один момент сложились вышеуказанные факторы, на нас стали сыпаться проекты, а делать разметку было некому.
Тогда нам пришлось подключать к разметке разработчиков. В итоге ребята не понимали, когда писать код и делать классные продуктовые фичи, если им надо размечать данные, слушая диалоги и читая переписки. Откровенно говоря, им всем тогда просто хотелось уволиться. Большей катастрофы для команды сложно представить.
Как мы исправляли положение?
Именно в тот момент мы решили нанять своих асессоров.
Опираясь на опыт тестирования краудсорсинговой разметки, мы уже знали:
Какие люди занимаются такими проектами. Понимали, на какие факторы делать акцент при поиске кандидатов к себе в команду.
- Как регламентировать разметку данных. Понимали, какие бывают данные и как их типизировать.
Как искали асессоров в команду
В первую очередь мы решили, что это будет удаленный сотрудник, который мог не иметь опыта подобной работы.
В вакансии мы не перечисляли требований к hard skills соискателя. Разметка — это рутина, которой наш кандидат не должен был бояться и которой мог бы заниматься качественно. Об этом мы предупредили заранее.
Самым главным условием была доступность сотрудника в рабочие часы (с 10 до 19 мск), чтобы мы могли ставить задачи, общаться, давать и получать обратную связь оперативно. Мы оценили примерную ежедневную загруженность сотрудника в 4 часа, поэтому часть кандидатов была уже вовлечена в сторонние проекты (это впоследствии привело к проблеме).
Поиск мы начали только по знакомым, потому что нам еще предстояло отладить работу с асессором in-house.
Собеседования проходили по Skype, мы давали несложные задания по разметке в Excel и смотрели, как кандидат с ними справляется.
Оплату мы изначально привязали к количеству размеченных единиц данных, от чего потом были вынуждены отказаться. Почему — расскажу дальше.
Как проверяли и оценивали задачи
Внутри нашего продукта Naumen Erudite мы сделали интерфейс для оценки работы асессинга. В нем можно было ранжировать по темам реплики, которые обрабатывал асессор, проверять часть размеченных реплик вместо всего массива, регулируя размер выборки, а также сразу же оценивать корректность работы и исправлять допущенные ошибки.
Вначале я проверяла и оценивала работу асессоров сама.
В таком «ручном» режиме мы проработали около трех месяцев, после чего научились примерно прогнозировать нагрузку и приняли в команду еще двух асессоров, написали руководство по работе с интерфейсом. К слову, наши «первые» асессоры сняли с меня задачу по оценке работы новых сотрудников.
Но спустя полгода такой, казалось бы, крутой и слаженной работы, появились большие проблемы.
Проблема №1. Оплата труда
Как я уже писала выше, сначала мы использовали традиционную для внешних ресурсов оплату: реплика = N рублей. Но в случае, когда надо было переделать реплики или они оказывались ненужными, платить ли асессору — не понимали. Тогда мы ввели почасовую оплату работы с системой приоритетов.
Обычный приоритет: мы ставим задачу, и асессор знает, за какое время он должен ее сделать.
- Высокий приоритет ставим на срочные проекты, когда надо очень быстро разметить данные.
Такая система удобна самим асессорам: они знают, если задача оценена в 10 часов работы, их заработок не будет зависеть от количества обработанных реплик, не нужно хранить в голове лишнюю информацию.
Проблема №2. Рабочий график асессоров
Рабочая нагрузка асессоров выглядит как синусоида — задачи приходят и уходят, и наши сотрудники не знали, будут ли они нам нужны сегодня утром или в обед. Конечно, это неудобно: невозможно спрогнозировать свой день, особенно если работать еще на каком-нибудь фрилансе.
Так у нас был серьезный провал, когда появился классный контракт, нужно было размечать данные, а нашего асессора просто не было – он был на своей второй работе.
Что мы сделали: ввели минимальную оплату труда даже если вообще не будет задач. Мы получили лояльность и гарантию того, что асессор будет доступен нам в нужное время, а асессор — уверенность в завтрашнем дне.
И еще мы ввели разные графики работы. Сначала наши асессоры работали по 3-4 часа в день, но, просмотрев нагрузку, мы ввели два графика:
- full-time — два сотрудника, которые работают с нами 5/2 независимо от нагрузки;
- сдельный — специалисты работают с нами по часами делают разметку в любое время: ночью, в выходные и в праздники. Получая почасовую оплату, они не зависят от нашего графика.
Проблема №3. Хаос в коммуникации
Чем больше было проектов и людей, тем сложнее было ставить задачи в Skype, отдавать данные в Excel и переписываться в WhatsApp.
Что мы сделали: для начала завели в Google Docs диаграму Ганта для каждого асессора и в целом по команде на месяц. Она помогала понять, какие задачи сейчас есть в работе, как они пересекаются, какие у них дедлайны.
На месяц вперед мы смогли представить нагрузку асессоров, а они, в свою очередь, в конце каждого периода стали получать готовую отчетность по проделанной работе: все прозрачно и честно.
А в прошлом году мы сделали отдельный Redmine-проект внутри роботизированного сервиса в контактном центре (к слову, роботы в контакт-центрах — наш основной профиль), где задачу мог ставить уже любой холдер: проектный или продуктовый аналитик, разработчики. В проекте можно просмотреть сроки и количество задач, их приоритетность и авторов.
Все любят цифры. Вот они:
За полтора года мы поучаствовали в 12 проектах, разметили порядка 50 тыс. обучающих реплик, транскрибировали около 2 тыс. часов аудиозаписей разговоров операторов с клиентами.
Мы подсчитали, что в сравнении с сервисом разметки данных, работа со штатными асессорами сэкономила нам порядка 30% бюджета. При этом наибольшую экономию мы получили благодаря тому, что формирование квалифицированной команды позволило нам отказаться от многоступенчатой проверки качества разметки, которая была необходима при работе с краудсорсингом.
Выполнение типовой задачи по транскрибированию и разметке 10 тыс. аудиозаписей диалогов с помощью специализированного сервиса обходилось лишь на 4% дороже, чем in-house в перерасчете на человеко-часы. Мы тратили гораздо больше денег и времени на проверку результата работы.
Каждый переведенный в текст и размеченный на краудсорсинге диалог проходил трехступенчатую валидацию: корректность выбора асессора оценивали 3 супервизора, которых мы также привлекали через платформу. Если двое не соглашались с решениями асессора, то диалог отправлялся на доработку. Необходимость в статистическом подходе к оценке работ отпала, когда мы начали работать со штатными асессорами. Мы были больше уверены в их экспертизе, которая росла от проекта к проекту, и теперь могли обходиться одним штатным супервизором-куратором для каждой задачи.
Такого формата работы мы придерживаемся и сейчас: супервизор валидирует результаты разметки каждого асессора и при необходимости вносит коррективы в формат размеченных данных. В среднем количество ошибок при штатном асессинге не превышает 5%. Так наращивание компетенций внутри команды и отказ от сложной методики приема работы позволили сэкономить еще 26% бюджета.
Кроме того, мы ни разу не вышли за пределы ежемесячного ФОТ отдела, потому что постоянно оптимизируем процессы. Хотя объем проектов увеличивается в геометрической прогрессии, отдел не растет на протяжении полугода.
Как работает отдел сейчас
Сейчас у нас в штате пять асессоров, двое из которых работают полный день. У команды есть куратор, который взаимодействует с остальными отделами — это один из первых нанятых специалистов. Он принимает задачи из Redmine и распределяет их внутри отдела, оценивает и принимает работу других сотрудников.
Ставят задачи асессорам проектные и продуктовые аналитики, а также разработчики. Последним интересна не проектная разметка, а проверка гипотез о машинном обучении и данных, которые нужно добавить в обучаемые модели.
Кроме того, мы проанализировали работу аналитиков, которые принимают в итоге работу у асессоров, и стали декомпозировать их задачи: например, что-то можно автоматизировать, что-то перевести на асессинг и отдать сотрудникам, которые работают у нас в штате на полный день.
Это дает классную цепочку: аналитики забирают более сложные задачи, а асессорам веселее от того, что работа не такая уже и монотонная.