Esportazione e distribuzione con Axelera AI
Ultralytics collabora con Axelera AI per abilitare un'inferenza ad alte prestazioni ed efficiente dal punto di vista energetico su dispositivi Edge AI. Esporta e distribuisci i modelli Ultralytics YOLO direttamente sulla Metis® AIPU utilizzando il Voyager SDK.
Axelera AI fornisce un'accelerazione hardware dedicata per la computer vision all'edge, utilizzando un'architettura di dataflow proprietaria e il calcolo in-memory per offrire fino a 856 TOPS con un basso consumo energetico.
Selezionare l'hardware corretto
Axelera AI offre vari form factor per adattarsi a diverse limitazioni di distribuzione. Il grafico sottostante ti aiuta a identificare l'hardware ottimale per la tua distribuzione 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/"Portafoglio hardware
La linea di hardware Axelera è ottimizzata per eseguire Ultralytics YOLO26 e le versioni precedenti con un'elevata efficienza FPS-per-watt.
Schede acceleratrici
Queste schede abilitano l'accelerazione AI nei dispositivi host esistenti, facilitando le distribuzioni brownfield.
| Prodotto | Form factor | Calcolo | Prestazioni (INT8) | Applicazione target |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPU | 856 TOPS | Video analytics ad alta densità, smart cities |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | PC industriali, gestione code retail |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | Droni, robotica, dispositivi medici portatili |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 TOPS | Ambienti che richiedono una gestione termica avanzata |
Sistemi integrati
Per soluzioni chiavi in mano, Axelera collabora con i produttori per fornire sistemi pre-validati per la Metis AIPU.
- Metis Compute Board: Un dispositivo edge standalone che abbina la Metis AIPU a una CPU ARM Rockchip RK3588.
- Workstation: Tower aziendali di Dell (Precision 3460XE) e Lenovo (ThinkStation P360 Ultra).
- PC industriali: Sistemi rinforzati di Advantech e Aetina progettati per l'automazione industriale.
Attività supportate
Le seguenti attività sono supportate nei modelli YOLOv8, YOLO11 e YOLO26.
| Attività | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Object Detection | ✅ | ✅ | ✅ |
| Pose Estimation | ✅ | ✅ | ✅ |
| Segmentation | ✅ | ✅ | ⚠️ Solo Voyager SDK |
| Oriented Bounding Boxes | ✅ | ✅ | ✅ |
| Classification | ✅ | ✅ | ✅ |
La segmentazione YOLO26 non è ancora supportata tramite il comando export di Ultralytics. Gli utenti che necessitano di YOLO26-seg possono eseguire la distribuzione tramite il Voyager SDK usando deploy.py, che fornisce una soluzione alternativa a livello utente. Il supporto nativo del compilatore verrà aggiunto in una versione futura.
Installazione
L'esportazione nel formato Axelera richiede:
- Sistema operativo: Solo Linux (consigliato Ubuntu 22.04/24.04)
- Hardware: Acceleratore Axelera AI (dispositivi Metis)
- Python: Versioni 3.10, 3.11 e 3.12
- Dipendenza di sistema:
sudo apt install libgl1(richiesto da OpenCV, non incluso tramitepip)
Installazione di Ultralytics
pip install ultralyticsPer istruzioni dettagliate, consulta la nostra Guida all'installazione Ultralytics. Se riscontri difficoltà, consulta la nostra Guida ai problemi comuni.
Installazione dei driver Axelera
-
Aggiungi la chiave del repository Axelera:
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
Aggiungi il repository ad apt:
Scegli lo snippet appropriato qui sotto per adattarlo al sistema operativo in uso.
# 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" -
Installa l'SDK e carica il driver:
sudo apt update sudo apt install -y metis-dkms=1.4.16 sudo modprobe metis
Il primo comando yolo export format=axelera o yolo predict con un modello Axelera scaricherà e installerà automaticamente i pacchetti dell'Axelera SDK. Ciò potrebbe richiedere diversi minuti a seconda della velocità della tua connessione e non viene mostrato alcun avanzamento durante il download. Per installare manualmente in anticipo:
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/simpleEsportazione di modelli YOLO su Axelera
Esporta i tuoi modelli YOLO addestrati utilizzando il comando standard di esportazione di 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' directoryIl compilatore Axelera richiede numpy<2. Se il tuo ambiente ha numpy>=2, il primo yolo export lo farà retrocedere automaticamente, ma l'esportazione fallirà a causa dello stato del modulo obsoleto. Esegui semplicemente lo stesso comando di esportazione una seconda volta: avrà successo.
Argomenti di esportazione
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'axelera' | Formato di destinazione per l'hardware Axelera Metis AIPU. |
imgsz | int o tuple | 640 | Dimensione dell'immagine per l'input del modello. |
batch | int | 1 | Specifica la dimensione dell'inferenza batch del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
int8 | bool | True | Abilita la quantizzazione INT8 per AIPU. |
data | str | 'coco128.yaml' | Configurazione Dataset per la calibrazione della quantizzazione. |
fraction | float | 1.0 | Frazione del dataset per la calibrazione (consigliate 100-400 immagini). |
device | str | None | Dispositivo di esportazione: GPU (device=0) o CPU (device=cpu). |
Per tutte le opzioni di esportazione, vedi la documentazione della Modalità Esportazione.
Struttura di output
yolo26n_axelera_model/
├── yolo26n.axm # Axelera model file
└── metadata.yaml # Model metadata (classes, image size, etc.)Esecuzione dell'inferenza
Carica il modello esportato con l'API Ultralytics ed esegui l'inferenza, in modo simile al caricamento di modelli 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 resultsBenchmark di Axelera AI
La Metis AIPU massimizza il throughput riducendo al contempo il consumo energetico.
| Modello | FPS (fotogrammi al secondo) di Metis PCIe | FPS (fotogrammi al secondo) di Metis M.2 |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Benchmark basati sui dati di Axelera AI. Gli FPS effettivi dipendono dalle dimensioni del modello, dal batching e dalla risoluzione di input.
Applicazioni nel mondo reale
Ultralytics YOLO su hardware Axelera abilita soluzioni di edge computing avanzate:
- Smart Retail: Conteggio oggetti in tempo reale e analisi tramite mappe di calore per l'ottimizzazione del negozio.
- Sicurezza industriale: Rilevamento DPI a bassa latenza in ambienti di produzione.
- Drone Analytics: Object detection ad alta velocità su UAV per l'agricoltura e ricerca e soccorso.
- Traffic Systems: Edge-based license plate recognition and speed estimation.
Workflow consigliato
- Addestra il tuo modello utilizzando la Modalità Addestramento di Ultralytics
- Esporta nel formato Axelera utilizzando
model.export(format="axelera") - Convalida la precisione con
yolo valper verificare la perdita minima dovuta alla quantizzazione - Esegui la predizione (Predict) utilizzando
yolo predictper la convalida qualitativa - Distribuisci su una pipeline end-to-end ad alte prestazioni senza dipendenze PyTorch: consulta gli esempi YOLO su Voyager SDK per pipeline Python componibili che utilizzano
axelera-rt
Controllo dello stato del dispositivo
Verifica che il tuo dispositivo Axelera funzioni correttamente:
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevicePer una diagnostica dettagliata, consulta la documentazione AxDevice.
Massime prestazioni
Questa integrazione utilizza una configurazione single-core per compatibilità. Per la produzione che richiede il massimo throughput, l'Axelera Voyager SDK offre:
- Utilizzo multi-core (AIPU Metis quad-core)
- Pipeline di inferenza in streaming
- Inferenza a tasselli (tiled) per fotocamere ad alta risoluzione
Consulta il model-zoo per i benchmark FPS o contatta Axelera per supporto alla produzione.
Problemi noti
- Limitazioni di alimentazione M.2: I modelli grandi o extra-large possono riscontrare errori di runtime sugli acceleratori M.2 a causa di vincoli di alimentazione.
Per assistenza, visita la Axelera Community.
FAQ
Quali versioni di YOLO sono supportate su Axelera?
Il Voyager SDK supporta l'esportazione di modelli YOLOv8, YOLO11 e YOLO26. Vedi Attività supportate per la disponibilità delle attività per ciascun modello.
Posso distribuire modelli addestrati personalizzati?
Sì. Qualsiasi modello addestrato utilizzando la Modalità di addestramento Ultralytics può essere esportato nel formato Axelera, a condizione che utilizzi livelli e operazioni supportati.
In che modo la quantizzazione INT8 influisce sull'accuratezza?
L'Axelera Voyager SDK quantizza automaticamente i modelli per l'architettura AIPU a precisione mista. Per la maggior parte delle attività di rilevamento oggetti, i guadagni di prestazioni (FPS più elevati, minor consumo energetico) superano significativamente l'impatto minimo su mAP. La quantizzazione richiede da pochi secondi a diverse ore a seconda delle dimensioni del modello. Esegui yolo val dopo l'esportazione per verificare l'accuratezza.
Quante immagini di calibrazione dovrei usare?
Consigliamo da 100 a 400 immagini. Oltre 400 non offrono ulteriori benefici e aumentano il tempo di quantizzazione. Sperimenta con 100, 200 e 400 immagini per trovare l'equilibrio ottimale.
Dove posso trovare il Voyager SDK?
L'SDK, i driver e gli strumenti di compilazione sono disponibili tramite il Portale Sviluppatori Axelera.