Сквозная архитектура и рабочий процесс MLOPS

Введение:

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

Понимание MLOPS:

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

Компоненты сквозной архитектуры MLOps:

  1. Определение проблемы и сбор данных. Понимание бизнес-проблемы и сбор соответствующих данных.
  2. Предварительная обработка данных и проектирование признаков: очистка, предварительная обработка и проектирование признаков из данных.
  3. Разработка моделей: экспериментируйте с различными алгоритмами и архитектурами для построения моделей.
  4. Обучение модели: обучайте модели на исторических данных, используя правильные стратегии проверки и оценки.
  5. Оценка модели: оцените производительность модели, используя показатели, относящиеся к предметной области.
  6. Контроль версий и совместная работа: храните код, данные и модели в репозиториях с контролем версий для совместной работы и отслеживания.
  7. Создание конвейера CI/CD: создавайте автоматизированные конвейеры для тестирования, развертывания и мониторинга моделей.
  8. Развертывание модели: разверните модель в производственной среде, часто с помощью контейнеризации.
  9. Мониторинг и обслуживание: постоянно контролируйте производительность модели, устраняя такие проблемы, как отклонение концепции или снижение точности.
  10. Цикл обратной связи: собирайте данные о производительности модели в производственной среде, используйте их для улучшения модели и итерации.

Преимущества сквозной архитектуры MLOps

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

Вывод:

Введение

Все проекты машинного обучения, разработанные для задач промышленного бизнеса, направлены на их быструю разработку и внедрение в производство. Таким образом, разработка автоматизированного конвейера машинного обучения становится сложной задачей, поэтому большинство проектов машинного обучения не оправдывают ожиданий. Однако проблему автоматизированных конвейеров машинного обучения можно решить, внедрив концепцию операций машинного обучения (MLOPs). Многие промышленные проекты машинного обучения не могут перейти от проверки концепции к производству. Даже сегодня специалисты по данным вручную управляют конвейерами машинного обучения, что приводит к множеству проблем во время работы. В этой статье подробно рассматриваются традиционные проблемы с архитектурой MLOps и рабочим процессом.

Источник: Valohai

Цели обучения

В этой статье вы узнаете:

  1. Архитектура, задействованная в MLOP.
  2. Роль инженеров данных, специалистов по данным и инженеров машинного обучения в каждом компоненте архитектуры MLOps.
  3. Рабочий процесс и важность каждого модуля в архитектуре.
  4. Понимание применения MLOps в отрасли.

Эта статья была опубликована в рамках Data Science Blogathon.

Оглавление

  1. Архитектура для MLOP
  2. Шаги для запуска проекта MLOps
  3. Конвейер для разработки функций
  4. Эксперимент
  5. Автоматизированный рабочий процесс машинного обучения
  6. Применение MLOps в промышленности
  7. Заключение

Архитектура для MLOps

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

  1. Шаги для запуска проекта MLOps.
  2. Конвейер для разработки функций
  3. Эксперимент
  4. Конвейер для автоматизированной модели до обслуживания модели.

Источник: Операции машинного обучения (MLOPs).

Станьте Full Stack Data Scientist

Станьте экспертом и существенно повлияйте на мир науки о данных.

Скачать брошюру

Рис. 1 иллюстрирует архитектуру MLOps. Давайте подробно обсудим каждый из них.

Шаги для запуска проекта MLOps

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

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

В следующем разделе мы обсудим проектирование конвейера для разработки функций.

Конвейер для разработки функций

Источник: Живая книга

Определение требований к разработке функций

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

Конвейер разработки функций

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

Эксперимент

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

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

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

  1. Извлечение данных: автоматическое извлечение данных из хранилища в автономном или онлайн-режиме.
  2. Автоматизированная подготовка и проверка данных: это включает в себя разделение набора данных для обучения и тестирования.
  3. Автоматизированное окончательное обучение модели на новых невидимых данных: модель выбирается, а гиперпараметры предварительно определяются в соответствии с предыдущим этапом эксперимента.
  4. Автоматическая оценка модели вместе с настройкой гиперпараметров. Обучение модели прекращается, как только достигается хорошая производительность модели.
  5. После того, как модель обучена с наиболее эффективными параметрами, она экспортируется.
  6. Экспортированная модель затем сохраняется в реестре.

После того, как модель создана, она переходит на этап производства под управлением инженера DevOps. Запускается конвейер непрерывного развертывания, включая тестирование и обучение модели. Окончательная сборка развертывается в облаке для прогнозирования поступающих данных из базы данных в режиме реального времени. Развертывание и мониторинг модели выполняются с помощью REST API внутри контейнеров. Компонент мониторинга конвейера регулярно оценивает производительность модели, обеспечивая постоянное переобучение и оптимизацию.

Применение MLOps в промышленности

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

  1. В сфере здравоохранения MLOps может упростить процесс разработки лекарств и сократить время и стоимость клинических испытаний. Например, Microsoft Project InnerEye использует искусственный интеллект для анализа трехмерных рентгенологических изображений и дифференциации опухолей и здоровой анатомии, чтобы помочь медицинским работникам в планировании лечения. Цель состоит в том, чтобы персонализировать лекарства для каждого пациента.
  2. В финансовом секторе MLOps может автоматизировать и контролировать системы обнаружения мошенничества в режиме реального времени, помогая снизить риск мошеннических действий. Например, TMNL, совместная работа пяти голландских банков, использует MLOps для мониторинга платежных транзакций на предмет возможного отмывания денег или финансирования терроризма с использованием ИИ и ОД.
  3. В сфере розничной торговли MLOps можно использовать для персонализации обслуживания клиентов и оптимизации операций цепочки поставок. Розничные продавцы могут быстро реагировать на меняющиеся предпочтения клиентов и рыночные условия, автоматизируя развертывание и обслуживание моделей машинного обучения. Это может помочь ритейлерам оставаться конкурентоспособными и улучшить свою прибыль. Например, анализ потребительской корзины — это метод, который розничные торговцы используют для поиска связей между часто покупаемыми товарами и выявления покупательских привычек клиентов с помощью правил ассоциации.
  4. Еще одним важным применением MLOps является телекоммуникационная отрасль, где MLOps можно использовать для улучшения работы сети и сокращения времени простоя. Автоматизируя развертывание и обслуживание моделей машинного обучения, телекоммуникационные компании могут быстро обнаруживать и устранять сетевые проблемы, снижая риск перебоев в обслуживании. Примеры телекоммуникационных компаний, использующих MLOps, включают AT&T, Verizon и Ericsson. Они используют MLOps для автоматизации этих процессов, обеспечения стабильной производительности модели и увеличения скорости развертывания модели. Цель состоит в том, чтобы повысить точность и эффективность машинного обучения в телекоммуникационной отрасли при одновременном сокращении ручных операций.

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

Часто задаваемые вопросы

Q1. Что такое конвейер MLOps?

A. Конвейер MLOps (Machine Learning Operations) относится к сквозному процессу управления, развертывания и мониторинга моделей машинного обучения в рабочей среде. Он включает в себя подготовку данных, обучение модели, тестирование, развертывание и текущее обслуживание. Конвейеры MLOps обеспечивают воспроизводимость, масштабируемость и постоянное улучшение моделей машинного обучения, позволяя организациям эффективно внедрять и оптимизировать рабочие процессы машинного обучения для реальных приложений.

Вопрос 2. В чем разница между конвейером машинного обучения и MLOps?

A. Конвейер машинного обучения — это последовательность шагов, связанных с обучением и развертыванием модели машинного обучения, включая предварительную обработку данных, разработку функций, обучение модели и оценку. С другой стороны, MLOps (Machine Learning Operations) охватывает более широкий набор практик и инструментов, используемых для управления конвейерами машинного обучения и их эксплуатации, включая контроль версий, автоматическое тестирование, непрерывную интеграцию, координацию развертывания и мониторинг, обеспечивая надежное и эффективное управление машинным обучением. моделей на протяжении всего их жизненного цикла. MLOps фокусируется на операционных аспектах ML, в то время как конвейер ML фокусируется на конкретных этапах разработки модели.

Вопрос 3. Что такое архитектура MLOps?

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

Заключение

Источник: Диего Госмар

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

Архитектура MLOps состоит из нескольких частей. Вот некоторые из основных выводов:

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

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