Роман с данными
2.72K subscribers
98 photos
23 videos
3 files
118 links
Все о данных, ML, AI
Founder LLM Arena. Ex-Founder TrainingData.Pro
Окончил ВМК МГУ, 8 лет занимаюсь сбором и разметкой данных
Контакты: @roman_kucev
Download Telegram
Роман Куцев. Преподаватель краудсорсинга в ШАДе, ВШЭ, МФТИ. CTO TrainingData.Solutions.

Доклад “Как получать высокое качество размечаемых данных”

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

• Отличия между Data-Centric и Model-Centric подходами
• Итеративный подход к разметке: плюсы и минусы
• Построение эффективного процесса обучения разметчиков
• Методы контроля качества
• Основные ошибки в менеджменте разметчиков

🔥 Регистрация - https://clck.ru/pkj2i
🔥10
Всем привет!
При работе с Толокой мы в TrainingData.Solutions практически всегда используем следующую схему:
• Толокеры собирают/размечают данные
• Постприемку заданий осуществляют внутренние асессоры, либо кураторы проекта

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

Но у нас такая схема не заходит по следующим причинам:
• Именно от валидаторов зависит качество разметки. Валидатор должен быть вовлеченным в процесс, на 100% понимать какой финальный результат нужно получить, уточнять все вопросы у ML команды. Этого можно добиться только при очень скрупулезной настройке проекта валидации.
• Хорошо настроить процесс валидации занимает в 3-4 раза больше времени, чем настройка проекта разметки с постприемкой. Необходимо настроить ханипоты, обучение, экзамен, грамотно написать инструкцию с примерами, покрывающими все кейсы, предусмотреть все возможные варианты обмана со стороны Толокеров. На это расходуется огромное кол-во времени.
• Трудно связать проект разметки и валидации. Для этого нужно быть гуру в Toloka-Kit, чтобы с помощью API выстроить пайплайн переливания данных из одного проекта в другой.

По итогу нам дешевле, быстрее, и проще посадить внутренних асессоров на проверку 🙁

И вот я задаюсь вопросом: это только у нас так, или вы тоже сталкиваетесь с похожей проблемой?
Как вы выстраиваете процесс валидации заданий? Поделитесь опытом)

Какие варианты нашел я:
• С помощью jupyter notebook писать виджет по проверке заданий. Видео. Код.
• Выдавать инхаус валидаторам доступ к Толоке и делать отдельно интерфейс для постприемки. Но проблема возникает, когда валидаторов становится много, мы сделали специальное расширение, чтобы контролировать процесс.
• Использовать нейронки для автоматической проверки
• Объединять проекты с помощью Pachyderm и организовывать валидацию через private crowd
👍11🔥1🌭1
Всем привет! Приглашаю всех в четверг в 19:00 на доклад😉
🚀 @SBERLOGABIG online seminar on data science:
👨‍🔬 Роман Куцев (Co-founder, CTO Trainingdata ) «Как получать высокое качество размечаемых данных»
⌚️ Четверг 14 июля, 19.00 по Москве

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

• Отличия между Data-Centric и Model-Centric подходами
• Итеративный подход к разметке: плюсы и минусы
• Построение эффективного процесса обучения разметчиков
• Методы контроля качества
• Основные ошибки в менеджменте разметчиков

Ссылка на зум будет доступна на канале: https://t.me/sberlogabig перед началом доклада - присоединяйтесь.
🔥18
Поучаствовал в подкасте “Хроники электроники”. Все, кому интересно узнать про самые необычные и интересные кейсы по разметке, welcome.
Audio
Записали небольшой подкаст про разметку данных. Поговорили с СТО в TrainingData Романом Куцевым про то, зачем это вообще нужно, кто такие разметчики и каковы тенденции в отрасли.
Котики, коровки, спящие поросята и др., ― куда же без смешных и необычных кейсов.

