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.

Ecosistema di distribuzione edge di Axelera AI per YOLO

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.

ProdottoForm factorCalcoloPrestazioni (INT8)Applicazione target
Metis PCIe x4PCIe Gen3 x164x Metis AIPU856 TOPSVideo analytics ad alta densità, smart cities
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSPC industriali, gestione code retail
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDroni, robotica, dispositivi medici portatili
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSAmbienti 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àYOLOv8YOLO11YOLO26
Object Detection
Pose Estimation
Segmentation⚠️ Solo Voyager SDK
Oriented Bounding Boxes
Classification
Nota

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

Requisiti di piattaforma

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

Installazione di Ultralytics

pip install ultralytics

Per istruzioni dettagliate, consulta la nostra Guida all'installazione Ultralytics. Se riscontri difficoltà, consulta la nostra Guida ai problemi comuni.

Installazione dei driver Axelera

  1. 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"
  2. 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"
  3. Installa l'SDK e carica il driver:

    sudo apt update
    sudo apt install -y metis-dkms=1.4.16
    sudo modprobe metis
Il primo avvio scarica automaticamente l'SDK

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

Esportazione di modelli YOLO su Axelera

Esporta i tuoi modelli YOLO addestrati utilizzando il comando standard di esportazione di Ultralytics.

Esporta nel formato 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 prima esportazione potrebbe fallire dopo l'aggiornamento delle dipendenze

Il 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

ArgomentoTipoPredefinitoDescrizione
formatstr'axelera'Formato di destinazione per l'hardware Axelera Metis AIPU.
imgszint o tuple640Dimensione dell'immagine per l'input del modello.
batchint1Specifica la dimensione dell'inferenza batch del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
int8boolTrueAbilita la quantizzazione INT8 per AIPU.
datastr'coco128.yaml'Configurazione Dataset per la calibrazione della quantizzazione.
fractionfloat1.0Frazione del dataset per la calibrazione (consigliate 100-400 immagini).
devicestrNoneDispositivo 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.

Inferenza con il modello 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

Benchmark di Axelera AI

La Metis AIPU massimizza il throughput riducendo al contempo il consumo energetico.

ModelloFPS (fotogrammi al secondo) di Metis PCIeFPS (fotogrammi al secondo) di Metis M.2
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.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:

Workflow consigliato

  1. Addestra il tuo modello utilizzando la Modalità Addestramento di Ultralytics
  2. Esporta nel formato Axelera utilizzando model.export(format="axelera")
  3. Convalida la precisione con yolo val per verificare la perdita minima dovuta alla quantizzazione
  4. Esegui la predizione (Predict) utilizzando yolo predict per la convalida qualitativa
  5. 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
axdevice

Per 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 note
  • 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.

Commenti