Оптимизация инференса YOLO26 с помощью движка DeepSparse от Neural Magic
При развертывании моделей обнаружения объектов, таких как Ultralytics YOLO26, на различном оборудовании ты можешь столкнуться с уникальными проблемами, например, с оптимизацией. Именно здесь на помощь приходит интеграция YOLO26 с движком DeepSparse от Neural Magic. Она меняет способ выполнения моделей YOLO26 и обеспечивает производительность уровня GPU непосредственно на CPU.
Это руководство покажет тебе, как развернуть YOLO26 с использованием DeepSparse от Neural Magic, как запускать инференс, а также как проводить бенчмаркинг производительности, чтобы убедиться в ее оптимизации.
Компания Neural Magic была приобретена Red Hat в январе 2025 года, и она прекращает поддержку версий deepsparse, sparseml, sparsezoo и sparsify для сообщества. Дополнительную информацию см. в уведомлении, опубликованном в файле Readme в репозитории sparseml на GitHub.
DeepSparse от Neural Magic
DeepSparse от Neural Magic — это среда выполнения для инференса, разработанная для оптимизации работы нейронных сетей на CPU. Она применяет передовые методы, такие как разреженность (sparsity), прунинг (pruning) и квантование, чтобы кардинально снизить вычислительные затраты при сохранении точности. DeepSparse предлагает гибкое решение для эффективного и масштабируемого выполнения нейронных сетей на различных устройствах.
Преимущества интеграции DeepSparse от Neural Magic с YOLO26
Прежде чем погружаться в процесс развертывания YOLO26 с использованием DeepSparse, давай разберемся в преимуществах этого инструмента. Вот некоторые из них:
- Повышенная скорость инференса: Достигает до 525 FPS (на YOLO11n), значительно ускоряя возможности инференса YOLO по сравнению с традиционными методами.
- Оптимизированная эффективность модели: Использует прунинг и квантование для повышения эффективности YOLO26, уменьшая размер модели и требования к вычислениям при сохранении точности.
-
Высокая производительность на стандартных CPU: Обеспечивает производительность уровня GPU на CPU, предоставляя более доступный и экономичный вариант для различных приложений.
-
Упрощенная интеграция и развертывание: Предлагает удобные инструменты для легкой интеграции YOLO26 в приложения, включая функции аннотирования изображений и видео.
-
Поддержка различных типов моделей: Совместимость как со стандартными, так и с оптимизированными по разреженности моделями YOLO26, что повышает гибкость развертывания.
-
Экономичное и масштабируемое решение: Снижает операционные расходы и предлагает масштабируемое развертывание продвинутых моделей обнаружения объектов.
Как работает технология DeepSparse от Neural Magic?
Технология DeepSparse от Neural Magic вдохновлена эффективностью человеческого мозга в вычислениях нейронных сетей. Она перенимает два ключевых принципа работы мозга:
-
Разреженность (Sparsity): Процесс создания разреженности включает в себя удаление (прунинг) избыточной информации из сетей глубокого обучения, что приводит к созданию более компактных и быстрых моделей без потери точности. Этот метод значительно снижает размер сети и вычислительные потребности.
-
Локальность ссылок (Locality of Reference): DeepSparse использует уникальный метод выполнения, разбивая сеть на «тензорные столбцы» (Tensor Columns). Эти столбцы выполняются в глубину, полностью помещаясь в кэш-память CPU. Этот подход имитирует эффективность мозга, минимизируя перемещение данных и максимизируя использование кэша процессора.
Создание разреженной версии YOLO26, обученной на пользовательском наборе данных
SparseZoo, репозиторий моделей с открытым исходным кодом от Neural Magic, предлагает коллекцию предварительно разреженных чекпоинтов моделей YOLO26. С помощью SparseML, который бесшовно интегрирован с Ultralytics, ты можешь легко дообучить эти разреженные чекпоинты на своих специфических наборах данных, используя простой интерфейс командной строки.
Ознакомься с документацией Neural Magic SparseML YOLO26 для получения дополнительной информации.
Использование: Развертывание YOLO26 с помощью DeepSparse
Развертывание YOLO26 с помощью DeepSparse от Neural Magic включает несколько простых шагов. Прежде чем переходить к инструкциям по использованию, обязательно изучи ассортимент моделей YOLO26, предлагаемых Ultralytics. Это поможет тебе выбрать наиболее подходящую модель для задач твоего проекта. Вот как ты можешь начать.
Шаг 1: Установка
Чтобы установить необходимые пакеты, выполни:
# Install the required packages
pip install deepsparse[yolov8]Шаг 2: Экспорт YOLO26 в формат ONNX
Для работы с движком DeepSparse модели YOLO26 должны быть представлены в формате ONNX. Экспорт твоей модели в этот формат необходим для совместимости с DeepSparse. Используй следующую команду для экспорта моделей YOLO26:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Эта команда сохранит модель yolo26n.onnx на твой диск.
Шаг 3: Развертывание и выполнение инференса
Имея модель YOLO26 в формате ONNX, ты можешь развернуть ее и запустить инференс с помощью DeepSparse. Это легко сделать через их интуитивно понятный Python API:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Шаг 4: Бенчмаркинг производительности
Важно убедиться, что твоя модель YOLO26 работает оптимально на DeepSparse. Ты можешь протестировать производительность своей модели, чтобы проанализировать пропускную способность и задержку:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Шаг 5: Дополнительные функции
DeepSparse предоставляет дополнительные функции для практической интеграции YOLO26 в приложения, такие как аннотирование изображений и оценка набора данных.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"Запуск команды annotate обрабатывает указанное тобой изображение, обнаруживает объекты и сохраняет аннотированное изображение с ограничивающими рамками (bounding boxes) и классификациями. Аннотированное изображение будет сохранено в папке annotation-results. Это помогает визуально представить возможности обнаружения модели.
После запуска команды eval ты получишь подробные выходные метрики, такие как точность (precision), полнота (recall) и mAP (средняя точность). Это дает комплексное представление о работе твоей модели на наборе данных и особенно полезно для тонкой настройки и оптимизации моделей YOLO26 под конкретные сценарии использования, гарантируя высокую точность и эффективность.
Резюме
В этом руководстве мы рассмотрели интеграцию YOLO26 от Ultralytics с движком DeepSparse от Neural Magic. Мы подчеркнули, как эта интеграция повышает производительность YOLO26 на платформах с CPU, предлагая эффективность уровня GPU и передовые методы разреженности нейронных сетей.
Для получения более подробной информации и ознакомления с продвинутыми сценариями использования посети документацию DeepSparse от Neural Magic. Ты также можешь изучить руководство по интеграции YOLO26 и посмотреть видео с пошаговым руководством на YouTube.
Кроме того, для более широкого понимания различных интеграций YOLO26 посети страницу руководства по интеграциям Ultralytics, где ты сможешь открыть для себя множество других захватывающих возможностей интеграции.
Часто задаваемые вопросы (FAQ)
Что такое движок DeepSparse от Neural Magic и как он оптимизирует производительность YOLO26?
Движок DeepSparse от Neural Magic — это среда выполнения для инференса, созданная для оптимизации выполнения нейронных сетей на CPU с помощью таких продвинутых методов, как разреженность, прунинг и квантование. Интегрируя DeepSparse с YOLO26, ты можешь достичь производительности уровня GPU на стандартных CPU, значительно увеличив скорость инференса, эффективность модели и общую производительность, сохраняя при этом точность. Более подробную информацию см. в разделе DeepSparse от Neural Magic.
Как мне установить необходимые пакеты для развертывания YOLO26 с помощью DeepSparse от Neural Magic?
Установка необходимых пакетов для развертывания YOLO26 с помощью DeepSparse от Neural Magic проста. Ты можешь легко установить их с помощью CLI. Вот команда, которую тебе нужно запустить:
pip install deepsparse[yolov8]После установки следуй инструкциям, приведенным в разделе Установка, чтобы настроить свое окружение и начать использовать DeepSparse с YOLO26.
Как преобразовать модели YOLO26 в формат ONNX для использования с DeepSparse?
Чтобы преобразовать модели YOLO26 в формат ONNX, который необходим для совместимости с DeepSparse, ты можешь использовать следующую команду CLI:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Эта команда экспортирует твою модель YOLO26 (yolo26n.pt) в формат (yolo26n.onnx), который может использоваться движком DeepSparse. Более подробную информацию об экспорте моделей можно найти в разделе Экспорт модели.
Как мне протестировать производительность YOLO26 на движке DeepSparse?
Бенчмаркинг производительности YOLO26 на DeepSparse помогает тебе проанализировать пропускную способность и задержку, чтобы убедиться в оптимизации твоей модели. Ты можешь использовать следующую команду CLI для запуска бенчмарка:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Эта команда предоставит тебе важные метрики производительности. Для получения дополнительной информации см. раздел Бенчмаркинг производительности.
Почему мне стоит использовать DeepSparse от Neural Magic с YOLO26 для задач обнаружения объектов?
Интеграция DeepSparse от Neural Magic с YOLO26 дает несколько преимуществ:
- Повышенная скорость инференса: Достигает до 525 FPS (на YOLO11n), что демонстрирует возможности оптимизации DeepSparse.
- Оптимизированная эффективность модели: Использует методы разреженности, прунинга и квантования для уменьшения размера модели и вычислительных потребностей при сохранении точности.
- Высокая производительность на стандартных CPU: Обеспечивает производительность уровня GPU на экономичном оборудовании с CPU.
- Упрощенная интеграция: Удобные инструменты для легкого развертывания и интеграции.
- Гибкость: Поддерживает как стандартные, так и оптимизированные по разреженности модели YOLO26.
- Экономичность: Снижает операционные расходы за счет эффективного использования ресурсов.
Для более глубокого изучения этих преимуществ посети раздел Преимущества интеграции DeepSparse от Neural Magic с YOLO26.