MLOps, AIOps, DataOps, ModelOps и даже DLOps. Эти модные словечки попадают в вашу ленту новостей? Да или нет, настало время быть в курсе последних обновлений бизнес-практик, основанных на искусственном интеллекте. Управление эксплуатацией модели машинного обучения (MLOps) - это способ избавиться от боли в шее в процессе разработки и упростить доставку программного обеспечения на основе машинного обучения, не говоря уже о том, чтобы облегчить жизнь каждому члену команды.

Давайте проверим, остаемся ли мы на той же странице, используя основные термины. Отказ от ответственности: DLOps - это не ИТ-операции для глубокого обучения; Хотя люди продолжают искать эту аббревиатуру в Google, она вообще не имеет ничего общего с MLOps. Далее, термин AIOps, введенный Gartner в 2017 году, относится к применению когнитивных вычислений AI и ML для оптимизации ИТ-операций. Наконец, DataOps и ModelOps служат для управления наборами данных и моделями и являются частью общей тройной бесконечной цепочки MLOps Data-Model-Code.

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

MLOps: преимущества и опасности

Согласно Forbes, рынок решений MLOps к 2025 году достигнет 4 миллиардов долларов. Неудивительно, что аналитика, основанная на данных, меняет ландшафт каждой рыночной вертикали. Сельское хозяйство и сельское хозяйство служат иллюстрацией стоимости ИИ в 2 629 миллионов на сельскохозяйственном рынке США, прогнозируемой на 2025 год, что почти в три раза больше, чем было в 2020 году.

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

MLOps предназначен для управления всеми этими задачами. Однако у него также есть свои ограничения, которые мы рекомендуем учитывать при производстве моделей ML:

  • Качество данных. Чем точнее данные, тем лучше модель может помочь решить бизнес-проблему.
  • Распад модели. Реальные данные меняются с течением времени, и нужно управлять этим «на лету».
  • Местоположение данных. Модель, которая предварительно обучена на различных демографических данных пользователя, не может работать соответственно при переходе на другие рынки.

Между тем, MLOps особенно полезен при экспериментировании с моделями, использующими итеративный подход. MLOps готов пройти столько итераций, сколько потребуется, поскольку ML является экспериментальным. Это помогает найти правильный набор параметров и создать воспроизводимые модели. Любое изменение версий данных, гиперпараметров и версий кода приводит к новым версиям развертываемой модели, которые обеспечивают экспериментирование.

Жизненный цикл рабочего процесса машинного обучения

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

  • Инжиниринг данных: предоставление и изучение наборов данных для алгоритмов машинного обучения. Он включает в себя прием данных, исследование и проверку, очистку, маркировку и разделение (на набор данных для обучения, проверки и тестирования).
  • Модельное проектирование: подготовка окончательной модели. Он включает в себя обучение модели, оценку, тестирование и упаковку.
  • Развертывание модели: интеграция обученной модели в бизнес-приложение. Включает обслуживание модели, мониторинг производительности и ведение журнала производительности.

Объяснение MLOps: когда данные и модель соответствуют коду

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

  • Непрерывная интеграция (CI) применяется к тестированию и проверке данных, схем и моделей, а не только к коду и компонентам.
  • Непрерывное развертывание (CD) относится ко всей системе, которая предназначена для развертывания другой услуги, предоставляемой машинным обучением, но не к отдельному программному обеспечению или услуге.
  • Непрерывное обучение (CT) уникально для моделей машинного обучения и означает обслуживание и переподготовку моделей.

Уровень каждого этапа автоматизации проектирования данных, проектирования моделей и развертывания определяет общую зрелость MLOps. В идеале конвейер CI и CD должен быть автоматизирован для определения зрелой системы MLOps. Следовательно, существует три уровня MLOps, разделенных на категории и основанных на уровне автоматизации процессов:

  • Уровень 0 MLOps: процесс создания и развертывания модели машинного обучения полностью выполняется вручную. Этого достаточно для моделей, которые редко меняются или обучаются.
  • Уровень 1 MLOps: непрерывное обучение модели путем автоматизации конвейера машинного обучения, хорошо подходит для моделей, основанных на новых данных, но не для новых идей машинного обучения.
  • Уровень 2 MLOps: автоматизация CI / CD позволяет работать с новыми идеями проектирования функций, архитектуры модели и гиперпараметров.

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

Преимущества и затраты

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

Плюсы MLOps:

  • Автоматическое обновление нескольких конвейеров, что потрясающе, поскольку речь идет не о простой задаче с одним файлом кода.
  • Масштабируемость и управление моделями машинного обучения - в зависимости от объема, тысячи моделей могут находиться под контролем
  • CI и CD организованы для обслуживания моделей машинного обучения (в зависимости от уровня зрелости MLOps)
  • Состояние и управление моделью ML - упрощенное управление моделью после развертывания
  • Полезный метод для людей, процессов и технологий, позволяющий оптимизировать разработку продуктов машинного обучения.

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

Затраты на MLOps:

  • Разработка: более частое изменение параметров, функций и моделей, нелинейный экспериментальный подход по сравнению с DevOps.
  • Тестирование: включает проверку данных и моделей, тестирование качества модели.
  • Производство и мониторинг: MLOps нуждается в постоянном мониторинге и проверке точности.
  • мониторинг памяти - мониторинг использования памяти при выполнении прогнозов
  • мониторинг производительности модели - повторное обучение моделей применяется со временем, поскольку данные могут изменяться, что может повлиять на результаты
  • мониторинг инфраструктуры - непрерывный сбор и анализ соответствующих данных
  • Команда: потратьте время и усилия на то, чтобы специалисты по обработке данных и инженеры приняли

Начало работы с MLOps: практические шаги

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

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