Процессы помогают людям

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

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

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

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

Поток процесса перед MLOP

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

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

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

Пример процесса с новым инструментом MLOps

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

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

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

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

Как вы будете использовать платформы и недавно обретенную видимость, чтобы взять на себя ответственность за различные части жизненного цикла? В следующий раз это подводит нас к разговору о культуре, поддерживающей MLOps.Оставайтесь с нами в части 4!