Что такое MLOps?

Операции машинного обучения (MLOps) – это набор практик, автоматизирующих и упрощающих рабочие процессы и развертывание машинного обучения (МО). Машинное обучение и искусственный интеллект (ИИ) – это основные возможности, которые вы можете использовать для решения сложных реальных проблем и пользы своим клиентам. MLOps — это культура и практика машинного обучения, объединяющие разработку приложений машинного обучения (Dev) с развертыванием и эксплуатацией систем машинного обучения (Ops). Ваша организация может использовать MLOps для автоматизации и стандартизации процессов на протяжении всего жизненного цикла машинного обучения. Эти процессы включают разработку моделей, тестирование, интеграцию, выпуск и управление инфраструктурой.

Зачем нужны MLOps?


 

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

После этого используете данные для обучения и проверки модели МО. Затем обученную и проверенную модель можно развернуть в качестве сервиса прогнозирования, к которому другие приложения могут получить доступ через API.

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

Практики MLOps крайне важны для систематического и одновременного управления выпуском новых моделей МО с внесением изменений в код приложения и данных. Оптимальная реализация MLOps обрабатывает ресурсы МО так же, как и другие программные активы среды непрерывной интеграции и доставки (CI / CD). Вы развертываете модели МО вместе с приложениями и сервисами, которые они используют, и теми, которые их используют, в рамках унифицированного процесса выпуска.

Какие существуют принципы MLOps?

Далее мы объясним четыре ключевых принципа MLOps.

Управление версиями

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

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

Автоматизация

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

Ниже наведены несколько факторов, которые могут привести к автоматическому обучению и развертыванию моделей.

  • Передача сообщений
  • Мониторинг или календарь событий
  • Изменения данных
  • Изменения кода обучения модели
  • Изменения в коде приложения

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

Подробнее об IaC »

Непрерывный X

Благодаря автоматизации вы можете непрерывно тестировать и развертывать код в конвейере МО.

В MLOps под непрерывными имеются ввиду четыре действия, которые происходят на постоянной основе при внесении каких-либо изменений в систему, а именно:

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

Модели управления

Управление предполагает эффективный контроль всеми аспектами систем МО, для выполнения которых вам следует осуществить нижеперечисленные действия.

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

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

В чем заключаются основные преимущества MLOps?

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

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

Сокращение времени выхода на рынок

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

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

Повышенная производительность

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

Эффективное развертывание модели

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

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

Как внедрить MLOps в свою организацию

Существует три уровня внедрения MLOps в зависимости от уровня автоматизации в вашей организации.

Уровень 0 MLOps

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

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

Этот процесс разделяет вышеупомянутых специалистов, создающих модель, и разработчиков, которые ее внедряют. Редкие релизы означают, что команды специалистов по работе с данными могут переобучать модели всего несколько раз в год. Для моделей МО с остальной частью кода приложения нет никаких ограничений CI / CD. Точно так же отсутствует активный мониторинг производительности.

Уровень 1 MLOps

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

На уровне 0 вы развертываете обученную модель в производстве, а на уровне 1 – конвейер обучения, который периодически запускается , чтобы предоставлять обученную модель другим приложениям. Как минимум, вы обеспечиваете непрерывную интеграцию сервиса прогнозирования моделей.

Степень зрелости уровня 1 имеет следующие характеристики:

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

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

Уровень 2 MLOps

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

В связи с использованием нескольких конвейеров МО, для настройки уровня 2 MLOps требуются все настройки уровня 1 MLOps. Кроме того, требуется следующее:

  • оркестратор конвейера МО;
  • реестр моделей для отслеживания нескольких моделей.

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

Создание конвейера

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

Развертывание конвейера

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

Обслуживание конвейера

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


 

В чем разница между MLOps и DevOps?

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

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

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

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

Как AWS обеспечивает соответствие вашим требованиям к MLOps?

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

SageMaker предоставляет специализированные инструменты для MLOps для автоматизации процессов на протяжении всего жизненного цикла МО. Используя Sagemaker для инструментов MLOps, вы можете быстро достичь уровня зрелости 2 MLOps в большем масштабе. 

Ниже перечислены основные функции SageMaker, которые вы можете применять.

  • Используйте SageMaker Experiments для отслеживания артефактов, связанных с вашими заданиями по обучению моделей, таких как параметры, метрики и наборы данных.
  • Настройте автоматический запуск SageMaker Pipelines через регулярные промежутки времени или при возникновении определенных событий.
  • Используйте реестр моделей SageMaker для отслеживания версий моделей. Также можно отслеживать их метаданные, такие как группировка примеров использования и базовые показатели производительности модели в центральном репозитории. Вы можете использовать эту информацию для выбора наилучшей модели в соответствии с требованиями вашего бизнеса.

Начните работу с MLOps на Amazon Web Services (AWS), создав аккаунт уже сегодня.

AWS: дальнейшие шаги

Зарегистрировать бесплатный аккаунт

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

Регистрация 
Начать разработку в консоли

Начните разработку в Консоли управления AWS.

Вход