Процессы помогают людям
Первоначально опубликовано в блоге 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!