Оптимизация инференса YOLO26 с помощью DeepSparse Engine от Neural Magic#
При развертывании моделей обнаружения объектов, таких как Ultralytics YOLO26, на различном оборудовании можно столкнуться с уникальными проблемами, например с оптимизацией. Здесь на помощь приходит интеграция YOLO26 с DeepSparse Engine от Neural Magic. Она меняет способ выполнения моделей YOLO26 и обеспечивает производительность уровня GPU непосредственно на CPU.
В этом руководстве показано, как развернуть YOLO26 с помощью DeepSparse от Neural Magic, запускать инференс, а также оценивать производительность, чтобы убедиться в оптимальности модели.
Neural Magic была приобретена Red Hat в январе 2025 года и прекращает поддержку версий библиотек deepsparse, sparseml, sparsezoo и sparsify для сообщества. Дополнительную информацию см. в уведомлении, опубликованном в файле Readme репозитория sparsify на GitHub.
DeepSparse от Neural Magic#
DeepSparse от Neural Magic — это среда выполнения инференса, предназначенная для оптимизации выполнения нейронных сетей на CPU. Она применяет передовые методы, такие как разреженность, прореживание и квантование, чтобы значительно снизить вычислительную нагрузку без потери точности. DeepSparse — это гибкое решение для эффективного и масштабируемого выполнения нейронных сетей на различных устройствах.
Преимущества интеграции DeepSparse от Neural Magic с YOLO26#
Прежде чем перейти к развертыванию YOLO26 с помощью DeepSparse, разберем преимущества использования DeepSparse. К основным преимуществам относятся:
- Повышенная скорость инференса: обеспечивает до 525 FPS (на YOLO11n), значительно ускоряя инференс YOLO по сравнению с традиционными методами.
- Оптимизированная эффективность модели: использует прореживание и квантование для повышения эффективности YOLO26, уменьшая размер модели и вычислительные требования при сохранении точности.
-
Высокая производительность на стандартных CPU: обеспечивает производительность, сопоставимую с GPU, на CPU, предлагая более доступный и экономичный вариант для различных приложений.
-
Упрощенная интеграция и развертывание: предоставляет удобные инструменты для простой интеграции YOLO26 в приложения, включая функции аннотирования изображений и видео.
-
Поддержка различных типов моделей: совместим как со стандартными моделями YOLO26, так и с моделями YOLO26, оптимизированными с помощью разреженности, что обеспечивает гибкость развертывания.
-
Экономичное и масштабируемое решение: снижает эксплуатационные расходы и обеспечивает масштабируемое развертывание современных моделей обнаружения объектов.
Как работает технология DeepSparse от Neural Magic?#
Технология DeepSparse от Neural Magic вдохновлена эффективностью человеческого мозга при вычислениях в нейронных сетях. Она использует два ключевых принципа работы мозга:
-
Разреженность: разреживание включает удаление избыточной информации из сетей глубокого обучения, что приводит к созданию меньших и более быстрых моделей без ущерба для точности. Этот метод значительно уменьшает размер сети и ее вычислительные потребности.
-
Локальность обращений к данным: DeepSparse использует уникальный метод выполнения, разбивая сеть на столбцы Tensor. Эти столбцы выполняются по глубине и полностью помещаются в кэш CPU. Такой подход имитирует эффективность мозга, минимизируя перемещение данных и максимально используя кэш 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 Engine требует модели YOLO26 в формате ONNX. Экспорт модели в этот формат необходим для совместимости с DeepSparse. Используй следующую команду для экспорта моделей YOLO26:
# Export YOLO26 model to ONNX format
yolo detect 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 обрабатывает указанное изображение, обнаруживает объекты и сохраняет аннотированное изображение с ограничивающими рамками и классификациями. Аннотированное изображение будет сохранено в папке annotation-results. Это помогает визуально представить возможности модели по обнаружению объектов.
После запуска команды eval ты получишь подробные метрики, такие как точность, полнота и mAP (средняя точность). Это дает полное представление о производительности модели на датасете и особенно полезно для дообучения и оптимизации моделей YOLO26 под конкретные сценарии использования, обеспечивая высокую точность и эффективность.
Итоги#
В этом руководстве рассмотрена интеграция YOLO26 от Ultralytics с DeepSparse Engine от Neural Magic. Показано, как эта интеграция повышает производительность YOLO26 на CPU-платформах, обеспечивая эффективность уровня GPU и используя передовые методы разреживания нейронных сетей.
Для получения более подробной информации и расширенного использования посети репозиторий DeepSparse от Neural Magic. Ты также можешь изучить руководство по интеграции YOLO26 и посмотреть обучающее видео на YouTube.
Кроме того, чтобы получить более полное представление о различных интеграциях YOLO26, посетите страницу руководства по интеграциям Ultralytics, где можно узнать о других интересных возможностях интеграции.
Часто задаваемые вопросы#
DeepSparse Engine от Neural Magic — это среда выполнения инференса, предназначенная для оптимизации выполнения нейронных сетей на CPU с помощью передовых методов, таких как разреженность, прореживание и квантование. Интеграция DeepSparse с YOLO26 позволяет достичь производительности, сопоставимой с GPU, на стандартных CPU, значительно повысив скорость инференса, эффективность модели и общую производительность при сохранении точности. Подробнее см. в разделе о DeepSparse от Neural Magic.
Установка необходимых пакетов для развертывания YOLO26 с помощью DeepSparse от Neural Magic выполняется просто. Их можно легко установить через CLI. Вот команда, которую нужно выполнить:
pip install deepsparse[yolov8]После установки выполни шаги, приведенные в разделе «Установка», чтобы настроить окружение и начать использовать DeepSparse с YOLO26.
Чтобы преобразовать модели YOLO26 в формат ONNX, необходимый для совместимости с DeepSparse, можно использовать следующую команду CLI:
yolo detect export model=yolo26n.pt format=onnx opset=13Эта команда экспортирует модель YOLO26 (
yolo26n.pt) в формат (yolo26n.onnx), который можно использовать с DeepSparse Engine. Дополнительную информацию об экспорте моделей можно найти в разделе «Экспорт модели».Оценка производительности YOLO26 в DeepSparse помогает проанализировать пропускную способность и задержку, чтобы убедиться в оптимальности модели. Для запуска оценки можно использовать следующую команду CLI:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Эта команда предоставит важные метрики производительности. Подробнее см. в разделе «Оценка производительности».
Интеграция DeepSparse от Neural Magic с YOLO26 дает несколько преимуществ:
- Повышенная скорость инференса: обеспечивает до 525 FPS (на YOLO11n), демонстрируя возможности оптимизации DeepSparse.
- Оптимизированная эффективность модели: использует методы разреживания, прореживания и квантования для уменьшения размера модели и вычислительных потребностей при сохранении точности.
- Высокая производительность на стандартных CPU: обеспечивает производительность, сопоставимую с GPU, на экономичном оборудовании с CPU.
- Упрощенная интеграция: удобные инструменты для простого развертывания и интеграции.
- Гибкость: поддерживает как стандартные модели YOLO26, так и модели YOLO26, оптимизированные с помощью разреженности.
- Экономичность: снижает эксплуатационные расходы за счет эффективного использования ресурсов.
Чтобы подробнее ознакомиться с этими преимуществами, посетите раздел «Преимущества интеграции DeepSparse от Neural Magic с YOLO26».