Optimización de inferencias de YOLO26 con el motor DeepSparse de Neural Magic#
Al desplegar modelos de object detection como Ultralytics YOLO26 en diversos hardwares, puedes encontrarte con problemas únicos como la optimización. Aquí es donde entra en juego la integración de YOLO26 con DeepSparse Engine 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 implementar YOLO26 utilizando DeepSparse de Neural Magic, cómo ejecutar inferencias y también cómo comparar el rendimiento para garantizar que esté optimizado.
Neural Magic fue adquirida por Red Hat en enero de 2025 y está descontinuando las versiones comunitarias de sus bibliotecas deepsparse, sparseml, sparsezoo y sparsify. Para obtener información adicional, consulta el aviso publicado en el archivo Readme del repositorio de GitHub de sparsify.
DeepSparse de Neural Magic#
Neural Magic's DeepSparse es un motor de inferencia diseñado para optimizar la ejecución de redes neuronales en CPUs. Aplica técnicas avanzadas como la escasez, la poda y la cuantización para reducir drásticamente las demandas computacionales mientras mantiene la precisión. DeepSparse ofrece una solución ágil para la ejecución eficiente y escalable de neural network en varios dispositivos.
Beneficios de integrar DeepSparse de Neural Magic con YOLO26#
Antes de profundizar en cómo implementar 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.
- 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 accuracy.
-
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ídeo.
-
Soporte para varios tipos de modelos: Compatible tanto con modelos YOLO26 estándar como con modelos optimizados por escasez, 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 se describe a continuación:
-
Espaciosidad: El proceso de sparsificación implica podar información redundante de las redes de deep learning, lo que da lugar a modelos más pequeños y rápidos sin comprometer la precisión. Esta técnica reduce significativamente el tamaño de la red y sus necesidades computacionales.
-
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, ajustándose 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.
Creación de una versión dispersa (sparse) de YOLO26 entrenada en un conjunto de datos personalizado#
SparseZoo, un repositorio de modelos de código abierto de Neural Magic, ofrece a collection of pre-sparsified YOLO26 model checkpoints. Con SparseML, integrado sin problemas con Ultralytics, los usuarios pueden ajustar sin esfuerzo estos puntos de control dispersos en sus conjuntos de datos específicos utilizando una interfaz de línea de comandos directa.
Consulta la Neural Magic's SparseML YOLO26 documentation para obtener más detalles.
Uso: Implementación de YOLO26 usando DeepSparse#
Desplegar YOLO26 con DeepSparse de Neural Magic implica unos pocos pasos sencillos. Antes de sumergirte en las instrucciones de uso, asegúrate de consultar la gama de YOLO26 models offered by Ultralytics. Esto te ayudará a elegir el modelo más adecuado para los requisitos de tu proyecto. Aquí te mostramos cómo puedes empezar.
Paso 1: Instalación#
Para instalar los paquetes necesarios, ejecuta:
# Install the required packages
pip install deepsparse[yolov8]Paso 2: Exportación de YOLO26 al formato ONNX#
DeepSparse Engine requiere modelos YOLO26 en ONNX format. Exportar tu modelo a este formato es esencial para la compatibilidad con DeepSparse. Utiliza el siguiente comando para exportar los modelos YOLO26:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando guardará el modelo yolo26n.onnx en tu disco.
Paso 3: Implementación y ejecución de inferencias#
Con tu modelo YOLO26 en formato ONNX, puedes implementar y ejecutar inferencias usando DeepSparse. Esto se puede hacer fácilmente con su intuitiva API de Python:
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 comparativa (benchmarking) del rendimiento#
Es importante comprobar que tu modelo YOLO26 está funcionando de forma óptima en DeepSparse. Puedes benchmark el rendimiento de tu modelo para analizar el rendimiento y la latencia:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Paso 5: Funciones adicionales#
DeepSparse proporciona funciones adicionales para la integración práctica de YOLO26 en aplicaciones, como la anotación de imágenes y la evaluación de conjuntos de datos.
# 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 annotation-results. Esto ayuda a proporcionar una representación visual de las capacidades de detección del modelo.
Después de ejecutar el comando de evaluación, recibirás métricas de salida detalladas como precision, recall y mAP (precisión media). Esto proporciona una visión completa del rendimiento de tu modelo en el conjunto de datos y es particularmente útil para afinar 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 escasez de redes neuronales.
Para obtener información más detallada y un uso avanzado, visita la DeepSparse documentation by Neural Magic. También puedes explore the YOLO26 integration guide y watch a walkthrough session on YouTube.
Además, para una comprensión más amplia de las diversas integraciones de YOLO26, visita la Ultralytics integration guide page, donde podrás descubrir una serie de otras posibilidades de integración interesantes.
FAQ#
DeepSparse Engine de Neural Magic es un motor de inferencia diseñado para optimizar la ejecución de redes neuronales en CPUs mediante técnicas avanzadas como la escasez, 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 mientras mantienes la precisión. Para más detalles, consulta la Neural Magic's DeepSparse section.
La instalación de los paquetes necesarios para implementar YOLO26 con DeepSparse de Neural Magic es sencilla. 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 Installation section para configurar tu entorno y empezar a usar DeepSparse con YOLO26.
Para convertir los modelos YOLO26 al formato ONNX, necesario para la compatibilidad con DeepSparse, puedes usar el siguiente comando de CLI:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando exportará tu modelo YOLO26 (
yolo26n.pt) a un formato (yolo26n.onnx) que puede ser utilizado por DeepSparse Engine. Se puede encontrar más información sobre la exportación de modelos en la Model Export section.La evaluación comparativa del rendimiento de YOLO26 en DeepSparse te ayuda a analizar el rendimiento y la latencia para garantizar que tu modelo esté optimizado. Puedes usar el siguiente comando de CLI para ejecutar una evaluación comparativa:
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 obtener más detalles, consulta la Benchmarking Performance section.
La integración de 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 optimizada del modelo: Utiliza técnicas de escasez, poda y cuantificació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 una implementación e integración sencillas.
- Flexibilidad: Admite modelos YOLO26 estándar y optimizados por escasez.
- Rentable: Reduce los gastos operativos mediante una utilización eficiente de los recursos.
Para profundizar en estas ventajas, visita la Benefits of Integrating Neural Magic's DeepSparse with YOLO26 section.