Вкратце, MLOps не сильно отличается от DevOps и содержит ряд методов развертывания модели в реальном мире. Для всех очевидно, что после разработки модели нужно развернуть ее в реальном мире для различных вариантов использования. Эта статья представляет собой краткое изложение важнейших компонентов, о которых вам необходимо знать, чтобы завершить свое путешествие в области ML/DL в качестве инженера ML/DL, специалиста по данным и т. д.

Это общая процедура, с которой мы в основном сталкиваемся как специалисты по данным.

  1. Предварительная обработка данных
  2. Найдите согласованные модели с нашими данными
  3. Кодирование – предложение/разработка моделей
  4. Обучение/тестирование — тонкая настройка
  5. Развертывание
  • Из процедуры видно, что три компонента (Процесс вывода) имеют решающее значение: 1. Входные данные 2. Интерпретатор (для выполнения)3. Модель
  • Модель без развертывания бесполезна в реальном мире.
  • Развертывание может быть приложением на вашем мобильном телефоне или программным обеспечением в вашей системе и т. д.
  • Нет необходимости в обслуживающей инфраструктуре, можно использовать Colab

Сервировка модели:

  • Существует два типа развертывания предлагаемой нами модели: 1. Пакетное 2. Онлайн

Пакетный вывод (статическое обучение)

  • При пакетном вмешательстве, которое является наиболее распространенным способом, мы обучаеммодель и предсказываемавтономно. сильный>
  • При пакетном развертывании модель останется неизменной до тех пор, пока мы не решим ее переобучить. Решение о переобучении связано с большим количеством реальных данных (распад модели).
  • Прогноз основан на исторических данных, которые использовались ранее.
  • Этот способ хорош для таких данных, которые не являются последовательными или не меняются со временем.

Онлайн-вывод (динамическое обучение)

  • Модель переобучается по мере получения новых данных, таких как потоковые данные и т. д.
  • Этот тип обучения в основном используется для тех видов данных, которые меняются со временем, таких как речь, датчики и т. д.
  • Этот способ хорош для прогнозирования в реальном времени (прогнозирования по запросу) благодаря способности адаптироваться к новым событиям или поведению.

Оптимизация онлайн-вывода

Есть три важных показателя, которые мы должны учитывать:

1. Задержка

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

2. Стоимость

  • Цель состоит в том, чтобы сделать стоимость минимальноймаксимально возможной.

Для этого мы можем использовать разные инфраструктуры: CPU/ GPU/ Кэширование

3. Пропускная способность

  • Это относится к количеству успешных запросов, выполненных в единицу времени.
  • В некоторых случаях мы ценим пропускную способность больше, чем задержку (особенно для тяжелых задач, таких как модели для видео и т. д.).

В двух словах, мы стремимся свести к минимуму задержку, одновременно максимизировав пропускную способность.

Однако это резко увеличивает затраты. Итак, мы должны найти баланс между этими тремя компонентами.

Есть некоторые задачи, для которых мы можем увеличить пропускную способность и уменьшить задержку с учетом затрат. : 1. Используйте совместное использование графического процессора 2. Мультимодельное обслуживание и т. д. 3. Оптимизируйте модель.

Это основные концепции MLOps для размещения модели на сервере и критерии, которые необходимо учитывать на этапе принятия решения.

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

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

Если есть что-то еще, вы можете связаться со мной напрямую через Twitterили LinkedIn. 😉