Зелёная проверка
Ссылка копируется в буфер обмена

Журнал Ultralytics YOLO экспериментов с использованием интеграции MLflow

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

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

Но, как и в настоящей головоломке, не все части проекта по компьютерному зрению просты. Такие задачи, как отслеживание экспериментов (ведение записей о твоих настройках, конфигурациях и данных) и ведение логов (фиксация результатов и показателей производительности), могут отнимать много времени и сил. Хотя эти шаги являются ключевыми для улучшения и доработки твоих моделей компьютерного зрения, иногда они могут казаться узким местом.

Именно здесь в игру вступают модели 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 создана для того, чтобы сделать процесс обучения более эффективным и организованным за счет автоматического отслеживания и протоколирования важных аспектов твоих экспериментов с компьютерным зрением. Она поддерживает три основных типа протоколирования: метрики, параметры и артефакты.

Вот более подробный взгляд на каждый тип лесозаготовок:

  • Ведение журнала метрик: Метрики - это количественные показатели, которые измеряют производительность твоей модели во время обучения. Например, такие метрики, как accuracy, precision, recall или loss, отслеживаются в конце каждой эпохи (полный проход по твоему набору данных). 
  • Регистрация параметров: Параметры - это настройки, которые ты задаешь перед началом обучения модели, например скорость обучения, размер партии (количество образцов, обрабатываемых за один шаг обучения) и количество эпох. Эти параметры существенно влияют на поведение и производительность твоей модели.
  • Ведение журнала артефактов: Артефакты - это выходные данные или файлы, созданные в процессе обучения. Сюда входят такие важные файлы, как веса модели (числовые значения, которые твоя модель приобретает в процессе обучения), файлы конфигурации (в которых хранятся настройки обучения) и другие важные данные. 
Рис. 2. Ключевые особенности протоколирования интеграции MLflow. Изображение автора.

Как работает интеграция с MLflow

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

Благодаря интеграции с MLflow все твои тренировочные прогоны хранятся в одном месте, что упрощает сравнение результатов и оценку различных конфигураций. Сравнивая зарегистрированные результаты, ты сможешь выявить наиболее эффективные конфигурации и использовать эти знания для улучшения своих моделей. Таким образом, твой рабочий процесс становится более эффективным, хорошо документированным и воспроизводимым.

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

Например, если ты тестируешь различные скорости обучения или размеры партии с Ultralytics YOLOv8 , все связанные прогоны группируются в рамках одного эксперимента для удобства сравнения и анализа, как показано ниже.

Рис. 3. Ты можешь просматривать эксперименты, используя интеграцию MLflow.

Тем временем на уровне отдельных прогонов MLflow предоставляет подробную информацию о конкретной сессии обучения. Ты можешь просмотреть такие метрики, как точность, потери и точность по эпохам, проверить использованные параметры обучения (например, размер партии и скорость обучения), а также получить доступ к сгенерированным артефактам, таким как веса моделей и файлы конфигурации. Все эти данные хранятся в упорядоченном формате, что упрощает повторный просмотр и воспроизведение любого прогона.

Выбор интеграции MLflow: почему она выделяется

Просматривая документациюUltralytics и изучая доступные интеграции, ты можешь задаться вопросом: Что отличает интеграцию MLflow и почему я должен выбрать ее для своего рабочего процесса?

На фоне таких интеграций, как TensorBoard, которые также предоставляют инструменты для отслеживания метрик и визуализации результатов, важно понимать уникальные качества, которые выделяют интеграцию MLflow. 

Вот почему MLflow может стать идеальным выбором для твоих проектовYOLO :

  • Удобный интерфейс: Приборная панель MLflow позволяет легко просматривать эксперименты, сравнивать прогоны и анализировать результаты, помогая тебе быстро определить наиболее эффективные конфигурации.
  • Регистрация пользовательских метрик: Инженеры Vision могут регистрировать пользовательские метрики в дополнение к стандартным, что позволяет проводить более глубокий анализ в соответствии с потребностями проекта.
  • Поддержка многоязычных рабочих процессов: MLflow совместим с несколькими языками программирования, включая Python, R и Java, что облегчает интеграцию в различные конвейеры машинного обучения.

Практическое применение YOLO11 и интеграция MLflow

Чтобы получить более полное представление о том, когда ты можешь использовать интеграцию MLflow, давай рассмотрим приложение ИИ в здравоохранении, где тебе нужно обучить YOLO11 обнаруживать опухоли на рентгеновских или компьютерных снимках. 

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

Рис. 4. Обнаружение опухолей с помощью Ultralytics YOLO11 .

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

Это лишь один из примеров того, как интеграция MLflow улучшает управление экспериментами в приложениях Vision AI. Эти же возможности применимы и к другим приложениям компьютерного зрения, включая:

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

Преимущества интеграции с MLflow

Интеграция MLflow с моделямиYOLO делает управление экспериментами по машинному обучению проще и эффективнее. Автоматизируя ключевые задачи и сохраняя все организованным, она позволяет тебе сосредоточиться на построении и улучшении своих моделей. Вот обзор основных преимуществ:

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

Основные выводы

Интеграция с MLflow делает управление и оптимизацию экспериментов Ultralytics YOLO проще и эффективнее. Автоматически отслеживая такие ключевые детали, как параметры, метрики и артефакты, она упрощает процесс и избавляет от хлопот, связанных с ручным управлением экспериментами. 

Работаешь ли ты над решениями в области здравоохранения, такими как обнаружение опухолей, совершенствуешь системы автономного вождения или улучшаешь аналитику розничной торговли, эта интеграция поможет сохранить все организованным и воспроизводимым. Благодаря интуитивно понятному интерфейсу и гибкости MLflow позволяет разработчикам сосредоточиться на создании лучших моделей и внедрении инноваций в приложения Vision AI.

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

Логотип FacebookЛоготип ТвиттераЛоготип LinkedInСимвол копирования-ссылки

Читайте больше в этой категории

Давай вместе построим будущее
искусственного интеллекта!

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