Руководство по MLOps для специалистов по данным. Часть 2

Первоначально опубликовано в блоге Kaskada Insights Machine Learning Insights здесь.

В части 1 этой серии мы говорили о непрерывном жизненном цикле машинного обучения и о том, что означает для специалистов по данным внедрение MLOps. Вы будете внедрять новые инструменты, повышать прозрачность и внедрять новые процессы и, возможно, новые структуры команд. Звучит как масштабная задача и, вероятно, чья-то чужая работа — рассмотреть весь жизненный цикл в нескольких командах и внедрить новые инструменты, чтобы начать инструментирование жизненного цикла машинного обучения. Однако оказывается, что все, что нужно, чтобы начать путь к будущему MLOps, — это вы, отдельный специалист по обработке и анализу данных, сосредотачивающий боль специалистов по данным и людей, на которых распространяются наши алгоритмы машинного обучения.

Для меня наука о данных — это решение сложных проблем с помощью алгоритмов машинного обучения, которые оказывают положительное влияние на объекты наших прогнозов. Ярким примером может быть то, что при любом использовании ИИ для данных о COVID-19 недостаточно построить модель, которая должна минимизировать затраты в нашей системе здравоохранения. Мне также нужно будет показать, как эта модель повлияет и продолжит защищать уязвимые сообщества.

Проблема в том, что разработчики devops и разработчики программного обеспечения часто ошибочно предполагают, что конечная цель состоит в том, чтобы сделать машинное обучение более похожим на информатику, как отмечается в недавнем блоге Google об инструментах для MLOps. Мы можем предположить, что они уже знают основные потребности в управлении, автоматизации и мониторинге сервисов, поскольку DevOps существует уже более 10 лет. Однако жизненный цикл модели машинного обучения отличается от других служб или приложений, развернутых ранее вашей командой. Часто это означает, что требования упускаются из виду на всех этапах разработки функций и построения моделей. Вам потребуется возможность аудита, мониторинга и обслуживания как данных, которые используются в ваших функциях, и влияние ваших моделей. делая по предметам свои прогнозы в производстве.

Области для инструментов MLOps

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

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

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

Очевидно, что как специалист по данным, который разрабатывает функции и модели ML, вы будете нести ответственность за формулировку требований к инструментам разработки функций и итерации моделей. И заманчиво разделить оставшиеся области между различными ролями в вашей компании, чтобы быстрее запустить существующие модели в производство. Однако при таком подходе теряется важный набор требований науки о данных. Специалисты по обработке и анализу данных прошли уникальную подготовку, которая позволяет нам сформулировать требования к тому, как завершить цикл обратной связи, измеряя воздействие с течением времени на субъекты ваших моделей.

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

Как сосредоточить науку о данных

Вы специалист по данным, что вам нужно? Сформулируйте вещи, как это сделал бы менеджер по продукту, и сформулируйте сценарии, которые позволят выбрать правильные инструменты. Возвращаясь к моему примеру с COVID-19 в сфере здравоохранения, мне нужно одно: обеспечить тестирование и проверку влияния моих моделей на демографические данные, а также постоянный аудит для обеспечения положительного воздействия.

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

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

Если теперь вы отвечаете за инженерные функции, которые можно легко перенести из вашей экспериментальной среды без переписывания кода, что это значит для данных, которые подаются в вашу среду для разработки функций? Вот одна точка зрения Макса Бойда, руководителя отдела обработки данных здесь, в Kaskada, о том, как данные, рассматриваемые как факты, ухудшают точность модели и как потоки событий могут решить эту проблему.

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

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