Ultralytics YOLO27:

Оптимизация инференса YOLO26 с помощью DeepSparse Engine от Neural Magic#

При развертывании моделей обнаружения объектов, таких как Ultralytics YOLO26, на различном оборудовании можно столкнуться с уникальными проблемами, например с оптимизацией. Здесь на помощь приходит интеграция YOLO26 с DeepSparse Engine от Neural Magic. Она меняет способ выполнения моделей YOLO26 и обеспечивает производительность уровня GPU непосредственно на CPU.

В этом руководстве показано, как развернуть YOLO26 с помощью DeepSparse от Neural Magic, запускать инференс, а также оценивать производительность, чтобы убедиться в оптимальности модели.

Окончание поддержки SparseML

Neural Magic была приобретена Red Hat в январе 2025 года и прекращает поддержку версий библиотек deepsparse, sparseml, sparsezoo и sparsify для сообщества. Дополнительную информацию см. в уведомлении, опубликованном в файле Readme репозитория sparsify на GitHub.

DeepSparse от Neural Magic#

Neural Magic's DeepSparse Overview

DeepSparse от Neural Magic — это среда выполнения инференса, предназначенная для оптимизации выполнения нейронных сетей на CPU. Она применяет передовые методы, такие как разреженность, прореживание и квантование, чтобы значительно снизить вычислительную нагрузку без потери точности. DeepSparse — это гибкое решение для эффективного и масштабируемого выполнения нейронных сетей на различных устройствах.

Преимущества интеграции DeepSparse от Neural Magic с YOLO26#

Прежде чем перейти к развертыванию YOLO26 с помощью DeepSparse, разберем преимущества использования DeepSparse. К основным преимуществам относятся:

  • Повышенная скорость инференса: обеспечивает до 525 FPS (на YOLO11n), значительно ускоряя инференс YOLO по сравнению с традиционными методами.

Neural Magic DeepSparse inference acceleration

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

Neural Magic model optimization and pruning

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

  • Упрощенная интеграция и развертывание: предоставляет удобные инструменты для простой интеграции YOLO26 в приложения, включая функции аннотирования изображений и видео.

  • Поддержка различных типов моделей: совместим как со стандартными моделями YOLO26, так и с моделями YOLO26, оптимизированными с помощью разреженности, что обеспечивает гибкость развертывания.

  • Экономичное и масштабируемое решение: снижает эксплуатационные расходы и обеспечивает масштабируемое развертывание современных моделей обнаружения объектов.

Как работает технология DeepSparse от Neural Magic?#

Технология DeepSparse от Neural Magic вдохновлена эффективностью человеческого мозга при вычислениях в нейронных сетях. Она использует два ключевых принципа работы мозга:

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

  • Локальность обращений к данным: DeepSparse использует уникальный метод выполнения, разбивая сеть на столбцы Tensor. Эти столбцы выполняются по глубине и полностью помещаются в кэш CPU. Такой подход имитирует эффективность мозга, минимизируя перемещение данных и максимально используя кэш CPU.

How Neural Magic's DeepSparse Technology Works

Создание разреженной версии 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. Это помогает визуально представить возможности модели по обнаружению объектов.

Neural Magic annotation feature interface

После запуска команды 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».

Комментарии