Веди журналы экспериментов Ultralytics YOLO с помощью интеграции MLflow
Узнай, как интеграция Ultralytics с MLflow записывает метрики, параметры и артефакты запусков обучения YOLO, помогая сравнивать эксперименты и воспроизводить результаты.
Abirami Vina8 мин. чтения
Проект компьютерного зрения можно представить как пазл. По сути, ты учишь машины понимать визуальные данные, собирая части головоломки: формируешь набор данных, обучаешь модель и развертываешь ее. Когда все части складываются, получается система, которая эффективно анализирует изображения и видео и извлекает из них смысл.
Однако, как и в настоящей головоломке, не каждый этап проекта компьютерного зрения проходит гладко. Такие задачи, как отслеживание экспериментов (ведение записей о настройках, конфигурациях и данных) и логирование (сбор результатов и метрик производительности), могут потребовать много времени и усилий. Эти шаги важны для улучшения и доработки моделей компьютерного зрения, но порой они становятся узким местом.
Здесь на помощь приходят модели Ultralytics YOLO и их интеграция с MLflow. Такие модели, как Ultralytics YOLO11, поддерживают широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров и классификацию изображений. Эти возможности открывают широкие перспективы для применения компьютерного зрения. Благодаря интеграциям, например с MLflow, инженеры по компьютерному зрению могут сосредоточиться на самой модели, а не на технических деталях.
В частности, интеграция с MLflow упрощает процесс, записывая различные метрики, параметры и артефакты на протяжении всего обучения. В этой статье мы расскажем, как работает интеграция с MLflow, в чем ее преимущества и как с ее помощью оптимизировать рабочие процессы Ultralytics YOLO.
Что такое MLflow?#
MLflow — это платформа с открытым исходным кодом, разработанная Databricks для упрощения и управления полным жизненным циклом машинного обучения. Он охватывает разработку, развертывание и сопровождение моделей машинного обучения.
MLflow включает следующие ключевые компоненты:
- Отслеживание экспериментов: Этот компонент предназначен для записи важных сведений о каждом запуске обучения модели: настроек, результатов и файлов. Он помогает сравнивать модели, видеть, как изменения влияют на производительность, и находить лучшую модель.
- Реестр моделей: Это своего рода хранилище моделей, в котором можно отслеживать разные версии и распределять их по этапам, например тестированию, подготовке и эксплуатации.
- Упаковка проектов: MLflow упрощает упаковку проектов машинного обучения вместе с кодом, настройками и необходимыми инструментами, чтобы ими можно было обмениваться и единообразно пользоваться в разных командах и средах.
- Развертывание моделей: MLflow предоставляет инструменты для быстрого развертывания обученных моделей на рабочих станциях или облачных платформах, таких как AWS и Azure, чтобы подготовить их к использованию в реальных условиях.

Рис. 1. Компоненты MLflow.
Компоненты MLflow упрощают управление процессом машинного обучения и делают его эффективнее. Благодаря этой интеграции Ultralytics позволяет использовать функцию отслеживания экспериментов в MLflow для записи параметров, метрик и артефактов во время обучения моделей YOLO. Это упрощает отслеживание и сравнение разных версий моделей YOLO.
Интеграция с MLflow упрощает обучение#
Теперь, когда мы разобрались, что такое MLflow, давай рассмотрим подробности интеграции с MLflow и её возможности.
Интеграция с MLflow помогает сделать процесс обучения эффективнее и упорядоченнее: она автоматически отслеживает и регистрирует важные аспекты экспериментов в компьютерном зрении. Она поддерживает три основных типа журналирования: метрики, параметры и артефакты.
Рассмотрим подробнее каждый тип журналирования:
- Журналирование метрик: Метрики — это количественные значения, которые измеряют производительность модели во время обучения. Например, такие метрики, как точность, precision, полнота и потери, фиксируются в конце каждой эпохи (полного прохода по датасету).
- Журналирование параметров: Параметры — это настройки, которые ты задаёшь до начала обучения модели, например скорость обучения, размер пакета (количество примеров, обрабатываемых за один шаг обучения) и число эпох. Эти параметры существенно влияют на поведение и производительность модели.
- Журналирование артефактов: Артефакты — это результаты или файлы, созданные во время обучения. К ним относятся важные файлы, например веса модели (числовые значения, которые модель усваивает во время обучения), файлы конфигурации (в которых хранятся настройки обучения) и другие относящиеся к делу данные.

Рис. 2. Основные возможности журналирования интеграции с MLflow. Изображение автора.
Как работает интеграция с MLflow#
Изучи документацию Ultralytics, чтобы найти пошаговые инструкции по включению интеграции с MLflow. После настройки интеграция автоматически отслеживает и регистрирует важные сведения о запусках обучения, как описано выше. Благодаря этому тебе не нужно вести учёт вручную, и ты можешь сосредоточиться на совершенствовании моделей.
Интеграция с MLflow хранит все запуски обучения в одном месте, упрощая сравнение результатов и оценку разных конфигураций. Сопоставляя зарегистрированные результаты, ты можешь определить конфигурации с лучшими показателями и использовать эти выводы для улучшения моделей. Так рабочий процесс становится эффективнее, лучше документируется и воспроизводится.
Каждый сеанс обучения организован как эксперимент, который служит контейнером для нескольких запусков. В рамках эксперимента ты можешь просматривать все связанные запуски, сравнивать их производительность и анализировать тенденции для разных конфигураций.
Например, если ты проверяешь разные скорости обучения или размеры пакета с Ultralytics YOLOv8, все связанные запуски объединяются в одном эксперименте, чтобы их было проще сравнивать и анализировать, как показано ниже.

