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

MLOps как новый формат работы

Стандартный жизненный цикл разработки программного обеспечения (SDLC) включает определение требований, проектирование, разработку, тестирование и развертывание.

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

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

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

Жизненный цикл ML-моделей включает следующие этапы:

  • формулировка бизнес-идеи;
  • создание модели машинного обучения;
  • тестирование и внедрение модели в бизнес-процесс;
  • использование модели.

Особенности рабочего процесса MLOps

Рабочий процесс основан на цикле разработки модели машинного обучения. В нем принимают участие несколько команд:

  • бизнес-аналитики определяют ценность, которую модель машинного обучения принесет бизнесу;
  • специалисты по данным собирают и подготавливают информацию, на основе которой разрабатываются решения ML;
  • Инженеры MLOps пишут код для модели машинного обучения;
  • Специалисты DevOps отвечают за развертывание и мониторинг моделей в производственной среде.

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

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

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

На чем основан MLOps?

MLOps включает в себя следующие компоненты:

Конвейер обучения модели. Данные извлекаются и обрабатываются, чтобы модели было на чем тренироваться. Обученная модель тестируется, чтобы понять ее готовность к развертыванию.

Реестр моделей. Новая модель регистрируется перед запуском в производство.

Развертывание модели на устройстве IoT, внутри приложения или выделенной веб-службы.

Мониторинг модели. Инженеры MLOps анализируют производительность модели. Когда замечают, что модель начинает работать неточно, отправляют ее на переобучение.

Оркестровка CI/CD. Инструменты CI/CD реализуют конвейер обучения, тестирования и развертывания модели.

Таким образом, как и услуги DevOps, MLOps опирается на методологии непрерывной доставки, обучения и интеграции. Рабочий процесс MLOps отличается от проекта к проекту. Это зависит от бизнес-целей продукта, сложности модели машинного обучения, размера организации и других условий.

Сравните похожие практики: MLOps, DevOps и DataOps

Процесс MLOps определяет машинное обучение. Он отличается от аналогичных DevOps и DataOps.

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

DataOps в первую очередь отвечает за жизненный цикл данных. Он может быть частью MLOps, но не управляет жизненным циклом модели.

Как MLOps способствует успеху бизнеса

Чтобы наглядно представить, как MLOps помогает бизнесу, возьмем простой пример. Интернет-магазин хочет автоматизировать чат для общения с покупателями. Без MLOps бот будет отвечать на вопросы клиентов, исходя из определенного дерева диалогов, и эффективность такой автоматизации невысока — 20–30%.

Более эффективно реализовать модуль ИИ, разработанный с помощью MLOps. Он сможет:

  • ответить на 60–70% больше вопросов;
  • «понимать» нестандартные запросы клиентов;
  • определить, следует ли задать уточняющий вопрос или перевести разговор на оператора;
  • быть автоматически переобученным специалистом по данным (для этого не требуется группа инженеров, которые регулярно корректируют сценарии ответов).

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

Когда приложение на основе ИИ работает без сбоев или ошибок, клиенты получают удовольствие от услуг. Таким образом, они с удовольствием продолжают сотрудничество с брендом.

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

Когда проекту нужен процесс MLOps

NewVantage Partners обнаружили, что только 15% ведущих корпораций внедрили технологии машинного обучения и ИИ в массовое производство. Остальные считают, что ИИ — это дорогой эксперимент с минимальной окупаемостью. MLOps развеивает этот миф. Это позволяет компаниям-разработчикам машинного обучения легко развертывать, отслеживать и обновлять модели в рабочей среде.

MLOps нужен проектам, если при создании решений для машинного обучения и ИИ возникают следующие проблемы:

  • модели отправляются в производство медленно и с трудом;
  • модель давно работает, но не обновлялась и не мониторилась;
  • регулярное переобучение модели обходится организации дорого.

Распространенные заблуждения о MLOps

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

Миф 1. MLOps — это только использование конвейера.

MLOps — более широкое понятие, чем развертывание. Чтобы конвейер функционировал, необходимо проделать большую работу: интегрировать языковые фреймворки с фреймворками SDK, управлять контейнерами, контролировать версии моделей и подключать многопоточные процессоры и графические процессоры. Кроме того, нужно управлять API, контролировать нагрузку, отвечать за безопасность и многое другое.

Для такой работы нужна целая команда. Таким образом, предприятия часто передают MLOps на аутсорсинг компаниям-разработчикам машинного обучения. Таким образом, они тратят в среднем на 20% меньше денег на инфраструктуру и на 30% меньше времени на развертывание модели.

Миф 2. Машинное обучение включает в себя те же процессы, что и стандартная разработка программного обеспечения.

Стандартное программное обеспечение и модель машинного обучения строятся по-разному и преследуют разные цели.

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

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

Миф 3. Бизнес сильно рискует, инвестируя в MLOps.

Рискуют только те, кто неправильно организует MLOps. Если вы работаете с командой, которая знает, как эффективно построить процесс, ваши инвестиции окупятся.

Заключение

Машинное обучение и искусственный интеллект — передовые технологии. По данным Statista, 83% компаний, внедривших AI и ML в свои процессы, увеличили свой бюджет за три года. Бизнес отмечает, что ИИ автоматизирует важнейшие бизнес-процессы, улучшает отношения с клиентами и помогает бороться с хакерами.

MLOps важен для проектов, которые создают решения ML для бизнеса. Разработка решений для машинного обучения отличается от создания классического программного обеспечения. Для этого нужны процессы, специалисты и ресурсы. Не в каждой организации они есть. Компании, занимающиеся аутсорсингом машинного обучения, предлагают лучшие услуги DevOps, DevsecOps, DataOps и MLOps.