Нажав кнопку "Принять все файлы cookie", вы соглашаетесь с сохранением файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа его использования и помощи в наших маркетинговых усилиях. Дополнительная информация
Настройки файлов cookie
Нажав кнопку "Принять все файлы cookie", вы соглашаетесь с сохранением файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа его использования и помощи в наших маркетинговых усилиях. Дополнительная информация
Узнайте, как интеграция MLflow и ведение журнала могут повысить эффективность экспериментов Ultralytics YOLO, обеспечивая превосходное отслеживание в приложениях компьютерного зрения.
Проект по компьютерному зрению можно представить как головоломку. По сути, вы учите машины понимать визуальные данные, собирая части головоломки, например, собирая набор данных, обучая модель и применяя ее. Когда все совпадает, получается система, способная эффективно анализировать и осмысливать изображения и видео.
Но, как и в настоящей головоломке, не все части проекта по компьютерному зрению просты. Такие задачи, как отслеживание экспериментов (запись параметров, конфигураций и данных) и ведение журнала (фиксация результатов и показателей производительности), могут отнимать много времени и сил. Хотя эти шаги являются ключевыми для улучшения и совершенствования моделей компьютерного зрения, иногда они могут казаться узким местом.
Именно здесь на помощь приходят модели Ultralytics YOLO и их интеграция с MLflow. Модели, подобные Ultralytics YOLO11, поддерживают широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию объектов и классификацию изображений. Эти возможности позволяют создавать захватывающие приложения для компьютерного зрения. Наличие возможности полагаться на такие интеграции, как интеграция с MLflow, позволяет инженерам по компьютерному зрению сосредоточиться на самой модели, а не зацикливаться на деталях.
В частности, интеграция MLflow упрощает этот процесс, регистрируя различные метрики, параметры и артефакты на протяжении всего процесса обучения. В этой статье мы рассмотрим, как работает интеграция MLflow, каковы ее преимущества и как вы можете использовать ее для оптимизации рабочих процессов Ultralytics YOLO.
Что такое MLflow?
MLflow - это платформа с открытым исходным кодом (разработанная компанией Databricks), предназначенная для оптимизации и управления всем жизненным циклом машинного обучения. Она включает в себя процесс разработки, развертывания и поддержки моделей машинного обучения.
MLflow включает в себя следующие ключевые компоненты:
Отслеживание экспериментов: Этот компонент предназначен для записи важных деталей, таких как настройки модели, результаты и файлы для каждого тренировочного прогона модели. Это поможет вам сравнить модели, увидеть, как изменения влияют на производительность, и найти лучшую.
Реестр моделей: Это как система хранения ваших моделей, где вы можете отслеживать различные версии и организовывать их по стадиям, таким как тестирование, постановка и производство.
Упаковка проектов: MLflow позволяет легко упаковывать проекты машинного обучения, включая код, настройки и необходимые инструменты, чтобы их можно было использовать совместно и последовательно в разных командах и средах.
Развертывание моделей: MLflow предоставляет инструменты для быстрого развертывания обученных моделей на рабочих станциях или облачных платформах, таких как AWS и Azure, что делает их готовыми к использованию в реальном мире.
Компоненты MLflow упрощают и повышают эффективность управления процессом машинного обучения. Благодаря этой интеграции Ultralytics позволяет использовать функцию отслеживания экспериментов MLflow для регистрации параметров, метрик и артефактов в процессе обучения моделей YOLO. Это упрощает отслеживание и сравнение различных версий моделей YOLO.
Интеграция с MLflow упрощает процесс обучения
Теперь, когда мы рассказали о том, что такое MLflow, давайте погрузимся в детали интеграции MLflow и ее возможностей.
Интеграция MLflow создана для того, чтобы сделать процесс обучения более эффективным и организованным, автоматически отслеживая и регистрируя важные аспекты ваших экспериментов с компьютерным зрением. Она поддерживает три основных типа протоколирования: метрики, параметры и артефакты.
Вот более подробный обзор каждого типа лесозаготовок:
Регистрация метрик: Метрики - это количественные показатели, которые измеряют производительность вашей модели во время обучения. Например, такие метрики, как точность, прецизионность, отзыв или потеря, отслеживаются в конце каждой эпохи (полный проход по набору данных).
Регистрация параметров: Параметры - это настройки, которые вы задаете перед началом обучения модели, такие как скорость обучения, размер партии (количество образцов, обрабатываемых за один шаг обучения) и количество эпох. Эти параметры существенно влияют на поведение и производительность вашей модели.
Регистрация артефактов: Артефакты - это выходные данные или файлы, созданные в процессе обучения. Сюда входят такие важные файлы, как веса модели (числовые значения, которые модель приобретает в процессе обучения), файлы конфигурации (в которых хранятся настройки обучения) и другие важные данные.
Рис. 2. Основные функции протоколирования в интеграции MLflow. Изображение автора.
Как работает интеграция с MLflow
Вы можете изучить документацию Ultralytics, чтобы получить пошаговые инструкции по включению интеграции MLflow. После настройки интеграция автоматически отслеживает и регистрирует ключевые детали ваших обучающих экспериментов, как обсуждалось выше. Это устраняет необходимость в ручном отслеживании и помогает вам сосредоточиться на совершенствовании моделей.
Благодаря интеграции с 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 улучшает управление экспериментами в приложениях искусственного зрения. Эти же возможности применимы и к другим приложениям компьютерного зрения, включая:
Автономное вождение: YOLO11 можно использовать для обнаружения и классификации пешеходов, транспортных средств и дорожных знаков в режиме реального времени, чтобы повысить безопасность и эффективность систем автономного вождения.
Аналитика розничной торговли: Модели обнаружения объектов позволяют контролировать поведение покупателей, отслеживать размещение товаров и оптимизировать инвентаризацию, анализируя активность в магазине с помощью видеозаписей.
Безопасность и наблюдение: Модели могут быть обучены обнаруживать аномалии или отслеживать активность в реальном времени в чувствительных зонах для повышения уровня безопасности.
Преимущества интеграции с MLflow
Интеграция MLflow с моделями YOLO делает управление экспериментами по машинному обучению проще и эффективнее. Автоматизируя ключевые задачи и сохраняя все организованным, она позволяет вам сосредоточиться на создании и улучшении моделей. Вот обзор основных преимуществ:
Масштабирование для крупных проектов: Платформа эффективно обрабатывает множество экспериментов и моделей, что делает ее подходящей для больших команд и сложных рабочих процессов.
Подробная история экспериментов: Платформа хранит полную историю экспериментов, позволяя пересматривать прошлые запуски, анализировать предыдущие конфигурации и извлекать уроки из предыдущих результатов.
Отключение и сброс настроек: Журналирование MLflow можно легко отключить, если оно не требуется, а настройки можно вернуть к значениям по умолчанию, что позволяет гибко адаптироваться к изменяющимся требованиям рабочего процесса.
Основные выводы
Интеграция с MLflow делает управление и оптимизацию экспериментов Ultralytics YOLO проще и эффективнее. Благодаря автоматическому отслеживанию ключевых деталей, таких как параметры, метрики и артефакты, она упрощает процесс и избавляет от необходимости управлять экспериментами вручную.
Независимо от того, работаете ли вы над решениями в области здравоохранения, такими как обнаружение опухолей, совершенствуете системы автономного вождения или улучшаете аналитику розничной торговли, эта интеграция поможет организовать и воспроизвести все процессы. Благодаря интуитивно понятному интерфейсу и гибкости MLflow позволяет разработчикам сосредоточиться на создании лучших моделей и внедрении инноваций в приложения Vision AI.