Развертывание приложений всегда было источником борьбы и проблем для команд разработчиков во всем мире. Затем, когда вы добавите в смесь множество данных и механизмов машинного обучения, вы получите полномасштабный хаос. Не существует хорошо построенной инфраструктуры или методологии, которые могли бы упростить разработку и развертывание приложений, интенсивно использующих данные. Учитывая важность машинного обучения (МО) и искусственного интеллекта (ИИ) в наши дни, организациям крайне неприятно адаптироваться к новым технологиям без надлежащей методологии развертывания приложений, созданных с возможностями машинного обучения. Это оказывается огромным препятствием для использования преимуществ технологий AI/ML.

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

Было много разговоров о создании инструментов для приложений машинного обучения. Таким образом, появилась новая категория — MLOps. Для этого термина нет конкретного определения, но оно перекликается с идеологией DevOps. В некотором смысле можно считать, что MLOps — это DevOps для приложений, интенсивно использующих данные. Это методология, с помощью которой можно упростить процесс перемещения ваших приложений с большим объемом данных из стадии разработки в надежное производственное развертывание. Этот метод оптимизации развертывания путем принятия четко определенных современных процессов, автоматизированных рабочих процессов и инструментов сотворил чудеса для всех других приложений. Таким образом, очевидно предположить, что он будет работать для приложений AI-ML.

Давайте задумаемся над вопросом — почему приложения AI/ML требуют особого отношения? Почему их нельзя развернуть с помощью всегда эффективной методологии DevOps?

Почему данные усложняют развертывание?

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

Причина в размере и сложности реальных хранилищ данных в приложении на основе AI/ML. Хранилища данных слишком сложны и запутаны, чтобы их можно было моделировать и развертывать вручную.

Эти характеристики приложения ML изменяют основы обработки приложения:

  • Приложения AI/ML напрямую взаимодействуют с постоянно меняющимся миром технологий в режиме реального времени. Вводимые данные постоянно меняются и обновляются, и поэтому функционирование приложения также постоянно меняется. Принимая во внимание, что традиционное приложение работает в статическом абстрактном мире, созданном и контролируемом разработчиком.
  • Количество экспериментов, связанных с приложением AI/ML, очень велико. Существует несколько циклов экспериментов с постоянным доступом к данным, которые определяют поведение приложения, в то время как поведение традиционного приложения четко определено с помощью логических рассуждений.
  • Набор навыков, опыт и методологии людей, участвующих в создании приложения AI/ML, полностью отличаются от традиционной группы разработчиков программного обеспечения. Инженеры AI / ML имеют опыт в эмпирической науке наряду с традиционными навыками разработки программного обеспечения. Это делает все практики DevOps неэффективными.

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

Инфраструктура MLOps: -

Любое приложение AI/ML имеет 4 особых требования, которые необходимо учитывать при проектировании инфраструктуры MLOPs:

  1. Масштаб приложения. Приложения AI/ML — это приложения, ориентированные на данные, и объем данных намного больше, чем у старых приложений, ориентированных на данные. Наряду с этим модели глубокого обучения требуют много кодирования и сложной обработки всех данных. Таким образом, код этих приложений, а также потребности в обработке также выше.
  2. Глубокая интеграция с окружающими бизнес-системами. Поскольку поведение приложения определяется данными, его необходимо интегрировать со всеми вспомогательными бизнес-приложениями для сбора точных данных в режиме реального времени. Это единственный способ протестировать и проверить приложение AI/ML.
  3. Надежное управление версиями данных, моделей и кода. Приложения AI/ML чрезвычайно сложны, поскольку они содержат данные в реальном времени, тесно переплетенные с кодом и моделями данных. Без надлежащей системы управления версиями невозможно выяснить, почему какая-либо часть приложения работает со сбоями и где развертывание пошло не так. Вам потребуется решение, похожее на Git, но на стероидах, чтобы справиться с этим.
  4. Тщательные и конкретные требования к оркестровке. Оркестрация приложения на основе машинного обучения является самой сложной из всех. Команда должна тщательно планировать и выполнять несколько взаимосвязанных шагов без какой-либо возможности человеческой ошибки.

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

Всем известно, что вечнозеленая методология DevOps здесь не работает, и поэтому MLOps требует другого фундамента. Каждое приложение AI/ML сильно отличается от предыдущего. Таким образом, реализация инфраструктуры MLOps различается. Но инфраструктурные слои остаются прежними.

Узнайте больше о нашей Аналитической платформе на базе искусственного интеллекта iFusion.

Инфраструктура MLOP разделена на 3 категории: уровень науки о данных, уровень разработки программного обеспечения и базовый инфраструктурный уровень.

Источник: книга Эффективная инфраструктура науки о данных

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

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

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

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

"Зарегистрироваться"

Примечание. Блог изначально был опубликован на веб-сайте Innominds.