Операции машинного обучения (MLOps)
Откройте для себя возможности MLOps: оптимизируйте развертывание моделей машинного обучения, автоматизируйте рабочие процессы, обеспечьте надежность и эффективно масштабируйте успех ИИ.
Machine Learning Operations (MLOps) — это набор практик, направленных на развертывание и поддержание моделей машинного обучения (ML) в производственной среде надежно и эффективно. Черпая вдохновение из принципов DevOps, MLOps применяет аналогичные концепции ко всему жизненному циклу модели AI, от сбора данных и обучения модели до развертывания и мониторинга. Основная цель состоит в том, чтобы автоматизировать и оптимизировать процессы, связанные с переносом модели ML из исследовательского прототипа в надежное, масштабируемое производственное приложение. Это гарантирует, что модели не только хорошо работают изначально, но и остаются эффективными с течением времени по мере поступления новых данных.
MLOps и смежные концепции
Важно отличать MLOps от связанных, но отличных концепций:
- MLOps vs. AutoML: Хотя они могут работать вместе, их направленность различна. Automated Machine Learning (AutoML) (Автоматизированное машинное обучение) фокусируется на автоматизации процесса создания модели, такого как предварительная обработка данных, разработка признаков и настройка гиперпараметров. MLOps, с другой стороны, охватывает весь жизненный цикл, включая то, что происходит после создания модели, например, развертывание модели, мониторинг и управление. AutoML можно рассматривать как инструмент в рамках более крупной структуры MLOps, который ускоряет этап разработки.
- MLOps vs. DevOps: MLOps — это специализация DevOps, адаптированная к уникальным потребностям машинного обучения. В то время как DevOps фокусируется на автоматизации доставки программного обеспечения посредством Continuous Integration and Continuous Deployment (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, помогают автоматизировать и управлять сложными рабочими процессами машинного обучения.
- Обслуживание модели: Для развертывания моделей в масштабе широко используются такие платформы, как KServe, BentoML и NVIDIA Triton Inference Server. Модели Ultralytics можно экспортировать в такие форматы, как ONNX, для совместимости с этими серверами.
- Мониторинг: Grafana и Prometheus часто используются для создания панелей мониторинга для отслеживания производительности модели и работоспособности системы.
- Сквозные платформы: Комплексные платформы, такие как Amazon SageMaker, Google Cloud AI Platform, Microsoft Azure Machine Learning и Ultralytics HUB, предоставляют интегрированные среды, которые охватывают большинство, если не все, этапы MLOps, от управления данными до развертывания и мониторинга моделей. Эти платформы используют облачные вычисления для предоставления масштабируемых ресурсов для обучения пользовательских моделей.