Рис. 3. С помощью интеграции с MLflow можно просматривать эксперименты.
Для каждого отдельного запуска MLflow предоставляет подробную информацию о конкретном сеансе обучения. Ты можешь просматривать метрики, например точность, потери и precision, по эпохам, проверять использованные параметры обучения (например, размер пакета и скорость обучения), а также получать доступ к созданным артефактам, таким как веса модели и файлы конфигурации. Эти сведения хранятся в упорядоченном виде, поэтому любой запуск легко изучить повторно или воспроизвести.
Почему стоит выбрать интеграцию с MLflow: её ключевые преимущества#
Изучая документацию Ultralytics и доступные интеграции, ты можешь задаться вопросом: чем выделяется интеграция с MLflow и почему стоит выбрать её для своего рабочего процесса?
Такие интеграции, как TensorBoard, тоже предоставляют инструменты для отслеживания метрик и визуализации результатов, поэтому важно понимать, чем интеграция с MLflow отличается от остальных.
Вот почему MLflow может стать идеальным выбором для твоих проектов с YOLO:
- Удобный интерфейс: Панель управления MLflow упрощает просмотр экспериментов, сравнение запусков и анализ результатов, помогая быстро находить конфигурации с лучшими показателями.
- Журналирование пользовательских метрик: Инженеры компьютерного зрения могут регистрировать пользовательские метрики наряду со стандартными, что позволяет проводить более глубокий анализ с учётом особенностей проекта.
- Поддержка рабочих процессов на нескольких языках: MLflow совместим с разными языками программирования, включая Python, R и Java, что упрощает интеграцию в различные конвейеры машинного обучения.
Практическое применение Ultralytics YOLO11 и интеграции с MLflow#
Чтобы лучше понять, в каких случаях можно использовать интеграцию с MLflow, рассмотрим пример применения ИИ в здравоохранении: нужно обучить Ultralytics YOLO11 обнаруживать опухоли на рентгеновских снимках или изображениях компьютерной томографии.
В этом случае датасет будет состоять из размеченных медицинских изображений. Чтобы добиться оптимальной точности, тебе потребуется экспериментировать с разными конфигурациями, например менять скорость обучения и размер пакета, а также применять различные методы предобработки изображений. Поскольку в здравоохранении высоки ставки, а точность и надёжность критически важны, вручную отслеживать каждый эксперимент быстро становится сложно.

Рис. 4. Обнаружение опухолей с помощью Ultralytics YOLO11.
Интеграция с MLflow решает эту задачу, автоматически регистрируя параметры, метрики и артефакты каждого эксперимента. Например, если ты меняешь скорость обучения или применяешь новую стратегию аугментации, MLflow фиксирует эти изменения вместе с метриками производительности. Кроме того, MLflow сохраняет веса обученной модели и её конфигурацию, благодаря чему успешные модели легко воспроизвести и развернуть.
Это лишь один пример того, как интеграция с MLflow улучшает управление экспериментами в приложениях ИИ для компьютерного зрения. Те же возможности применимы и в других задачах компьютерного зрения, включая:
- Автономное вождение: Ultralytics YOLO11 можно использовать для обнаружения и классификации пешеходов, транспортных средств и дорожных знаков в реальном времени, повышая безопасность и эффективность беспилотных систем.
- Аналитика розничной торговли: Модели обнаружения объектов могут отслеживать поведение покупателей и размещение товаров, а также оптимизировать запасы, анализируя видео из торговых залов.
- Безопасность и видеонаблюдение: Модели можно обучить обнаруживать аномалии или отслеживать происходящее в реальном времени в зонах с ограниченным доступом, повышая уровень безопасности.
Преимущества интеграции с MLflow#
Интеграция MLflow с моделями YOLO упрощает и ускоряет управление экспериментами машинного обучения. Автоматизируя важные задачи и поддерживая порядок, она позволяет тебе сосредоточиться на создании и улучшении моделей. Вот основные преимущества:
- Масштабирование для крупных проектов: Платформа эффективно обрабатывает множество экспериментов и моделей, поэтому подходит для больших команд и сложных рабочих процессов.
- Подробная история экспериментов: Платформа хранит полную историю экспериментов, позволяя возвращаться к прошлым запускам, анализировать предыдущие конфигурации и извлекать уроки из прежних результатов.
- Возможность отключения и сброса настроек: Журналирование в MLflow можно легко отключить, когда оно не нужно, а настройки — сбросить до значений по умолчанию. Это позволяет адаптировать систему к разным требованиям рабочего процесса.
Главные выводы#
Интеграция с MLflow упрощает и ускоряет управление экспериментами Ultralytics YOLO и их оптимизацию. Автоматически отслеживая важные сведения, такие как параметры, метрики и артефакты, она делает процесс проще и избавляет от хлопот, связанных с ручным управлением экспериментами.
Работаешь ли ты над решениями для здравоохранения, например обнаружением опухолей, улучшением систем автономного вождения или развитием аналитики розничной торговли — эта интеграция помогает поддерживать порядок и воспроизводимость. Благодаря интуитивно понятному интерфейсу и гибкости MLflow позволяет разработчикам сосредоточиться на создании более качественных моделей и внедрении инноваций в приложениях ИИ для компьютерного зрения.
Присоединяйся к нашему сообществу и загляни в наш репозиторий GitHub, чтобы узнать об ИИ. На страницах наших решений ты также можешь изучить другие примеры применения: компьютерное зрение в производстве и ИИ в беспилотных автомобилях.
Автор
Комментарии
Задай вопрос, поделись результатами или помоги кому-нибудь.










