Архитектура MLOps и управление инфраструктурой как кодом

MLOps примеры курсы обучение, курсы дата-инженеров ML, Machine Learning для инженеров и архитекторов примеры курсы обучение, архитектура и инфраструктура MLOps, Школа Больших Данных Учебный Центр Коммерсант

Из каких компонентов состоит архитектура MLOps, что такое инфраструктура как код, как управлять ею с помощью скриптов и почему это нужно на каждом этапе жизненного цикла моделей Machine Learning.

Жизненный цикл ML-модели и MLOps

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

Разработка и внедрение ML-решений

Код курса
MLOPS
Ближайшая дата курса
1 июля, 2024
Продолжительность
24 ак.часов
Стоимость обучения
54 000 руб.

MLOps включает следующие этапы:

  • Исследовательский анализ данных (EDA, Exploratory Data Analysis) – подготовка исходных данных, их анализ и обобщение для получения информации и выявления закономерностей, обнаружения взаимосвязей и генерации гипотез.
  • Подготовка данных и проектирование фичей для обучения ML-модели, включая очистку и предварительную обработку, удаление выбросов, заполнение пропусков, устранение несоответствий, дублей и ошибок. Здесь же решаются проблемы с мультиколлинеарностью потенциальных фичей, чтобы снизить размерность вектора обучающих данных.
  • Обучение и настройка ML-модели, включая настройку параметров алгоритма для повышения производительности на исследуемых датасетах. Сюда может входить выбор различных наборов ресурсов, настройку параметров регуляризации или изменение скорости обучения. Такая корректировка выполняется итеративно через тестирование различных комбинации параметров, чтобы выбрать лучшую из возможных. При этом важно избежать переобучения ML-модели, когда алгоритм учится распознавать конкретные примеры в обучающем датасете, но не может применить эти знания к реальным данным. Переобучение исправляется с помощью регуляризации, перекрестной проверки и ранней остановки.
  • Тестирование ML-модели, включая оценку точности, производительности и объективности, а также проверка модели с помощью ручных и автоматических методов тестирования.
  • Вывод ML-модели в производство и обслуживание, включая предоставление конечным пользователям и приложениям. Здесь используются DevOps-инструменты и техники развертывания приложений, а также средства непрерывного мониторинга запущенной ML-системы, чтобы поддерживать ее точность и надежность с течением времени.
  • Автоматическое обновление модели во время эксплуатации, включая периодическое переобучение алгоритма с новыми данными для фиксации основных изменений в датасете и включения новых фичей.

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

Архитектура MLOps-инфраструктуры

Чтобы обрабатывать данные в ходе машинного обучения, их сперва следует собрать и где-то сохранить. Поскольку обучающие данные могут быть в разных форматах и в огромных объемах, лучше всего хранить их в облачном озера данных с поддержкой ACID-транзакций. Это соответствует гибридной архитектуре LakeHouse, о которой мы писали здесь. Реализация этого подхода поддерживается многими облачными провайдерами, в частности, Databricks – платформе больших данных, которая предоставляет совместное рабочее пространство для дата-инженеров, специалистов по Data Science и аналитиков. Она предлагает широкий набор инструментов и сервисов, упрощающих создание, обучение и развертывание крупномасштабных моделей машинного обучения, а также поддерживает различные источники данных.

Применительно к задачам MLOps, Databricks имеет следующие возможности:

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

Возвращаясь к компоненту хранения данных в MLOps-инрафструктуре, отметим, что Data Lakehouse имеют эталонную архитектуру Medallion, состоящую из 3-х слоев (уровней). На бронзовом слое хранятся необработанные данные, на серебряном – очищенные, а на золотом — данные, готовые к использованию. Например, с помощью Synapse можно запрашивать золотой слой с визуализацией в Power BI. Все это управляется фабрикой данных, которая синхронизирует их обновление и прием. Целью Data Lakehouse является предоставление стандартного способа обработки структурированных и неструктурированных данных.

Архитектура Данных

Код курса
ARMG
Ближайшая дата курса
22 апреля, 2024
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.

Lakehouse включает в себя несколько областей хранения и различные вычислительные ресурсы. Чтобы управлять этой инфраструктурой, ее, подобно коду, следует версионировать и поддерживать. Для этого в MLOps реализуется подход инфраструктура как код (Infrastructure as a Code) с помощью таких средств, как Terraform и другие системы, позволяющие систематизировать ресурсы облачных вычислений. Например, вместо того чтобы вручную создавать учетную запись хранения в платформе машинного обучения, можно написать сценарий Terraform, который сделает автоматически. Terraform позволяет безопасно и эффективно создавать, изменять и версионировать ИТ-инфраструктуру, от низкоуровневых компонентов, таких как вычислительные экземпляры, хранилище и сеть, а также высокоуровневых составляющих, таких как записи DNS и функции SaaS.

Кроме средства хранения данных и инструмента управления инфраструктурой, архитектура MLOps также включает следующие компоненты:

  • платформа машинного обучения, где можно писать код ML-модели, получать доступ к вычислительной мощности и решениям AutoML, а также выполнять мониторинг моделей и данных;
  • Key Vault — хранилище безопасного хранения секретов и паролей;
  • инструменты мониторинга сред разработки, тестирования и производственного развертывания.

DevOps-платформы, таких как GitHub или Azure DevOps, позволят запускать конвейеры для передачи объектов между средами. В качестве объекта здесь будет передаваться не просто ML-модель, а целый контейнер со всеми необходимыми зависимостями, включая переменные среды, необходимые библиотеки и прочее окружение программного кода.

MLOps-архитектура и инфраструктура
MLOps-архитектура и инфраструктура

Таким образом, интеграция MLOps-идей в реальные проекты предполагает не только внедрение Kubeflow, или MLflow, а также Git-подобных инструментов для  версионирования и AirFlow для организации ML-конвейеров. Необходимо также продумать вопросы архитектуры данных, их хранения и управления всей этой инфраструктурой. Как это сделать на практике для построения масштабных систем аналитики больших данных и машинного обучения, вы узнаете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://betterprogramming.pub/mlops-and-mlflops-795781d17989
  2. https://docs.databricks.com/machine-learning/mlops/mlops-workflow.html
  3. https://jlgjosue.medium.com/mlops-and-databricks-5e2d682a6cb8
Поиск по сайту