Optimización de inferencias de YOLO26 con el motor DeepSparse de Neural Magic

Al desplegar modelos de detección de objetos como Ultralytics YOLO26 en diversos tipos de hardware, puedes encontrarte con problemas únicos como la optimización. Aquí es donde interviene la integración de YOLO26 con el motor DeepSparse de Neural Magic. Transforma la forma en que se ejecutan los modelos YOLO26 y permite un rendimiento de nivel de GPU directamente en CPUs.

Esta guía te muestra cómo desplegar YOLO26 usando DeepSparse de Neural Magic, cómo ejecutar inferencias y también cómo evaluar el rendimiento para asegurar que esté optimizado.

Fin de vida útil (EOL) de SparseML

Neural Magic fue adquirida por Red Hat en enero de 2025 y está retirando las versiones comunitarias de sus bibliotecas deepsparse, sparseml, sparsezoo y sparsify. Para más información, consulta el aviso publicado en el archivo Readme del repositorio sparseml en GitHub.

DeepSparse de Neural Magic

Neural Magic's DeepSparse Overview

DeepSparse de Neural Magic es un tiempo de ejecución de inferencia diseñado para optimizar la ejecución de redes neuronales en CPUs. Aplica técnicas avanzadas como la dispersión (sparsity), la poda (pruning) y la cuantización para reducir drásticamente las demandas computacionales mientras mantiene la precisión. DeepSparse ofrece una solución ágil para una ejecución eficiente y escalable de redes neuronales en diversos dispositivos.

Beneficios de integrar DeepSparse de Neural Magic con YOLO26

Antes de adentrarnos en cómo desplegar YOLO26 usando DeepSparse, comprendamos los beneficios de utilizar DeepSparse. Algunas ventajas clave incluyen:

  • Velocidad de inferencia mejorada: Alcanza hasta 525 FPS (en YOLO11n), acelerando significativamente las capacidades de inferencia de YOLO en comparación con los métodos tradicionales.

Neural Magic DeepSparse inference acceleration

  • Eficiencia del modelo optimizada: Utiliza la poda y la cuantización para mejorar la eficiencia de YOLO26, reduciendo el tamaño del modelo y los requisitos computacionales mientras se mantiene la precisión.

Neural Magic model optimization and pruning

  • Alto rendimiento en CPUs estándar: Ofrece un rendimiento similar al de una GPU en CPUs, proporcionando una opción más accesible y rentable para diversas aplicaciones.

  • Integración y despliegue simplificados: Ofrece herramientas fáciles de usar para una integración sencilla de YOLO26 en aplicaciones, incluyendo funciones de anotación de imágenes y vídeos.

  • Soporte para varios tipos de modelos: Compatible tanto con modelos YOLO26 estándar como con modelos optimizados por dispersión, lo que añade flexibilidad al despliegue.

  • Solución rentable y escalable: Reduce los gastos operativos y ofrece un despliegue escalable de modelos avanzados de detección de objetos.

¿Cómo funciona la tecnología DeepSparse de Neural Magic?

La tecnología DeepSparse de Neural Magic está inspirada en la eficiencia del cerebro humano en el cálculo de redes neuronales. Adopta dos principios clave del cerebro, como sigue:

  • Dispersión (Sparsity): El proceso de esparcificación consiste en podar la información redundante de las redes de aprendizaje profundo, lo que lleva a modelos más pequeños y rápidos sin comprometer la precisión. Esta técnica reduce significativamente el tamaño y las necesidades computacionales de la red.

  • Localidad de referencia: DeepSparse utiliza un método de ejecución único, dividiendo la red en columnas de tensores (Tensor Columns). Estas columnas se ejecutan en profundidad, encajando completamente dentro de la caché de la CPU. Este enfoque imita la eficiencia del cerebro, minimizando el movimiento de datos y maximizando el uso de la caché de la CPU.

How Neural Magic's DeepSparse Technology Works

Creación de una versión dispersa de YOLO26 entrenada en un conjunto de datos personalizado

SparseZoo, un repositorio de modelos de código abierto de Neural Magic, ofrece una colección de puntos de control de modelos YOLO26 pre-dispersados. Con SparseML, integrado perfectamente con Ultralytics, los usuarios pueden ajustar fácilmente estos puntos de control dispersos en sus propios conjuntos de datos utilizando una interfaz de línea de comandos directa.

Echa un vistazo a la documentación de SparseML YOLO26 de Neural Magic para más detalles.

Uso: Despliegue de YOLO26 usando DeepSparse

Desplegar YOLO26 con DeepSparse de Neural Magic implica unos pocos pasos sencillos. Antes de adentrarte en las instrucciones de uso, asegúrate de revisar la gama de modelos YOLO26 ofrecidos por Ultralytics. Esto te ayudará a elegir el modelo más adecuado para los requisitos de tu proyecto. Aquí tienes cómo empezar.

Paso 1: Instalación

Para instalar los paquetes necesarios, ejecuta:

Instalación
# Install the required packages
pip install deepsparse[yolov8]

Paso 2: Exportar YOLO26 al formato ONNX

El motor DeepSparse requiere modelos YOLO26 en formato ONNX. Exportar tu modelo a este formato es esencial para la compatibilidad con DeepSparse. Utiliza el siguiente comando para exportar modelos YOLO26:

Exportación de modelo
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13

Este comando guardará el modelo yolo26n.onnx en tu disco.

Paso 3: Despliegue y ejecución de inferencias

Con tu modelo YOLO26 en formato ONNX, puedes desplegar y ejecutar inferencias usando DeepSparse. Esto se puede hacer fácilmente con su API de Python intuitiva:

Despliegue y ejecución de inferencias
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)

Paso 4: Evaluación del rendimiento

Es importante comprobar que tu modelo YOLO26 esté funcionando de forma óptima en DeepSparse. Puedes evaluar el rendimiento de tu modelo para analizar el rendimiento (throughput) y la latencia:

Benchmarking
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

Paso 5: Características adicionales

DeepSparse proporciona características adicionales para la integración práctica de YOLO26 en aplicaciones, tales como anotación de imágenes y evaluación de conjuntos de datos.

Características adicionales
# 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"

Ejecutar el comando annotate procesa la imagen especificada, detectando objetos y guardando la imagen anotada con cuadros delimitadores y clasificaciones. La imagen anotada se almacenará en una carpeta llamada annotation-results. Esto ayuda a proporcionar una representación visual de las capacidades de detección del modelo.

Neural Magic annotation feature interface

Después de ejecutar el comando eval, recibirás métricas detalladas de salida como precisión, recall y mAP (precisión media media). Esto proporciona una visión completa del rendimiento de tu modelo en el conjunto de datos y es especialmente útil para ajustar y optimizar tus modelos YOLO26 para casos de uso específicos, asegurando una alta precisión y eficiencia.

Resumen

Esta guía exploró la integración de YOLO26 de Ultralytics con el motor DeepSparse de Neural Magic. Destacó cómo esta integración mejora el rendimiento de YOLO26 en plataformas de CPU, ofreciendo eficiencia de nivel GPU y técnicas avanzadas de dispersión de redes neuronales.

Para información más detallada y uso avanzado, visita la documentación de DeepSparse de Neural Magic. También puedes explorar la guía de integración de YOLO26 y ver una sesión de tutorial en YouTube.

Además, para una comprensión más amplia de varias integraciones de YOLO26, visita la página de la guía de integración de Ultralytics, donde podrás descubrir una variedad de otras posibilidades de integración interesantes.

Preguntas frecuentes

¿Qué es el motor DeepSparse de Neural Magic y cómo optimiza el rendimiento de YOLO26?

El motor DeepSparse de Neural Magic es un tiempo de ejecución de inferencia diseñado para optimizar la ejecución de redes neuronales en CPUs mediante técnicas avanzadas como la dispersión, la poda y la cuantización. Al integrar DeepSparse con YOLO26, puedes lograr un rendimiento similar al de una GPU en CPUs estándar, mejorando significativamente la velocidad de inferencia, la eficiencia del modelo y el rendimiento general, manteniendo la precisión. Para más detalles, consulta la sección DeepSparse de Neural Magic.

¿Cómo puedo instalar los paquetes necesarios para desplegar YOLO26 usando DeepSparse de Neural Magic?

Instalar los paquetes necesarios para desplegar YOLO26 con DeepSparse de Neural Magic es sencillo. Puedes instalarlos fácilmente usando la CLI. Aquí tienes el comando que necesitas ejecutar:

pip install deepsparse[yolov8]

Una vez instalado, sigue los pasos proporcionados en la sección de Instalación para configurar tu entorno y comenzar a usar DeepSparse con YOLO26.

¿Cómo convierto modelos YOLO26 al formato ONNX para usar con DeepSparse?

Para convertir modelos YOLO26 al formato ONNX, que es necesario para la compatibilidad con DeepSparse, puedes usar el siguiente comando CLI:

yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13

Este comando exportará tu modelo YOLO26 (yolo26n.pt) a un formato (yolo26n.onnx) que puede ser utilizado por el motor DeepSparse. Puedes encontrar más información sobre la exportación de modelos en la sección de Exportación de modelos.

¿Cómo evalúo el rendimiento de YOLO26 en el motor DeepSparse?

Evaluar el rendimiento de YOLO26 en DeepSparse te ayuda a analizar el rendimiento (throughput) y la latencia para asegurar que tu modelo esté optimizado. Puedes usar el siguiente comando CLI para ejecutar una evaluación:

deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

Este comando te proporcionará métricas de rendimiento vitales. Para más detalles, consulta la sección de Evaluación del rendimiento.

¿Por qué debería usar DeepSparse de Neural Magic con YOLO26 para tareas de detección de objetos?

Integrar DeepSparse de Neural Magic con YOLO26 ofrece varios beneficios:

  • Velocidad de inferencia mejorada: Alcanza hasta 525 FPS (en YOLO11n), demostrando las capacidades de optimización de DeepSparse.
  • Eficiencia del modelo optimizada: Utiliza técnicas de dispersión, poda y cuantización para reducir el tamaño del modelo y las necesidades computacionales mientras mantiene la precisión.
  • Alto rendimiento en CPUs estándar: Ofrece un rendimiento similar al de una GPU en hardware de CPU rentable.
  • Integración simplificada: Herramientas fáciles de usar para un despliegue e integración sencillos.
  • Flexibilidad: Admite tanto modelos YOLO26 estándar como modelos optimizados por dispersión.
  • Rentable: Reduce los gastos operativos mediante una utilización eficiente de los recursos.

Para una profundización en estas ventajas, visita la sección Beneficios de integrar DeepSparse de Neural Magic con YOLO26.

Comentarios