По традиции тайм-коды:
00:00 Наш роскошный джингл.
00:04 Представляем экспертного гостя.
00:50 Разбираемся с базой. Что такое разметка данных и какие основные задачи она решает?
02:10 Что сложнее: сбор или разметка данных?
02:54 Методы и инструменты.
04:16 О сложностях, с которыми приходится сталкиваться в процессе обучения нейронки.
06:30 Затрагиваем щепетильный вопрос. Сколько это стоит?
08:22 Про объем рынка и «золотую лихорадку».
11:19 Про автоматическую разметку данных.
12:18 Кейсы по определению тональности голоса человека.
13:10 О мировых супергигантах по разметке данных.
13:45 О конкуренции в России.
14:27 Самые нелепые и смешные кейсы.
16:04 Дорогие и любимые факапы. Автомат Калашникова, плачущие дети и другие любопытные истории.
18:01 Тренды и прогнозы по развитию отрасли в России.

Платформы, где можно послушать подкаст:
Apple Podcasts
Google Подкасты
Яндекс.Музыка
👍13❤2
Всем привет! Поздравляю всех учителей с их профессиональным праздником!

Не все знают, но в 2021 году совместно с Высшей школой экономики я делал курс Промышленное машинное обучение на платформе Coursera.

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

Чтобы интересные и полезные материалы бесследно не исчезли, я решил их выложить на этой странице. Надеюсь благодаря им вы узнаете для себя много нового про сбор и разметку данных.
https://fire-scale-d7c.notion.site/80de29c78edb459691fd509e63bf2edb
🔥28👍7
Что-то давно уже не писал в телеграмм канал.
Хотя очень люблю это делать.

В чем же дело? - спросите вы.

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

И раньше я работал на внешнюю публику:
- выступал на митапах и конференциях
- публиковал статьи на хабре и медиуме
- посещал дата завтраки и хакатоны
- вел телеграмм канал

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

И в этот момент понял, что без сильной команды подо мной я не вывезу.
Поэтому последние пол года посвятил ей. За это время я сделал:
- Нанял 14 человек
- Уволил 5 человек
- Выстроил вертикаль тех отдела и вертикаль менеджеров крауд проектов
- Описал процессы в вертикалях, роли, права, обязанности для каждого сотрудника
- Обучил магии краудсорсинга +6 человек
- Простые проекты по крауду уже выполняю не я
- У подчиненных теперь есть свои подчиненные

И это только начало!
Но положительная динамика уже есть - у меня нашлось время написать этот пост))

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

Для лайков прикладываю фото нашей команды TrainingData.Pro с новогоднего корпоратива.
🔥25👍10❤1🦄1
❤17🔥14🍌1
Как-то проверял новый проект у стажера и наткнулся на блок контроля качества с таким интересным комментарием "не обучился"😀

И вроде бы ничего необычного, но в голове сразу создалась ассоциация с обучением нейронок)

Ведь получается, что людей мы обучаем по похожему принципу, что и ML алгоритмы.
1. Даем обучающие задания (train dataset) - на нем у толокеров формируются в голове нейронные связи и понимание задачи
2. Даем экзаменационные задания (validation dataset) - отбираем людей только с нужными гиперпараметрами мозга, которые после обучения показали хороший скор на валидационном наборе
3. Даем боевые задания с ханипотами (production data + test dataset) - уже в боевом контуре оцениваем качество нейронных связей толокеров
4. Даем реабилитацию (fine-tuning) - если нейронные связи толокера стали слабеть, либо случился data shift, то дообучаем толокера

Таким образом, если толокер показывает плохое качество на validation dataset - значит он не дообучился.

А если толокер показывает хорошее качество на validation, при этом плохое на test, то случился overfitting, и скорее всего ответы на ваш экзамен с тестом толокеры слили в интернет😀

На сколько гениальную теорию я придумал? 😀
👍20🤯3💯3😘1
Как вы могли заметить, мой канал называется "Рома ❤️ Толоку"
И сегодня хочу рассказать об одном мероприятии, к которому причастны и Толока и Рома)

6-7 марта в Ереване пройдет ведущая открытая конференция по искусственному интеллекту opentalks.ai.

Все прекрасно знают, что данные - основа качественно обученной ML модели.
Поэтому Федор Жданов из Толоки организовал секцию "Данные, разметка и тестирование"
А я на ней выступлю с докладом "Как получать высокое качество размечаемых данных"

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

