Axelera AI Export und Bereitstellung#
Ultralytics arbeitet mit Axelera AI zusammen, um leistungsstarke und energieeffiziente Inferenz auf Edge AI-Geräten zu ermöglichen. Exportiere und deploie Ultralytics YOLO models direkt auf der Metis® AIPU mithilfe des Voyager SDK.
Axelera AI bietet dedizierte Hardware-Beschleunigung für computer vision am Edge und nutzt dabei eine proprietäre Datenfluss-Architektur sowie in-memory computing, um bis zu 856 TOPS bei geringem Stromverbrauch zu liefern.
Die richtige Hardware auswählen#
Axelera AI bietet verschiedene Formfaktoren an, um unterschiedlichen Bereitstellungsanforderungen gerecht zu werden. Die folgende Tabelle hilft dir dabei, die optimale Hardware für deine Ultralytics YOLO-Bereitstellung zu identifizieren.
graph TD
A[Start: Select Deployment Target]:::start --> B{Device Type?}:::decide
B -->|Edge Server / Workstation| C{Throughput Needs?}:::decide
B -->|Embedded / Robotics| D{Space Constraints?}:::decide
B -->|Standalone / R&D| E[Dev Kits & Systems]:::proc
C -->|Max Density <br> 30+ Streams| F[**Metis PCIe x4**<br>856 TOPS]:::out
C -->|Standard PC <br> Low Profile| G[**Metis PCIe x1**<br>214 TOPS]:::out
D -->|Drones & Handhelds| H[**Metis M.2**<br>2280 M-Key]:::out
D -->|High Performance Embedded| I[**Metis M.2 MAX**<br>Extended Thermal]:::out
E -->|ARM-based All-in-One| J[**Metis Compute Board**<br>RK3588 + AIPU]:::out
E -->|Prototyping| K[**Arduino Portenta x8**<br>Integration Kit]:::out
click F "https://store.axelera.ai/"
click G "https://store.axelera.ai/"
click H "https://store.axelera.ai/"
click J "https://store.axelera.ai/"
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef decide fill:#FF9800,color:#fff
classDef out fill:#9C27B0,color:#fffHardware-Portfolio#
Die Axelera-Hardware-Reihe ist darauf optimiert, Ultralytics YOLO26 und ältere Versionen mit hoher FPS-pro-Watt-Effizienz auszuführen.
Beschleunigerkarten#
Diese Karten ermöglichen KI-Beschleunigung in bestehenden Host-Geräten und erleichtern so brownfield deployments.
| Produkt | Formfaktor | Rechenleistung | Leistung (INT8) | Zielanwendung |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPUs | 856 TOPS | High-Density-video analytics, Smart Cities |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | Industrie-PCs, queue management im Einzelhandel |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | Drones, Robotik, tragbare medizinische Geräte |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 TOPS | Umgebungen, die ein fortschrittliches Wärmemanagement erfordern |
Integrierte Systeme#
Für schlüsselfertige Lösungen arbeitet Axelera mit Herstellern zusammen, um Systeme anzubieten, die für das Metis AIPU vorvalidiert sind.
- Metis Compute Board: Ein eigenständiges Edge-Gerät, das das Metis AIPU mit einer Rockchip RK3588 ARM CPU kombiniert.
- Workstations: Enterprise-Tower von Dell (Precision 3460XE) und Lenovo (ThinkStation P360 Ultra).
- Industrial PCs: Robuste Systeme von Advantech und Aetina, die für die manufacturing automation entwickelt wurden.
Unterstützte Aufgaben#
Tiefenschätzung wird nicht unterstützt: Der Tiefen-Head erzeugt Operatoren, die der Metis AIPU-Compiler nicht herunterskalieren (lower) kann. Auch die YOLO26-Segmentierung wird von Ultralytics export nicht unterstützt, kann jedoch wie unten beschrieben über das Voyager SDK deployed werden.
Die YOLO26-Segmentierung wird über den Befehl Ultralytics export noch nicht unterstützt. Benutzer, die YOLO26-seg benötigen, können das Deployment über das Voyager SDK mit deploy.py durchführen, was einen Workaround im User-Space bietet. Native Compiler-Unterstützung wird in einem zukünftigen Release hinzugefügt.
Installation#
Der Export in das Axelera-Format erfordert:
- Betriebssystem: Nur Linux (Ubuntu 22.04/24.04 empfohlen)
- Hardware: Axelera AI-Beschleuniger (Metis devices)
- Python: Versionen 3.10, 3.11, 3.12 und 3.13
- Systemabhängigkeit:
sudo apt install libgl1(von OpenCV benötigt, nicht überpipenthalten)
Ultralytics Installation#
pip install ultralyticsAusführliche Anweisungen findest du in unserem Ultralytics Installation guide. Wenn du auf Schwierigkeiten stößt, schaue in unserem Common Issues guide nach.
Axelera Treiberinstallation#
-
Füge den Axelera-Repository-Schlüssel hinzu:
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
Füge das Repository zu apt hinzu:
Wähle das entsprechende Snippet unten aus, das zu deinem verwendeten Betriebssystem passt.
# Ubuntu 22.04 sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu22 main' > /etc/apt/sources.list.d/axelera.list"# Ubuntu 24.04 sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu24 main' > /etc/apt/sources.list.d/axelera.list" -
Installiere das SDK und lade den Treiber:
sudo apt update sudo apt install -y metis-dkms=1.5.5 sudo modprobe metis
Der Kernel-Treiber wird getrennt von den Python-SDK-Paketen installiert. Nach einem Upgrade des SDK (zum Beispiel von 1.6 auf 1.7) musst du daher die passende Treiberversion installieren. Ein nicht synchronisierter Treiber macht das Gerät unzugänglich: axdevice meldet die erforderliche Version und schlägt beim Öffnen des Geräts fehl.
[libaxldev.c:285] Found kernel driver version 1.4.16, but at least version 1.4.18 is required. Please update the kernel driver
ERROR: AXR_ERROR_CONNECTION_ERROR: Failed to open device metis-0:4:0Installiere die Treiberversion, die zu deinem SDK passt – siehe Step 3: Install the Metis kernel driver. Wenn du bereits ein älteres SDK unter Ubuntu verwendest, aktualisiere den Treiber und lade das Kernel-Modul neu (kein Neustart erforderlich):
sudo apt update
sudo apt install -y metis-dkms=1.5.5
sudo rmmod metis
sudo modprobe metisFühre anschließend axdevice erneut aus, um zu bestätigen, dass das Gerät erkannt wird.
Das erste yolo export format=axelera oder yolo predict mit einem Axelera-Modell lädt die Axelera-SDK-Pakete automatisch herunter und installiert sie. Dies kann je nach Verbindungsgeschwindigkeit einige Minuten dauern, und während des Downloads wird kein Fortschritt angezeigt. So installierst du sie vorher manuell:
pip install axelera-devkit==1.7.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.7.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simpleExportieren von YOLO-Modellen nach Axelera#
Das Axelera-Format unterstützt die Modi Export, Predict und Validate. Inferenz und Validierung laufen auf Axelera Metis AIPU-Hardware. Exportiere dein Modell und lade dann das exportierte Modell, um Inferenz auszuführen oder dessen Genauigkeit zu validieren.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to Axelera format
model.export(format="axelera") # creates 'yolo26n_axelera_model'from ultralytics import YOLO
# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Der Axelera-Compiler erfordert numpy<2. Wenn deine Umgebung über numpy>=2 verfügt, führt das erste yolo export ein automatisches Downgrade durch, aber der Export schlägt aufgrund des veralteten Modulstatus fehl. Führe einfach denselben Exportbefehl noch einmal aus – beim zweiten Durchlauf ist er erfolgreich.
Export-Argumente#
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
format | str | 'axelera' | Zielformat für die Axelera Metis AIPU-Hardware. |
imgsz | int oder tuple | 640 | Bildgröße für den Modelleingang. |
batch | int | 1 | Legt die Batch-Inferenzgröße des exportierten Modells fest oder die maximale Anzahl an Bildern, die das exportierte Modell im Modus predict gleichzeitig verarbeitet. |
quantize | int oder str | 8/auto | Quantisierungsgenauigkeit. 8 (INT8) ist erforderlich und für die Axelera AIPU automatisch aktiviert. Ersetzt die veralteten Flags half/int8. Siehe INT8 quantization. |
data | str | None | Kalibrierungs-Dataset-YAML; für die Klassifizierung wird stattdessen ein Dataset-Verzeichnis oder ein eingebauter Dataset-Name verwendet. Wenn sie weggelassen wird, wählt Ultralytics ein aufgabenspezifisches Kalibrierungs-Dataset aus. |
fraction | float, int oder list | 1.0 | Kalibrierungs-Teilmenge als Verhaeltnis, Bildanzahl oder [train, val] Verhaeltnisse/Anzahlen; eine Liste schraenkt train oder val ein, waehrend test vollstaendig bleibt (100-400 Bilder empfohlen). |
device | str | None | Exportgerät: GPU (device=0) oder CPU (device=cpu). |
Alle Exportoptionen findest du in der Export Mode documentation.
Ausgabestruktur#
yolo26n_axelera_model/
├── yolo26n.axm # Axelera model file
├── compiler_config_final.toml # Compiler configuration used for the build
└── metadata.yaml # Model metadata (classes, image size, etc.)Axelera AI Benchmarks#
Das Metis AIPU maximiert den Durchsatz bei gleichzeitiger Minimierung des Energieverbrauchs.
| Modell | Metis PCIe FPS (Bilder pro Sekunde) | Metis M.2 FPS (Bilder pro Sekunde) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Benchmarks basieren auf Axelera AI-Daten. Die tatsächlichen FPS hängen von der Modellgröße, dem Batching und der Eingabeauflösung ab.
Anwendungen in der Praxis#
Ultralytics YOLO auf Axelera-Hardware ermöglicht fortschrittliche Edge-Computing-Lösungen:
- Smart Retail: Echtzeit-object counting und heatmap analytics zur Shop-Optimierung.
- Industrial Safety: Latenzarme PPE detection in Fertigungsumgebungen.
- Drone Analytics: High-Speed-object detection auf Drohnen für agriculture sowie Suche und Rettung.
- Traffic Systems: Edge-basierte license plate recognition und speed estimation.
Empfohlener Arbeitsablauf#
- Trainiere dein Modell mit dem Ultralytics Train-Modus
- Export in das Axelera-Format mit
model.export(format="axelera") - Validiere die Genauigkeit mit
yolo val, um einen minimalen Quantisierungsverlust zu verifizieren - Führe Vorhersagen mit
yolo predictfür die qualitative Validierung durch - Deployment in eine leistungsstarke End-to-End-Pipeline ohne PyTorch-Abhängigkeit – siehe YOLO on Voyager SDK examples für zusammensetzbare Python-Pipelines mit
axelera-rt
Gerätezustandsprüfung#
Überprüfe, ob dein Axelera-Gerät ordnungsgemäß funktioniert:
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdeviceDetaillierte Diagnosedaten findest du in der AxDevice documentation.
Maximale Leistung#
Diese Integration verwendet aus Kompatibilitätsgründen eine Single-Core-Konfiguration. Für die Produktion, die einen maximalen Durchsatz erfordert, bietet das Axelera Voyager SDK:
- Multi-Core-Auslastung (Quad-Core Metis AIPU)
- Streaming-Inferenz-Pipelines
- Gekachelte Inferenz für Kameras mit höherer Auflösung
Siehe das model-zoo für FPS-Benchmarks oder contact Axelera für Produktionsunterstützung.
Bekannte Probleme#
- M.2-Leistungsbeschränkungen: Große oder sehr große Modelle können aufgrund von Stromversorgungsbeschränkungen zu Laufzeitfehlern auf M.2-Beschleunigern führen.
Besuche für Support die Axelera Community.
FAQ#
Das Voyager SDK unterstützt den Export von YOLOv8-, YOLO11- und YOLO26-Modellen. Siehe Supported Tasks zur Aufgabenverfügbarkeit pro Modell.
Ja. Jedes Modell, das mit dem Ultralytics Train Mode trainiert wurde, kann in das Axelera-Format exportiert werden, vorausgesetzt, es verwendet unterstützte Layer und Operationen.
Das Voyager SDK von Axelera quantisiert Modelle automatisch für die Mixed-Precision-AIPU-Architektur. Bei den meisten object detection-Aufgaben überwiegen die Leistungsgewinne (höhere FPS, geringerer Stromverbrauch) den minimalen Einfluss auf mAP deutlich. Die Quantisierung dauert je nach Modellgröße zwischen wenigen Sekunden und mehreren Stunden. Führe nach dem Export
yolo valaus, um die Genauigkeit zu überprüfen.Wir empfehlen 100 bis 400 Bilder. Mehr als 400 bieten keinen zusätzlichen Nutzen und erhöhen die Quantisierungszeit. Experimentiere mit 100, 200 und 400 Bildern, um das optimale Gleichgewicht zu finden.
Das SDK, die Treiber und die Compiler-Tools sind über das Axelera Developer Portal verfügbar.