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.

Écosystème de déploiement en périphérie Axelera AI pour YOLO

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).

ProduitFacteur de formeCalculPerformance (INT8)Application cible
Metis PCIe x4PCIe Gen3 x164x Metis AIPUs856 TOPSAnalyse vidéo haute densité, villes intelligentes
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSPC industriels, gestion de file d'attente dans le commerce
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDrones, robotique, appareils médicaux portables
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSEnvironnements 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âcheYOLOv8YOLO11YOLO26
Détection d'objets
Estimation de pose
Segmentation⚠️ Voyager SDK uniquement
Boîtes englobantes orientées
Classification
Remarque

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

Configuration requise pour la plateforme

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 via pip)

Installation d'Ultralytics

pip install ultralytics

Pour 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

  1. 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"
  2. 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"
  3. 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 exécution télécharge automatiquement le SDK

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/simple

Exporter des modèles YOLO vers Axelera

Exporte tes modèles YOLO entraînés en utilisant la commande d'exportation standard d'Ultralytics.

Exporter vers le format Axelera
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export to Axelera format
model.export(format="axelera")  # creates 'yolo26n_axelera_model' directory
La première exportation peut échouer après une mise à jour des dépendances

Le 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

ArgumentTypeDéfautDescription
formatstr'axelera'Format cible pour le matériel Axelera Metis AIPU.
imgszint ou tuple640Taille de l'image pour l'entrée du modèle.
batchint1Spé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.
int8boolTrueActive la quantification INT8 pour l'AIPU.
datastr'coco128.yaml'Configuration du jeu de données pour le calibrage de la quantification.
fractionfloat1.0Fraction du jeu de données pour le calibrage (100-400 images recommandées).
devicestrNoneAppareil 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.

Inférence avec un modèle Axelera
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 results

Benchmarks Axelera AI

La Metis AIPU maximise le débit tout en minimisant la consommation d'énergie.

ModèleFPS (images par seconde) Metis PCIeFPS (images par seconde) Metis M.2
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.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 :

Flux de travail recommandé

  1. Entraîne ton modèle en utilisant le mode Entraînement d'Ultralytics
  2. Exporte vers le format Axelera en utilisant model.export(format="axelera")
  3. Valide la précision avec yolo val pour vérifier la perte de quantification minimale
  4. Prédits en utilisant yolo predict pour une validation qualitative
  5. 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
axdevice

Pour 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 connues
  • 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.

Commentaires