Операции машинного обучения (MLOps)
Откройте для себя возможности MLOps: оптимизируйте развертывание ML-моделей, автоматизируйте рабочие процессы, обеспечьте надежность и эффективно масштабируйте успех ИИ.
Machine Learning Operations (MLOps) - это набор практик, направленных на надежное и эффективное развертывание и поддержку моделей Machine Learning (ML) в производстве. Черпая вдохновение в принципах DevOps, MLOps применяет аналогичные концепции ко всему жизненному циклу моделей ИИ - от сбора данных и обучения модели до развертывания и мониторинга. Основная цель - автоматизировать и упростить процессы, связанные с переходом от исследовательского прототипа модели ИИ к надежному и масштабируемому производственному приложению. Это гарантирует, что модели будут не только хорошо работать на начальном этапе, но и сохранят свою эффективность с течением времени, по мере поступления новых данных.
MLOps в сравнении со смежными концепциями
Важно отличать MLOps от родственных, но разных концепций:
- MLOps и AutoML: хотя они могут работать вместе, их направленность различна. Автоматизированное машинное обучение (AutoML) сосредоточено на автоматизации процесса создания модели, например, предварительной обработки данных, разработки функций и настройки гиперпараметров. MLOps, с другой стороны, охватывает весь жизненный цикл, включая то, что происходит после создания модели, например развертывание модели, мониторинг и управление. AutoML можно рассматривать как инструмент в рамках более крупной структуры MLOps, ускоряющий этап разработки.
- MLOps против DevOps: MLOps - это специализация DevOps, адаптированная к уникальным потребностям машинного обучения. В то время как DevOps фокусируется на автоматизации доставки программного обеспечения посредством непрерывной интеграции и непрерывного развертывания (CI/CD), MLOps расширяет эту парадигму, включая конвейеры данных и моделей. Она позволяет решить проблемы, которые обычно не встречаются в традиционной разработке программного обеспечения, такие как дрейф данных, версионирование моделей и необходимость постоянного переобучения.
Применение в реальном мире
Практика MLOps необходима для управления сложными системами ML в производственных средах.
- Рекомендательные системы: Такие компании, как Netflix или Spotify, используют MLOps для постоянного переобучения моделей своих рекомендательных систем на основе новых данных о взаимодействии с пользователями. Конвейеры MLOps позволяют им проводить A/B-тестирование различных версий моделей, отслеживать показатели вовлеченности и быстро откатывать неэффективные модели, обеспечивая свежесть и персонализацию рекомендаций.
- Обнаружение мошенничества: Финансовые учреждения используют MLOps для управления моделями обнаружения мошенничества. Это включает в себя мониторинг данных о транзакциях на предмет выявления новых моделей мошеннической деятельности, автоматическое переобучение моделей на основе новых данных, обеспечение низкой задержки вывода для обнаружения в режиме реального времени и ведение журналов аудита для соблюдения нормативных требований. Модели Ultralytics YOLO, используемые в системах визуального контроля, которые могут использоваться для обнаружения мошенничества, также выигрывают от применения MLOps для развертывания и мониторинга на пограничных устройствах.
Инструменты и платформы
Разнообразные инструменты поддерживают различные этапы жизненного цикла MLOps, позволяя командам создавать эффективные и масштабируемые рабочие процессы.
- Отслеживание и версионирование экспериментов: MLflow, Weights & Biases и Data Version Control (DVC) - популярные инструменты для отслеживания экспериментов и версионирования данных и моделей. Ultralytics предлагает встроенную интеграцию со многими из этих инструментов, включая Weights & Biases.
- Оркестрация рабочих процессов: Такие инструменты, как Kubeflow Pipelines и Apache Airflow, помогают автоматизировать и управлять сложными рабочими процессами ML.
- Обслуживание моделей: Для масштабного развертывания моделей широко используются такие платформы, как KServe, BentoML и NVIDIA Triton Inference Server. Модели Ultralytics могут быть экспортированы в такие форматы, как ONNX, для совместимости с этими серверами.
- Мониторинг: Grafana и Prometheus часто используются для создания панелей мониторинга производительности модели и состояния системы.
- Комплексные платформы: Такие комплексные платформы, как Amazon SageMaker, Google Cloud AI Platform, Microsoft Azure Machine Learning и Ultralytics HUB, представляют собой интегрированные среды, охватывающие большинство, если не все, этапы MLOps - от управления данными до развертывания и мониторинга моделей. Эти платформы используют облачные вычисления для предоставления масштабируемых ресурсов для обучения пользовательских моделей.