Exportation et déploiement avec Axelera AI
Ultralytics s'associe à Axelera AI pour permettre une inférence haute performance et économe en énergie sur des appareils Edge AI. Exporte et déploie tes modèles Ultralytics YOLO directement sur la Metis® AIPU en utilisant le Voyager SDK.
Axelera AI fournit une accélération matérielle dédiée à la vision par ordinateur en périphérie, utilisant une architecture de flux de données propriétaire et l'informatique en mémoire pour fournir jusqu'à 856 TOPS avec une faible consommation d'énergie.
Choisir le bon matériel
Axelera AI propose divers facteurs de forme pour répondre à différentes contraintes de déploiement. Le tableau ci-dessous t'aide à identifier le matériel optimal pour ton déploiement Ultralytics YOLO.
graph TD
A[Start: Select Deployment Target] --> B{Device Type?}
B -->|Edge Server / Workstation| C{Throughput Needs?}
B -->|Embedded / Robotics| D{Space Constraints?}
B -->|Standalone / R&D| E[Dev Kits & Systems]
C -->|Max Density <br> 30+ Streams| F[**Metis PCIe x4**<br>856 TOPS]
C -->|Standard PC <br> Low Profile| G[**Metis PCIe x1**<br>214 TOPS]
D -->|Drones & Handhelds| H[**Metis M.2**<br>2280 M-Key]
D -->|High Performance Embedded| I[**Metis M.2 MAX**<br>Extended Thermal]
E -->|ARM-based All-in-One| J[**Metis Compute Board**<br>RK3588 + AIPU]
E -->|Prototyping| K[**Arduino Portenta x8**<br>Integration Kit]
click F "https://store.axelera.ai/"
click G "https://store.axelera.ai/"
click H "https://store.axelera.ai/"
click J "https://store.axelera.ai/"Portefeuille de matériel
La gamme de matériel Axelera est optimisée pour faire fonctionner Ultralytics YOLO26 et les versions antérieures avec une efficacité élevée en FPS par watt.
Cartes accélératrices
Ces cartes permettent l'accélération de l'IA dans les appareils hôtes existants, facilitant les déploiements en environnement existant (brownfield).
| Produit | Facteur de forme | Calcul | Performance (INT8) | Application cible |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPUs | 856 TOPS | Analyse vidéo haute densité, villes intelligentes |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | PC industriels, gestion de file d'attente dans le commerce |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | Drones, robotique, appareils médicaux portables |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 TOPS | Environnements nécessitant une gestion thermique avancée |
Systèmes intégrés
Pour des solutions clés en main, Axelera s'associe à des fabricants afin de fournir des systèmes pré-validés pour la Metis AIPU.
- Metis Compute Board : Un appareil de périphérie autonome associant la Metis AIPU à un CPU ARM Rockchip RK3588.
- Stations de travail : Tours d'entreprise de Dell (Precision 3460XE) et Lenovo (ThinkStation P360 Ultra).
- PC industriels : Systèmes durcis d'Advantech et Aetina conçus pour l'automatisation industrielle.
Tâches prises en charge
Les tâches suivantes sont prises en charge sur les modèles YOLOv8, YOLO11 et YOLO26.
| Tâche | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Détection d'objets | ✅ | ✅ | ✅ |
| Estimation de pose | ✅ | ✅ | ✅ |
| Segmentation | ✅ | ✅ | ⚠️ Voyager SDK uniquement |
| Boîtes englobantes orientées | ✅ | ✅ | ✅ |
| Classification | ✅ | ✅ | ✅ |
La segmentation YOLO26 n'est pas encore prise en charge via la commande export d'Ultralytics. Les utilisateurs ayant besoin de YOLO26-seg peuvent le déployer via le Voyager SDK en utilisant deploy.py, qui fournit une solution de contournement en espace utilisateur. Le support natif du compilateur sera ajouté dans une version future.
Installation
L'exportation vers le format Axelera nécessite :
- Système d'exploitation : Linux uniquement (Ubuntu 22.04/24.04 recommandé)
- Matériel : Accélérateur Axelera AI (appareils Metis)
- Python : Versions 3.10, 3.11 et 3.12
- Dépendance système :
sudo apt install libgl1(requis par OpenCV, non inclus viapip)
Installation d'Ultralytics
pip install ultralyticsPour des instructions détaillées, consulte notre guide d'installation Ultralytics. Si tu rencontres des difficultés, consulte notre guide des problèmes courants.
Installation du pilote Axelera
-
Ajoute la clé du dépôt Axelera :
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
Ajoute le dépôt à apt :
Choisis l'extrait approprié ci-dessous pour correspondre à l'OS utilisé.
# 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" -
Installe le SDK et charge le pilote :
sudo apt update sudo apt install -y metis-dkms=1.4.16 sudo modprobe metis
La première utilisation de yolo export format=axelera ou yolo predict avec un modèle Axelera téléchargera et installera automatiquement les paquets du SDK Axelera. Cela peut prendre plusieurs minutes selon la vitesse de ta connexion, et aucune progression n'est affichée pendant le téléchargement. Pour installer manuellement au préalable :
pip install axelera-devkit==1.6.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.6.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simpleExporter des modèles YOLO vers Axelera
Exporte tes modèles YOLO entraînés en utilisant la commande d'exportation standard d'Ultralytics.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export to Axelera format
model.export(format="axelera") # creates 'yolo26n_axelera_model' directoryLe compilateur Axelera nécessite numpy<2. Si ton environnement possède numpy>=2, le premier yolo export le rétrogradera automatiquement mais l'exportation échouera en raison de l'état obsolète du module. Exécute simplement à nouveau la même commande d'exportation : elle réussira à la seconde tentative.
Arguments d'exportation
| Argument | Type | Défaut | Description |
|---|---|---|---|
format | str | 'axelera' | Format cible pour le matériel Axelera Metis AIPU. |
imgsz | int ou tuple | 640 | Taille de l'image pour l'entrée du modèle. |
batch | int | 1 | Spécifie la taille d'inférence par lot du modèle exporté ou le nombre maximal d'images que le modèle traitera simultanément en mode predict. |
int8 | bool | True | Active la quantification INT8 pour l'AIPU. |
data | str | 'coco128.yaml' | Configuration du jeu de données pour le calibrage de la quantification. |
fraction | float | 1.0 | Fraction du jeu de données pour le calibrage (100-400 images recommandées). |
device | str | None | Appareil d'exportation : GPU (device=0) ou CPU (device=cpu). |
Pour toutes les options d'exportation, consulte la documentation du mode Export.
Structure de sortie
yolo26n_axelera_model/
├── yolo26n.axm # Axelera model file
└── metadata.yaml # Model metadata (classes, image size, etc.)Exécution de l'inférence
Charge le modèle exporté avec l'API Ultralytics et exécute l'inférence, de manière similaire au chargement des modèles ONNX.
from ultralytics import YOLO
# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for r in results:
print(f"Detected {len(r.boxes)} objects")
r.show() # Display resultsBenchmarks Axelera AI
La Metis AIPU maximise le débit tout en minimisant la consommation d'énergie.
| Modèle | FPS (images par seconde) Metis PCIe | FPS (images par seconde) Metis M.2 |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Benchmarks basés sur les données d'Axelera AI. Le nombre de FPS réel dépend de la taille du modèle, de la mise en lot et de la résolution d'entrée.
Applications concrètes
Ultralytics YOLO sur le matériel Axelera permet des solutions de calcul en périphérie avancées :
- Commerce intelligent : Comptage d'objets en temps réel et analyse par carte thermique pour l'optimisation des magasins.
- Sécurité industrielle : Détection des EPI à faible latence dans les environnements de fabrication.
- Analyse par drone : Détection d'objets haute vitesse sur des UAV pour l'agriculture et les missions de recherche et sauvetage.
- Traffic Systems: Edge-based license plate recognition and speed estimation.
Flux de travail recommandé
- Entraîne ton modèle en utilisant le mode Entraînement d'Ultralytics
- Exporte vers le format Axelera en utilisant
model.export(format="axelera") - Valide la précision avec
yolo valpour vérifier la perte de quantification minimale - Prédits en utilisant
yolo predictpour une validation qualitative - Déploie sur un pipeline de bout en bout haute performance sans dépendance PyTorch — consulte les exemples YOLO sur Voyager SDK pour des pipelines Python composables utilisant
axelera-rt
Vérification de l'état de l'appareil
Vérifie que ton appareil Axelera fonctionne correctement :
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevicePour des diagnostics détaillés, consulte la documentation AxDevice.
Performance maximale
Cette intégration utilise une configuration monocœur pour des raisons de compatibilité. Pour une production nécessitant un débit maximal, le Axelera Voyager SDK propose :
- Utilisation multi-cœur (quad-core Metis AIPU)
- Pipelines d'inférence en streaming
- Inférence par tuiles pour les caméras à plus haute résolution
Consulte le model-zoo pour obtenir des benchmarks FPS ou contacte Axelera pour obtenir une assistance liée à la production.
Problèmes connus
- Limitations de puissance M.2 : Les modèles de grande ou très grande taille peuvent rencontrer des erreurs d'exécution sur les accélérateurs M.2 en raison des contraintes d'alimentation.
Pour obtenir de l'aide, visite la communauté Axelera.
FAQ
Quelles versions de YOLO sont prises en charge sur Axelera ?
Le Voyager SDK prend en charge l'exportation des modèles YOLOv8, YOLO11 et YOLO26. Consulte Tâches prises en charge pour connaître la disponibilité des tâches par modèle.
Puis-je déployer des modèles entraînés sur mesure ?
Oui. Tout modèle entraîné avec le Mode Entraînement d'Ultralytics peut être exporté au format Axelera, à condition d'utiliser des couches et des opérations prises en charge.
Comment la quantification INT8 affecte-t-elle la précision ?
Le Voyager SDK d'Axelera quantifie automatiquement les modèles pour l'architecture AIPU à précision mixte. Pour la plupart des tâches de détection d'objets, les gains de performance (FPS plus élevés, consommation d'énergie réduite) l'emportent largement sur l'impact minime sur la mAP. La quantification prend de quelques secondes à plusieurs heures selon la taille du modèle. Exécute yolo val après l'exportation pour vérifier la précision.
Combien d'images de calibration dois-je utiliser ?
Nous recommandons entre 100 et 400 images. Au-delà de 400, il n'y a aucun avantage supplémentaire et le temps de quantification augmente. Fais des essais avec 100, 200 et 400 images pour trouver l'équilibre optimal.
Où puis-je trouver le Voyager SDK ?
Le SDK, les pilotes et les outils de compilation sont disponibles via le portail développeur Axelera.