TRAINING DATA JORNAL  
Переводы

Четыре урока о создании инструментов для машинного обучения

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

На протяжении прошлого года Humanloop создавала новый вид инструмента для обучения и внедрения моделей natural language processing (NLP). Мы помогали командам юристов, сотрудников службы поддержки, маркетологов и разработчиков ПО быстро обучать способные понимать речь ИИ-модели, а затем мгновенно их использовать. Начали мы с применения активного обучения, чтобы снизить потребность в аннотированных данных, но при этом поняли, что требуется гораздо больше.

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

1. Специалисты в предметной области так же важны, как и дата-саентисты


В начале 2011 года спрос на экспертизу в глубоком обучении был настолько велик, что Джефф Хинтон продал себя на аукционе Google за 44 миллиона долларов. Сегодня всё уже не так.

Почти всё, что в 2011 году было в недостатке, сегодня стало общедоступным. Можно использовать современные модели, импортируя библиотеки, а большинство прорывов в исследованиях быстро внедряется. Даже получив PhD по глубокому обучению, я не устаю удивляться тому, насколько хорошо проявляют себя стандартные модели без предварительной подготовки в широком диапазоне способов применения.

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


— И это твоя система машинного обучения?
— Ага! Вливаешь данные в эту кучу линейной алгебры и собираешь ответы с другого конца.
— А если ответы неправильные?
— Тогда просто перетряхиваем кучу, пока они не будут выглядеть правильными.

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

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

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

Команда из двух юристов аннотировала данные на платформе Humanloop, а модель параллельно автоматически обучалась при помощи активного обучения. Всего за несколько часов юристы обучили модель, выдавшую результат 80 тысяч судебных прецедентов вообще без участия дата-саентистов.

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

2. Первая итерация всегда выполняется для определения классов разметки


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

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

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

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

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

3. ROI быстрой обратной связи огромен


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

Многие из проектов машинного обучения завершаются неудачно. Согласно данным algorithmia, до 87% проектов не добирается до этапа продакшена. Часто причина заключается в нечёткости целей, слишком низком качестве входящих данных для прогнозирования результатов, или развитие моделей застревает, не дождавшись вывода в продакшен. Высшее руководство начинает с неохотой выделять ресурсы на проекты, имеющие высокую степень неопределённости, поэтому многие хорошие возможности оказываются упущенными.

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

4. Инструменты ML должны быть ориентированы на данные, но в основе иметь модель


Большинство существующих инструментов для обучения и внедрения машинного обучения (MLOps) построено по типу традиционного ПО. Они делают упор на код, а не на данные и нацелены на узкие срезы конвейера разработки ML. Существуют инструменты MLOps для мониторинга, для хранения признаков, для управления версиями моделей, для управления версиями данных, для оценки и так далее. Почти ни один из этих инструментов на деле не изучает и не разбирается в данных, на которых обучаются системы.

В последнее время от таких людей, как Эндрю Ын и Андрей Карпати слышится призыв к созданию ориентированных на данные инструментов ML. Мы полностью согласны с тем, что для машинного обучения команды должны делать гораздо больший упор на массивы данных, но выяснили, что наилучшая версия этих инструментов должна быть тесно связана с моделью.


Большинство преимуществ, наблюдаемых при работе с платформой Humanloop, возникает в результате взаимодействия между данными и моделью:

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

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

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