Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Machine Learning Operations (MLOps)

MLOps применяет практики DevOps к машинному обучению: версионирование данных, автоматизированные конвейеры обучения, контроль качества, развёртывание и мониторинг дрейфа.

Операционная деятельность в машинном обучении (MLOps) — это набор практик и инструментов для надёжной и воспроизводимой разработки, развёртывания и поддержки моделей машинного обучения (ML) в производственной среде. MLOps развивает DevOps, автоматизирующий тестирование и выпуск программного обеспечения, применительно к системам, поведение которых зависит не только от кода, но и от данных: качество модели может ухудшиться, даже если не изменилось ни одной строки кода, — просто изменился наблюдаемый ею мир. Сама модель составляет лишь небольшую часть такой системы. В руководстве Google по архитектуре MLOps отмечается, что на код ML приходится лишь малая доля реальной ML-системы, а остальное составляют сбор и проверка данных, инфраструктура для обслуживания моделей и мониторинг. В статье NeurIPS «Скрытый технический долг в системах машинного обучения» описаны долгосрочные затраты на поддержку, которые накапливает эта окружающая система.

Основные практики#

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

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

В руководстве Google описаны три уровня зрелости. На уровне 0 специалисты по данным вручную обучают модели и передают их дальше. На уровне 1 автоматизируется сам конвейер обучения и добавляется непрерывное обучение (CT): автоматическое повторное обучение и предоставление моделей при поступлении новых данных или обнаружении дрейфа данных. На уровне 2 автоматизируются также сборка, тестирование и развёртывание кода конвейера с помощью CI/CD, благодаря чему новые версии конвейера безопасно попадают в рабочую среду, как и новые модели. Вместе эти практики образуют цикл:

MLOps на практике#

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

Контроль качества автоматизирует решение о выпуске модели. Следующий скрипт обучает кандидатную модель обнаружения объектов, оценивает её и текущую производственную модель на одних и тех же проверочных данных и экспортирует кандидата в ONNX, только если его mAP50-95 выше:

from ultralytics import YOLO

# Обучи кандидатную модель; запуск сохраняет её веса, args.yaml и results.csv в project/name
candidate = YOLO("yolo26n.pt")
candidate.train(data="coco8.yaml", epochs=10, project="mlops", name="candidate")

# Контроль качества: оцени кандидатную и производственную модели на одних и тех же проверочных данных
candidate_map = candidate.val(data="coco8.yaml").box.map
production_map = YOLO("yolo26n.pt").val(data="coco8.yaml").box.map

# Выпускай только улучшенную модель, экспортированную в формате, который поддерживает система обслуживания
if candidate_map > production_map:
    candidate.export(format="onnx")

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

  • DevOps: Автоматизирует сборку, тестирование и выпуск программного обеспечения, где изменение кода запускает конвейер. MLOps добавляет данные и модели как версионируемые ресурсы, поэтому конвейер могут запускать также новые данные или снижение точности в производственной среде.
  • LLMOps: Направление MLOps для приложений на основе больших языковых моделей, в центре которого — промпты, поиск информации, оценка сгенерированного текста и стоимость токенов.
  • Автоматизированное машинное обучение (AutoML): Автоматизирует создание модели, например выбор алгоритмов и гиперпараметров. MLOps управляет окружающим её жизненным циклом — от версионирования данных до мониторинга — и часто использует AutoML как один из шагов конвейера.
  • MLflow и Weights & Biases: Инструменты, охватывающие отдельные этапы жизненного цикла, например отслеживание экспериментов и реестры моделей. MLOps — это практика, объединяющая такие инструменты с конвейерами, обслуживанием моделей и мониторингом.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

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

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения