Итак, что такое MLOps? Самым простым объяснением могут быть принципы и практики DevOps в рабочем процессе машинного обучения. Это процесс оптимизации разработки и развертывания машинного обучения. Цель проста.

  • Ускоренное экспериментирование и разработка моделей.
  • Более быстрое внедрение обновленных моделей и производство.
  • Гарантия качества.

Давайте опишем стандартный процесс разработки и развертывания машинного обучения. Обычно все начинается с данных, которые могут быть в различных форматах: CSV, JSON, видео, изображения и т. д. Первый шаг — очистка данных, поскольку качество данных тесно коррелирует с эффективностью модели. Лучшие данные, лучшая модель.

Но для повышения качества данных вам необходимо иметь больше данных, и именно здесь возникает первая потребность в MLOps. Модель является финальной версией, но ее необходимо постоянно обновлять. И это второе «почему» MLOps. Вам необходимо оптимизировать и упростить процесс построения модели, который может иметь множество подпроцессов, например:

  • Выбор/генерация функции.
  • Выбор алгоритма.
  • Настройка гиперпараметров.
  • Подгонка модели.
  • и т. д.

что мы можем назвать экспериментированием с целью получить «лучшую» модель для приложения и бизнеса.

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

Подводя итог, потребности в MLOps таковы:

  • Учитесь на ошибках.
  • Отслеживание показателей.
  • Контроль исходного кода.
  • Этапы контрольных точек в жизненном цикле машинного обучения.
    Поскольку не все шаги необходимо изменить, вы можете использовать конвейеры ML для повторения только тех шагов, которые требуют изменения).
  • Автоматизация правильной проверки/этапного развертывания.
    Как и в процессе DevOps для приложения, модель ML должна быть проверена и протестирована перед развертыванием в рабочей среде. Таким образом, вам необходима автоматизация для последовательного и предсказуемого процесса развертывания.

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

Источник: Объяснение MLOps от Microsoft

Надеюсь, это было полезно. Спасибо за прочтение.