Операции машинного обучения (MLOPs) — это набор основных действий по машинному обучению. Он направлен на создание процесса многократного использования конвейера (позже мы увидим, что такое конвейер машинного обучения) для изучения, создания, тестирования, развертывания, обслуживания и мониторинга моделей машинного обучения. Цель процесса MLOps не сильно отличается от DevOps, целью которого является автоматизация разработки, развертывания и мониторинга приложений.

Шаги в MLOps отличаются от DevOps, поскольку ML сложнее, чем разработка программного обеспечения, где все не так стандартно, как SDLC. Во многих случаях вы не будете уверены, что все работает, и модели будут постоянно развиваться. Давайте рассмотрим его более подробно в следующем разделе.

Как машинное обучение решает проблему?

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

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

Достаточно ли этого для производства?

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

  • Что, если построенная нами модель начнет давать неверный прогноз для фактических данных в производстве?
  • Что делать, если вам нужно переобучить вашу модель
  • Нужно ли нам масштабироваться для достижения определенного SLA?

Наука о данных — это не волшебство, и всегда будут требоваться итерационные подходы для настройки конвейера, чтобы это произошло!

Основные виды деятельности MLOps?

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

Жизненный цикл модели ML при разработке, обслуживании и мониторинге будет выглядеть следующим образом:

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

  • Необходимо внимательно изучить данные перед обучением -> Требуется очистка данных/версия входных данных
  • Требуется создание функций и настройка гиперпараметров -> Требуется управление версиями модели и ее хранение
  • Обширные исследования, прежде чем вы проверите свою модель - › Тестирование и упаковка модели после ее завершения
  • Выпустите и попросите эксплуатировать модель –> требуется настройка конфигурации/кода для управления масштабированием между несколькими средами.
  • Модель обслуживания – › Требуется мониторинг модели при использовании в рабочей среде.

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

Где MLOps не является реальной необходимостью?

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

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

Если вы хотите погрузиться глубже, вот несколько хороших книг!!

Использованная литература: