Otimizando Inferências do YOLO26 com o Motor DeepSparse da Neural Magic
Ao implementar modelos de object detection, como o Ultralytics YOLO26, em diversos hardwares, podes deparar-te com problemas únicos como a otimização. É aqui que a integração do YOLO26 com o Motor DeepSparse da Neural Magic entra em ação. Ele transforma a forma como os modelos YOLO26 são executados e permite um desempenho de nível de GPU diretamente em CPUs.
Este guia mostra-te como implementar o YOLO26 usando o DeepSparse da Neural Magic, como executar inferências e também como realizar o benchmarking de desempenho para garantir que está otimizado.
A Neural Magic foi adquirida pela Red Hat em janeiro de 2025 e está a descontinuar as versões comunitárias das suas bibliotecas deepsparse, sparseml, sparsezoo e sparsify. Para informações adicionais, consulta o aviso publicado no Readme no repositório GitHub sparseml.
DeepSparse da Neural Magic
O DeepSparse da Neural Magic é um runtime de inferência concebido para otimizar a execução de redes neuronais em CPUs. Aplica técnicas avançadas como esparsidade, poda e quantização para reduzir drasticamente as necessidades computacionais, mantendo a precisão. O DeepSparse oferece uma solução ágil para a execução eficiente e escalável de neural network em vários dispositivos.
Benefícios da Integração do DeepSparse da Neural Magic com o YOLO26
Antes de mergulharmos em como implementar o YOLO26 usando o DeepSparse, vamos compreender os benefícios de usar o DeepSparse. Algumas das principais vantagens incluem:
- Velocidade de Inferência Melhorada: Atinge até 525 FPS (no YOLO11n), acelerando significativamente as capacidades de inferência do YOLO em comparação com métodos tradicionais.
- Eficiência Otimizada do Modelo: Usa poda e quantização para melhorar a eficiência do YOLO26, reduzindo o tamanho do modelo e os requisitos computacionais enquanto mantém a accuracy.
-
Alto Desempenho em CPUs Padrão: Oferece desempenho semelhante ao de uma GPU em CPUs, proporcionando uma opção mais acessível e económica para várias aplicações.
-
Integração e Implementação Simplificadas: Oferece ferramentas fáceis de utilizar para a integração simples do YOLO26 em aplicações, incluindo funcionalidades de anotação de imagem e vídeo.
-
Suporte para Vários Tipos de Modelos: Compatível tanto com modelos YOLO26 padrão como com modelos otimizados por esparsidade, aumentando a flexibilidade de implementação.
-
Solução Económica e Escalável: Reduz as despesas operacionais e oferece uma implementação escalável de modelos avançados de deteção de objetos.
Como Funciona a Tecnologia DeepSparse da Neural Magic?
A tecnologia DeepSparse da Neural Magic é inspirada na eficiência do cérebro humano na computação de redes neuronais. Adota dois princípios fundamentais do cérebro, conforme a seguir:
-
Esparsidade: O processo de sparsification envolve a poda de informações redundantes de redes de deep learning, resultando em modelos menores e mais rápidos sem comprometer a precisão. Esta técnica reduz significativamente o tamanho da rede e as suas necessidades computacionais.
-
Localidade de Referência: O DeepSparse utiliza um método de execução único, dividindo a rede em Colunas de Tensores (Tensor Columns). Estas colunas são executadas em profundidade, cabendo inteiramente na cache da CPU. Esta abordagem imita a eficiência do cérebro, minimizando o movimento de dados e maximizando o uso da cache da CPU.
Criar Uma Versão Esparsa do YOLO26 Treinada num Dataset Personalizado
O SparseZoo, um repositório de modelos de código aberto da Neural Magic, oferece uma coleção de checkpoints de modelos YOLO26 pré-esparsificados. Com o SparseML, perfeitamente integrado com o Ultralytics, podes ajustar facilmente estes checkpoints esparsos nos teus datasets específicos usando uma interface de linha de comandos simples.
Consulta a documentação do SparseML YOLO26 da Neural Magic para mais detalhes.
Utilização: Implementar o YOLO26 usando o DeepSparse
A implementação do YOLO26 com o DeepSparse da Neural Magic envolve alguns passos simples. Antes de mergulhares nas instruções de utilização, não te esqueças de verificar a gama de modelos YOLO26 oferecidos pela Ultralytics. Isto ajudar-te-á a escolher o modelo mais adequado para os requisitos do teu projeto. Eis como podes começar.
Passo 1: Instalação
Para instalar os pacotes necessários, execute:
# Install the required packages
pip install deepsparse[yolov8]Passo 2: Exportar o YOLO26 para Formato ONNX
O Motor DeepSparse requer modelos YOLO26 no formato ONNX. Exportar o teu modelo para este formato é essencial para a compatibilidade com o DeepSparse. Usa o seguinte comando para exportar modelos YOLO26:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando guardará o modelo yolo26n.onnx no teu disco.
Passo 3: Implementar e Executar Inferências
Com o teu modelo YOLO26 no formato ONNX, podes implementar e executar inferências usando o DeepSparse. Isto pode ser feito facilmente com a sua intuitiva 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)Passo 4: Benchmarking de Desempenho
É importante verificar se o teu modelo YOLO26 está a ter um desempenho ótimo no DeepSparse. Podes fazer benchmark do desempenho do teu modelo para analisar o throughput e a latência:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Passo 5: Funcionalidades Adicionais
O DeepSparse fornece funcionalidades adicionais para a integração prática do YOLO26 em aplicações, tais como anotação de imagem e avaliação de datasets.
# 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"Executar o comando annotate processa a tua imagem especificada, detetando objetos e guardando a imagem anotada com caixas delimitadoras e classificações. A imagem anotada será armazenada numa pasta annotation-results. Isto ajuda a fornecer uma representação visual das capacidades de deteção do modelo.
Após executar o comando eval, receberás métricas de saída detalhadas como precision, recall e mAP (mean Average Precision). Isto fornece uma visão abrangente do desempenho do teu modelo no dataset e é particularmente útil para ajustar e otimizar os teus modelos YOLO26 para casos de uso específicos, garantindo alta precisão e eficiência.
Resumo
Este guia explorou a integração do YOLO26 da Ultralytics com o Motor DeepSparse da Neural Magic. Destacou como esta integração melhora o desempenho do YOLO26 em plataformas de CPU, oferecendo eficiência ao nível de GPU e técnicas avançadas de esparsidade de redes neuronais.
Para informações mais detalhadas e utilização avançada, visita a documentação do DeepSparse da Neural Magic. Podes também explorar o guia de integração do YOLO26 e ver uma sessão de demonstração no YouTube.
Adicionalmente, para uma compreensão mais ampla de várias integrações do YOLO26, visita a página do guia de integração da Ultralytics, onde podes descobrir uma gama de outras possibilidades de integração interessantes.
FAQ
O que é o Motor DeepSparse da Neural Magic e como ele otimiza o desempenho do YOLO26?
O Motor DeepSparse da Neural Magic é um runtime de inferência concebido para otimizar a execução de redes neuronais em CPUs através de técnicas avançadas como esparsidade, poda e quantização. Ao integrar o DeepSparse com o YOLO26, podes alcançar um desempenho semelhante ao de uma GPU em CPUs padrão, melhorando significativamente a velocidade de inferência, a eficiência do modelo e o desempenho geral, mantendo a precisão. Para mais detalhes, consulta a secção DeepSparse da Neural Magic.
Como posso instalar os pacotes necessários para implementar o YOLO26 usando o DeepSparse da Neural Magic?
A instalação dos pacotes necessários para implementar o YOLO26 com o DeepSparse da Neural Magic é direta. Podes instalá-los facilmente usando a CLI. Eis o comando que precisas de executar:
pip install deepsparse[yolov8]Uma vez instalado, segue os passos fornecidos na secção Instalação para configurar o teu ambiente e começar a usar o DeepSparse com o YOLO26.
Como converto modelos YOLO26 para o formato ONNX para usar com o DeepSparse?
Para converter modelos YOLO26 para o formato ONNX, que é necessário para a compatibilidade com o DeepSparse, podes usar o seguinte comando CLI:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando exportará o teu modelo YOLO26 (yolo26n.pt) para um formato (yolo26n.onnx) que pode ser utilizado pelo Motor DeepSparse. Mais informações sobre a exportação de modelos podem ser encontradas na secção Exportação de Modelo.
Como faço o benchmark do desempenho do YOLO26 no Motor DeepSparse?
Fazer o benchmark do desempenho do YOLO26 no DeepSparse ajuda-te a analisar o throughput e a latência para garantir que o teu modelo está otimizado. Podes usar o seguinte comando CLI para executar um benchmark:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Este comando fornecer-te-á métricas de desempenho vitais. Para mais detalhes, vê a secção Benchmarking de Desempenho.
Porque devo usar o DeepSparse da Neural Magic com o YOLO26 para tarefas de deteção de objetos?
Integrar o DeepSparse da Neural Magic com o YOLO26 oferece vários benefícios:
- Velocidade de Inferência Melhorada: Atinge até 525 FPS (no YOLO11n), demonstrando as capacidades de otimização do DeepSparse.
- Eficiência Otimizada do Modelo: Usa técnicas de esparsidade, poda e quantização para reduzir o tamanho do modelo e as necessidades computacionais enquanto mantém a precisão.
- Alto Desempenho em CPUs Padrão: Oferece um desempenho semelhante ao de uma GPU em hardware de CPU económico.
- Integração Simplificada: Ferramentas fáceis de utilizar para uma implementação e integração simples.
- Flexibilidade: Suporta tanto modelos YOLO26 padrão como otimizados por esparsidade.
- Económico: Reduz as despesas operacionais através da utilização eficiente de recursos.
Para um mergulho mais profundo nestas vantagens, visita a secção Benefícios da Integração do DeepSparse da Neural Magic com o YOLO26.