P.S Перед конференцией я решил заехать в Грузию на недельку (Батуми и Тбилиси). Буду рад увидеться с подписчиками. С меня завтрак/обед/ужин, с вас рассказ о ваших болях в разметке данных.
🔥15👍7💋1
Forwarded from Сиолошная
ChatGPT Outperforms Crowd-Workers for Text-Annotation Tasks

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

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

Исследователи из университета Цюриха задались вопросом: а можно ли заменить крауд-сорсинг для разметки данных с помощью ChatGPT (здесь и далее - февральская модель GPT-3.5, не четвёрка). У них уже был набор данных для фильтрации твитов из их прошлой статьи (так что для них задача максимально прикладная). Всего было размечено 2'382 твитов, каждый оценивался двумя обученными аннотаторами (люди с высшим образованием, специализирующиеся на политике - студенты соседних курсов).

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

Всего было 5 разных задач, все - на классификацию твитов:
— обсуждение политики модерации Твиттера (2 класса)
— указывает ли твит на модерацию как на проблему (ограничение свободы слова) или на решение (запрет разжигания ненависти) (3 класса, включая "нейтральный")
— нарушающий закон США о контенте соц. сетей (3 класса)
— классификация по проблемам (6 классов, включая топик "бан Трампа", лол)
— классификация по темам (14 классов вроде "здравоохранение" или "право" или "экономика")
👍1
Forwarded from Сиолошная
Со стороны кожаных отбирали хороших исполнителей, которые имели высокий внутренний рейтинг платформы (и статус "MTurk Masters"). То есть они в меньшей степени кликают просто так, чтобы копеечка капала, и скорее внимательно читают задание. Все - из США.

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

Метрики перед вами на графике. ChatGPT тут представлена в двух видах с разными параметрами температуры при генерации (отвечает за то, насколько случайно будем выбирать слова). Слева - график сравнения доли правильных ответов, справа - согласованность разметки (как часто ответы совпадают от разных разметчиков одного и того же источника. Для ChatGPT - это два одинаковых запуска, для людей - разметка двух разных индивидов)

Ключевое:
1. На 4 задачах из 5 модель справляется сопоставимо или лучше, при этом на ТРЕХ задачах существенно превосходит людей.
2. ChatGPT очень часто согласуется с самим собой, ну это в целом и понятно - ведь нет дообучения между разными запусками, и тут просто встаёт вопрос семплинга ответа.
3. В сложных задачах, где метрики ниже (классификация на 14 классов, она априори сложнее) согласованность даже тренированных ассистентов низкая, 50%. В других задачах она на приемлемом уровне выше 75%.
4. Авторы не дают никакого объяснения тому, почему ChatGPT проигрывает по метрикам на одной задаче.

TLDR: да, в этой конкретной задаче разметки твитов модель превосходит наёмных крауд-воркеров, а главное экономит деньги - каждый запрос стоит меньше $0.003. Большое упущение, что не попробовали добавлять в промпт по 10-20 примеров, чтобы модель лучше понимала задачу (in-context learning - такое показывает прирост по метрикам обычно).

В любом случае, берём на вооружение новый промежуточный способ для сбора данных в своих задачах в будущем.
👍4❤1
ChatGPT заменит разметчиков в задачах модерации и оценке качества поиска?
Anonymous Poll
24%
Да, в течение года
48%
Да, в течение 5-ти лет
28%
Нет
В последнее время активно занимаюсь сбором лиц через Толоку для разных задач по биометрии: антиспуфинг, liveness, face detection, re-identification.

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

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

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

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

Но md5 ловит полное совпадение фотографий, и бессилен в кейсах, когда человек снимает свое фото в другой локации, с другим освещением. Поэтому md5 не решал на 100% нашу проблему.

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

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

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

