Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Ведите журнал экспериментов Ultralytics YOLO с помощью интеграции MLflow

Абирами Вина

4 мин чтения

30 декабря 2024 г.

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

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

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

Именно здесь на помощь приходят моделиYOLO от Ultralytics и интеграция с MLflow. Такие модели, как Ultralytics YOLO11 поддерживают широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию объектов и классификацию изображений. Эти возможности позволяют создавать захватывающие приложения для компьютерного зрения. Возможность полагаться на такие интеграции, как интеграция MLflow, позволяет инженерам по компьютерному зрению сосредоточиться на самой модели, а не зацикливаться на деталях. 

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

Что такое MLflow?

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

MLflow включает в себя следующие ключевые компоненты:

  • Отслеживание экспериментов: Этот компонент фокусируется на записи важных деталей, таких как настройки модели, результаты и файлы для каждого запуска обучения модели. Это помогает сравнивать модели, видеть, как изменения влияют на производительность, и находить лучшую.
  • Реестр моделей: Это как система хранения ваших моделей, где вы можете track различные версии и организовывать их по стадиям, таким как тестирование, постановка и производство.
  • Упаковка проекта: MLflow упрощает объединение ваших проектов машинного обучения, включая код, настройки и необходимые инструменты, чтобы ими можно было делиться и использовать согласованно между командами и средами.
  • Развертывание модели: MLflow предоставляет инструменты для быстрого развертывания обученных моделей на рабочих станциях или облачных платформах, таких как AWS и Azure, подготавливая их к использованию в реальных условиях.
__wf_reserved_inherit
Рис. 1. Компоненты MLflow.

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

Интеграция с MLflow оптимизирует обучение

Теперь, когда мы рассмотрели, что такое MLflow, давайте углубимся в детали интеграции MLflow и какие функции она предлагает. 

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

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

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

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

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

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

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

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

__wf_reserved_inherit
Рис. 3. Вы можете просматривать эксперименты с использованием интеграции MLflow.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Начать бесплатно