Optimierung von YOLO26-Inferenz mit der DeepSparse Engine von Neural Magic#
Wenn du object detection-Modelle wie Ultralytics YOLO26 auf verschiedener Hardware bereitstellst, kannst du auf einzigartige Probleme wie die Optimierung stoßen. Genau hier setzt die Integration von YOLO26 mit der DeepSparse Engine von Neural Magic an. Sie verändert die Art und Weise, wie YOLO26-Modelle ausgeführt werden, und ermöglicht GPU-Leistung direkt auf CPUs.
Diese Anleitung zeigt dir, wie du YOLO26 mit DeepSparse von Neural Magic bereitstellst, wie du Inferenzen ausführst und wie du die Leistung benchmarkst, um eine optimale Performance sicherzustellen.
Neural Magic wurde im Januar 2025 von Red Hat übernommen und stellt die Community-Versionen ihrer Bibliotheken deepsparse, sparseml, sparsezoo und sparsify ein. Weitere Informationen findest du in dem Hinweis im Readme des GitHub-Repositorys sparsify.
DeepSparse von Neural Magic#
Neural Magic's DeepSparse ist eine Inferenz-Laufzeitumgebung, die darauf ausgelegt ist, die Ausführung von neuronalen Netzen auf CPUs zu optimieren. Sie wendet fortgeschrittene Techniken wie Sparsity (Dünnbesetztheit), Pruning (Beschnitt) und Quantisierung an, um den Rechenaufwand drastisch zu reduzieren und gleichzeitig die Genauigkeit beizubehalten. DeepSparse bietet eine agile Lösung für eine effiziente und skalierbare neural network-Ausführung auf verschiedenen Geräten.
Vorteile der Integration von DeepSparse von Neural Magic mit YOLO26#
Bevor wir uns ansehen, wie du YOLO26 mit DeepSparse bereitstellst, lass uns die Vorteile von DeepSparse verstehen. Zu den wichtigsten Vorteilen gehören:
- Verbesserte Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (auf YOLO11n) und beschleunigt die YOLO-Inferenzkapazitäten im Vergleich zu herkömmlichen Methoden erheblich.
- Optimierte Modelleffizienz: Verwendet Pruning und Quantisierung, um die Effizienz von YOLO26 zu verbessern, wodurch Modellgröße und Rechenbedarf reduziert werden, während die accuracy erhalten bleibt.
-
Hohe Leistung auf Standard-CPUs: Liefert GPU-ähnliche Leistung auf CPUs und bietet eine zugänglichere und kostengünstigere Option für verschiedene Anwendungen.
-
Optimierte Integration und Bereitstellung: Bietet benutzerfreundliche Tools für eine einfache Integration von YOLO26 in Anwendungen, einschließlich Funktionen zur Bild- und Videoannotation.
-
Unterstützung für verschiedene Modelltypen: Kompatibel mit sowohl Standard- als auch Sparsity-optimierten YOLO26-Modellen, was die Flexibilität bei der Bereitstellung erhöht.
-
Kostengünstige und skalierbare Lösung: Reduziert die Betriebskosten und bietet eine skalierbare Bereitstellung fortschrittlicher Objekterkennungsmodelle.
Wie funktioniert die DeepSparse-Technologie von Neural Magic?#
Die DeepSparse-Technologie von Neural Magic ist von der Effizienz des menschlichen Gehirns bei der Berechnung neuronaler Netze inspiriert. Sie übernimmt zwei Schlüsselprinzipien des Gehirns wie folgt:
-
Sparsity: Der Prozess der Sparsifizierung umfasst das Beschneiden redundanter Informationen aus deep learning-Netzwerken, was zu kleineren und schnelleren Modellen führt, ohne die Genauigkeit zu beeinträchtigen. Diese Technik reduziert die Größe und den Rechenbedarf des Netzwerks erheblich.
-
Lokalität der Referenz: DeepSparse verwendet eine einzigartige Ausführungsmethode, bei der das Netzwerk in Tensor-Spalten unterteilt wird. Diese Spalten werden tiefenorientiert ausgeführt und passen vollständig in den CPU-Cache. Dieser Ansatz ahmt die Effizienz des Gehirns nach, minimiert die Datenbewegung und maximiert die Ausnutzung des CPU-Caches.
Erstellen einer Sparse-Version von YOLO26, trainiert auf einem benutzerdefinierten Datensatz#
SparseZoo, ein Open-Source-Modellrepository von Neural Magic, bietet eine Sammlung vorsparsifizierter YOLO26-Modell-Checkpoints. Mit SparseML, das nahtlos in Ultralytics integriert ist, kannst du diese sparse Checkpoints ganz einfach über eine einfache Befehlszeilenschnittstelle auf deinen spezifischen Datensätzen feinabstimmen.
Weitere Details findest du in der SparseML YOLO26-Dokumentation von Neural Magic.
Verwendung: Bereitstellung von YOLO26 mit DeepSparse#
Das Bereitstellen von YOLO26 mit der DeepSparse von Neural Magic erfordert ein paar einfache Schritte. Bevor du dich in die Verwendungshinweise stürzt, solltest du dir unbedingt die Reihe der von Ultralytics angebotenen YOLO26-Modelle ansehen. Dies hilft dir dabei, das am besten geeignete Modell für deine Projektanforderungen auszuwählen. So kannst du loslegen.
Schritt 1: Installation#
Um die erforderlichen Pakete zu installieren, führe aus:
# Install the required packages
pip install deepsparse[yolov8]Schritt 2: Exportieren von YOLO26 in das ONNX-Format#
Die DeepSparse Engine benötigt YOLO26-Modelle im ONNX format. Das Exportieren deines Modells in dieses Format ist für die Kompatibilität mit DeepSparse unerlässlich. Verwende den folgenden Befehl, um YOLO26-Modelle zu exportieren:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Dieser Befehl speichert das yolo26n.onnx-Modell auf deiner Festplatte.
Schritt 3: Bereitstellung und Ausführung von Inferenzen#
Mit deinem YOLO26-Modell im ONNX-Format kannst du Inferenzen mit DeepSparse bereitstellen und ausführen. Dies lässt sich einfach mit deren intuitiver Python API erledigen:
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)Schritt 4: Benchmarking der Leistung#
Es ist wichtig zu überprüfen, ob dein YOLO26-Modell auf DeepSparse optimal funktioniert. Du kannst die Leistung deines Modells benchmarking, um Durchsatz und Latenz zu analysieren:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Schritt 5: Zusätzliche Funktionen#
DeepSparse bietet zusätzliche Funktionen für die praktische Integration von YOLO26 in Anwendungen, wie z. B. Bildannotation und Datensatzevaluierung.
# 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"Die Ausführung des annotate-Befehls verarbeitet dein angegebenes Bild, erkennt Objekte und speichert das annotierte Bild mit Begrenzungsrahmen und Klassifizierungen. Das annotierte Bild wird in einem Ordner namens annotation-results gespeichert. Dies hilft dabei, eine visuelle Darstellung der Erkennungsfähigkeiten des Modells zu erhalten.
Nach dem Ausführen des Auswertungsbefehls erhältst du detaillierte Ausgabemetriken wie precision, recall und mAP (mean Average Precision). Dies bietet einen umfassenden Überblick über die Leistung deines Modells auf dem Datensatz und ist besonders nützlich für die Feinabstimmung und Optimierung deiner YOLO26-Modelle für bestimmte Anwendungsfälle, wodurch hohe Genauigkeit und Effizienz sichergestellt werden.
Zusammenfassung#
Dieser Leitfaden untersuchte die Integration von Ultralytics YOLO26 mit der DeepSparse Engine von Neural Magic. Es wurde hervorgehoben, wie diese Integration die Leistung von YOLO26 auf CPU-Plattformen verbessert und GPU-ähnliche Effizienz sowie fortschrittliche Sparsity-Techniken für neuronale Netze bietet.
Weitere detaillierte Informationen und eine fortgeschrittene Verwendung findest du in der DeepSparse-Dokumentation von Neural Magic. Du kannst auch den YOLO26-Integrationsleitfaden erkunden und eine Walkthrough-Sitzung auf YouTube ansehen.
Für ein besseres Verständnis verschiedener YOLO26-Integrationen besuche zusätzlich die Ultralytics-Integrationsleitfaden-Seite, auf der du eine Reihe weiterer spannender Integrationsmöglichkeiten entdecken kannst.
FAQ#
Die DeepSparse Engine von Neural Magic ist eine Inferenzlaufzeitumgebung, die darauf ausgelegt ist, die Ausführung von neuronalen Netzen auf CPUs durch fortschrittliche Techniken wie Sparsity, Pruning und Quantisierung zu optimieren. Durch die Integration von DeepSparse mit YOLO26 kannst du GPU-ähnliche Leistung auf Standard-CPUs erreichen, wodurch Inferenzgeschwindigkeit, Modelleffizienz und Gesamtleistung bei gleichbleibender Genauigkeit erheblich gesteigert werden. Weitere Details findest du im DeepSparse-Abschnitt von Neural Magic.
Die Installation der erforderlichen Pakete für die Bereitstellung von YOLO26 mit DeepSparse von Neural Magic ist unkompliziert. Du kannst sie einfach über die CLI installieren. Hier ist der Befehl, den du ausführen musst:
pip install deepsparse[yolov8]Sobald es installiert ist, folge den Schritten im Installationsabschnitt, um deine Umgebung einzurichten und DeepSparse mit YOLO26 zu verwenden.
Um YOLO26-Modelle in das ONNX-Format zu konvertieren, das für die Kompatibilität mit DeepSparse erforderlich ist, kannst du den folgenden CLI-Befehl verwenden:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Dieser Befehl exportiert dein YOLO26-Modell (
yolo26n.pt) in ein Format (yolo26n.onnx), das von der DeepSparse Engine verwendet werden kann. Weitere Informationen zum Modellexport findest du im Modellexport-Abschnitt.Das Benchmarking der YOLO26-Leistung auf DeepSparse hilft dir, Durchsatz und Latenz zu analysieren, um sicherzustellen, dass dein Modell optimiert ist. Du kannst den folgenden CLI-Befehl verwenden, um einen Benchmark durchzuführen:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Dieser Befehl liefert dir wichtige Leistungsmetriken. Weitere Details findest du im Abschnitt zur Leistungs-Benchmarking.
Die Integration von DeepSparse von Neural Magic mit YOLO26 bietet mehrere Vorteile:
- Verbesserte Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (auf YOLO11n), was die Optimierungsmöglichkeiten von DeepSparse demonstriert.
- Optimierte Modelleffizienz: Verwendet Sparsity-, Pruning- und Quantisierungstechniken, um die Modellgröße und den Rechenbedarf bei gleichbleibender Genauigkeit zu reduzieren.
- Hohe Leistung auf Standard-CPUs: Bietet GPU-ähnliche Leistung auf kostengünstiger CPU-Hardware.
- Optimierte Integration: Benutzerfreundliche Tools für eine einfache Bereitstellung und Integration.
- Flexibilität: Unterstützt sowohl Standard- als auch Sparsity-optimierte YOLO26-Modelle.
- Kosteneffizient: Senkt die Betriebskosten durch effiziente Ressourcennutzung.
Für einen tieferen Einblick in diese Vorteile besuche den Abschnitt zu den Vorteilen der Integration von Neural Magic's DeepSparse mit YOLO26.