Такой уровень наглости заставил нас серьезно задуматься над проблемой.
И мы решили внедрять нейронку на проект, и уже проверять не по md5 хешу, а по дескрипторам лиц, которые хранятся у нас в базе. В качестве нейронки мы рассмотрели несколько вариантов:
- deepface - open source, но качество не ок
- нейронки на rapidapi - не стабильно работают, ограниченная база для лиц
- нейронки от вендоров из РФ - дорого, продают лицензии на год
Поэтому пока остановились на варианте rapidapi.

А как вы отлавливаете дубли, какие нейронки используете, что порекомендуете?
🔥14💅7😁5❤1🤯1
Роман с данными
Недавно общался со своим другом Ринатом, который работает в Boston Consulting. Разговор зашел о трендах в разметке и куда движется отрасль. Вместе пришли к выводу, что индустрия разметки данных в 2021 очень похожа на индустрию колл-центров в 2000-х годах.…
Если вы еще не читали этот пост, то быстро читать!😀

Я, конечно, уже очень давно вижу тренд к автоматизации разметки, но за начало 2023-го года прогресса в этом направлении больше, чем за последние 10 лет вместе взятые.

Только мы начали тестировать промты ChatGPT, которые разносят разметчиков в текстовых задачах, как и в computer vision нам дают новые рычажки автоматизации.

Meta выпустила Segment Anything, модель обучена на 1 миллиарде масок, что в сотни раз больше, чем предыдущие аналоги.
Мы уже сравнили ее с нашим текущим HRNet, и результаты просто потрясающие.

🔥 SAM позволяет пользователям сегментировать объекты одним щелчком мыши.
🔥 SAM может автоматически находить и маскировать ВСЕ объекты на изображении.
🔥 SAM может генерировать маску сегментации для любой подсказки в режиме реального времени, что позволяет взаимодействовать с моделью в реальном времени.
🔥 Согласно статье работает замечательно для Zero-Shot Learning задач. То есть, когда надо настроить модель для своего датасете и очень быстро без трудоемкого обучения.

И главное - она выложена в open source вместе с весами!

Планируем в течение недели интегрировать ее в CVAT в виде отдельного модуля.
Цена предзаказа на модуль: 1500$
На этапе, когда модуль будет готов, цена будет 3000$
Писать в ЛС)
🔥13👍3
Всем привет!
Как многие знают, в мае пройдет очередной Data Fest Online 2023.

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

Поэтому решил организовать секцию Data Collection & Labelling!
Совершенно новый трек в ODS, тема которого набирает обороты вокруг бизнеса и таких хайповых тем как ChatGPT, автоматизированная разметка и т.д.

Для наполнения программы трека открыл набор спикеров!

Если ты:
- шаришь в сборе и разметке данных
- имеешь интересный опыт/кейс/продукт, о котором хочешь рассказать
- не боишься выступать публично и готов улучшить свой личный бренд

Твой час настал! Оставляй заявку по форме, либо пиши в ЛС!

p.s. Если сомневаешься о чем рассказать, пиши, проконсультирую и помогу выбрать интересный вариант😎
🔥13👍2
Всем привет! На канале уже более 580 человек, не все меня знают и читают канал с самого начала, поэтому в этом посте хочу поделиться с вами забавной историей о том, как же появился мой ТГ канал и почему он так называется.

Сбором и разметкой данных я занимаюсь с 2017 года уже больше 6 лет. Все началось, когда меня, новенького RnD ML-щика, поставили руководить командой разметчиков в компании Prisma Labs. Мы тогда только начинали разрабатывать фоторедактор Lensa, и я занимался созданием датасетов по сегментации людей.

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

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

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

Я стал неофициальным евангелистом Толоки, и начал внедрять ее куда только можно. Самым интересным проектом, который я запустил, был "Впечатлятор" - чат-бот, куда пользователи отсылают свои селфи, а толокеры в течение 3-х минут описывают первое впечатление о человеке (подробнее на RB) . Им воспользовались более 100 000 человек, в том числе Head Of Business Development Толоки(оскорбительное описание толокера на него можете прочитать тут).

Так и прошли мои 1.5 года, я проводил вебинары по сбору, по разметке, писал статьи на хабре (лучшие по мнению ODS)
😁13👍11🔥9❤4