Создание платформы MLOps предусматривает в первую очередь развертывание MLflow и Kubeflow и подключение через URI MLflow в рабочей зоне Kubeflow. После этого GoCD имеет возможность отслеживания репозитория Github и связи с хостами MLflow и Seldon Core, что упрощает процесс. Развертывание Prometheus выполняется в кластере с последующей настройкой с конечными точками Kubernetes для контроля и интеграции с Grafana. Это позволяет предоставить собранные метрики. Инструмент Streamlit работает на уровне потребления архитектуры. Он обеспечивает связь с конечными точками действующих моделей.
Начало процесса работы — создание конвейера, обеспечивающего работу с данными в пределах сервера ноутбуков Kubeflow. В этом пространстве осуществляется работа и масштабирование экспериментов по созданию конвейеров посредством Kubeflow Pipeline SDK.
SDK обеспечивает упаковку каждого шага в формате образа Docker и поддерживает дальнейшую работу с ним на собственном конвейере, основанном на инфраструктуре Kubernetes.
Kubeflow выполняет преобразование кода в контейнер DAG с последующей автоматической организацией рабочего процесса AirFlow. Этот инструмент MLOps делает возможным запуск сразу нескольких моделей одновременно. Несмотря на наличие у Kubeflow эффективного пользовательского интерфейса, он уступает MLflow по сложности и возможности простого сохранения данных уже выполненных экспериментов. Это осложняет воспроизводимость и мониторинг. MLflow намного более эффективен в отслеживании экспериментов. Это серьезный довод в пользу интеграции этих инструментов MLOps.
MLflow предусматривает возможность создания реестра моделей, что значительно упрощает управление жизненным циклом. Кроме этого, он содержит интеграцию с рядом популярных служб развертывания, в том числе с Seldon Core. Соответственно, эта служба выбирает из реестра необходимые модели, выполняет их развертывание.
Инструмент Seldon Core поддерживает развертывание моделей на локальном носителе или в облаке в любом из кластеров Kubernetes. При этом возможности платформы не зависят от инструментария. Поэтому Seldon Core может быть заменена с использованием альтернативного решения в облаке Azure. Использование Azure Kubernetes Services (AKS) позволяет развертывать действующие модели в области Azure с сохранением вышестоящих задач. В результате развертывание производится в различных целевых средах с сохранением кода. Создание интерфейса в формате веб-приложения может выполняться при помощи платформы Streamlit на базе Python. Она поддерживает вывод в интерактивном режиме, а также вывод пакетов для осуществления оценки массива данных.
Интерактивный отчет для анализа структуры и динамики продаж розничной точки. Кроме того, отчет включает результат работы предиктивной модели, строящей прогноз реакции клиентов на проведение промокомпании, а также результат интеллектуального анализа покупательских корзин.
Отчет демонстрирует ключевые темы и анализ пользовательского опыта в интернет-отзывах о принтерах четырех крупнейших производителей. Вы можете проанализировать разницу в рейтинговых позициях брендов на разных площадках и изучить причины этого.
Визуализация модели прогноза масштабов и сроков заболеваемости COVID-19 в России. Визуализированы данные по новым случаям, общем количестве активных случаев, числу летальных исходов и выздоровлений. Данные представлены в общем по РФ и по регионам.
Применение GoCD для запуска действующих конвейеров позволяет обеспечить автоматизацию создания ML. Это дает возможность создания, тестирования, выпуска и запуска всего конвейера. Аналитик запускает конвейеры путем отправки в репозиторий Github вносимых изменений. В этом репозитории осуществляется хранение кода. Такое решение поддерживает непрерывность процесса обучения, что является отличием Machine Learning от классических приложений, не предусматривающих возможность переобучения.
Для контроля можно применять инструменты Prometheus и Grafana. Они помогут обеспечить непрерывный контроль работы запущенных моделей и базовых инфраструктур. Эти инструменты выполняют сбор операционных метрик, а также собирают метрики качества. Кроме этого, они поддерживают сбор пользовательских метрик, которые относятся к отдельным вариантам использования, предусмотренным на платформе. Также есть возможность настройки механизма оповещения, что позволяет реализовать телефонные уведомления при выявлении отклонений. Действующий сервер CI/CD позволяет запустить для определенных моделей процесс переобучения и развернуть их в автоматическом режиме на базе предельных значений предупреждений.
Российская MLOps платформа для бизнеса PolyAnalyst — удобный и эффективный аналог решениям на основе инструментов, основанных на открытом коде. Платформа выполнена в качестве единой системы, выполняющей все аналитические этапы.
Основные функции PolyAnalyst:
Благодаря этому платформа дает аналитику широкие возможности для проведения процедур MLOps, не требуя от него навыков программирования.