YOLO Vision 2026:

Exportación y despliegue de Axelera AI#

Ultralytics colabora con Axelera AI para permitir inferencia de alto rendimiento y bajo consumo energético en dispositivos de Edge AI. Exporta y despliega Ultralytics YOLO models directamente en la Metis® AIPU utilizando el Voyager SDK.

Axelera AI edge deployment ecosystem for YOLO

Axelera AI ofrece aceleración de hardware dedicada para computer vision en el extremo, utilizando una arquitectura de flujo de datos patentada y in-memory computing para ofrecer hasta 856 TOPS con un bajo consumo de energía.

Selección del hardware adecuado#

Axelera AI ofrece varios factores de forma para adaptarse a diferentes limitaciones de despliegue. El siguiente gráfico ayuda a identificar el hardware óptimo para tu despliegue de Ultralytics YOLO.

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:#fff

Cartera de hardware#

La gama de hardware de Axelera está optimizada para ejecutar Ultralytics YOLO26 y versiones anteriores con una alta eficiencia de FPS por vatio.

Tarjetas aceleradoras#

Estas tarjetas permiten la aceleración de IA en dispositivos host existentes, facilitando brownfield deployments.

ProductoFactor de formaCómputoRendimiento (INT8)Aplicación objetivo
Metis PCIe x4PCIe Gen3 x164x Metis AIPUs856 TOPSvideo analytics de alta densidad, ciudades inteligentes
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSPC industriales, queue management en comercios
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDrones, robótica, dispositivos médicos portátiles
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSEntornos que requieren una gestión térmica avanzada

Sistemas integrados#

Para soluciones integrales, Axelera colabora con fabricantes para proporcionar sistemas prevalidos para la Metis AIPU.

  • Metis Compute Board: Un dispositivo edge autónomo que combina la Metis AIPU con una CPU ARM Rockchip RK3588.
  • Estaciones de trabajo: Torres empresariales de Dell (Precision 3460XE) y Lenovo (ThinkStation P360 Ultra).
  • Industrial PCs: Sistemas robustos de Advantech y Aetina diseñados para manufacturing automation.

Tareas compatibles#

La estimación de profundidad no es compatible: el encabezado de profundidad emite operadores que el compilador de Metis AIPU no puede reducir. La segmentación de YOLO26 tampoco es compatible con Ultralytics export, pero aun así se puede desplegar a través del Voyager SDK como se describe a continuación.

TareaYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB
Nota

La segmentación de YOLO26 aún no es compatible a través del comando de Ultralytics export. Los usuarios que necesiten YOLO26-seg pueden desplegarlo mediante el Voyager SDK utilizando deploy.py, lo que proporciona una solución provisional en el espacio de usuario. El soporte nativo del compilador se añadirá en una versión futura.

Instalación#

Requisitos de la plataforma

La exportación al formato Axelera requiere:

  • Sistema operativo: Solo Linux (se recomienda Ubuntu 22.04/24.04)
  • Hardware: Acelerador de Axelera AI (Metis devices)
  • Python: Versiones 3.10, 3.11, 3.12 y 3.13
  • Dependencia del sistema: sudo apt install libgl1 (requerido por OpenCV, no incluido mediante pip)

Instalación de Ultralytics#

pip install ultralytics

Para obtener instrucciones detalladas, consulta nuestra Ultralytics Installation guide. Si encuentras dificultades, consulta nuestra Common Issues guide.

Instalación del controlador de Axelera#

  1. Añade la clave del repositorio de 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. Añade el repositorio a apt:

    Elige el fragmento correspondiente de abajo para que coincida con el SO que estás utilizando.

    # 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. Instala el SDK y carga el controlador:

    sudo apt update
    sudo apt install -y metis-dkms=1.5.5
    sudo modprobe metis
Mantén el controlador del kernel sincronizado con el SDK

El controlador del núcleo se instala por separado de los paquetes del SDK de Python, por lo que después de actualizar el SDK (por ejemplo, de 1.6 a 1.7) debes instalar la versión del controlador correspondiente. Un controlador desincronizado deja el dispositivo no disponible: axdevice informa la versión requerida y no logra abrir el dispositivo.

[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:0

Instala la versión del controlador que coincida con tu SDK; consulta Step 3: Install the Metis kernel driver. Si ya estás ejecutando un SDK anterior en Ubuntu, actualiza el controlador y recarga el módulo del núcleo (no requiere reinicio):

sudo apt update
sudo apt install -y metis-dkms=1.5.5
sudo rmmod metis
sudo modprobe metis

A continuación, vuelve a ejecutar axdevice para confirmar que el dispositivo se ha detectado.

La primera ejecución descarga el SDK automáticamente

El primer yolo export format=axelera o yolo predict con un modelo de Axelera descargará e instalará automáticamente los paquetes del SDK de Axelera. Esto puede tardar varios minutos dependiendo de la velocidad de tu conexión, y no se muestra ningún progreso durante la descarga. Para realizar la instalación manualmente de antemano:

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

Exportación de modelos YOLO a Axelera#

El formato de Axelera es compatible con los modos Export, Predict y Validate. La inferencia y la validación se ejecutan en el hardware Axelera Metis AIPU. Exporta tu modelo y luego cárgalo para ejecutar la inferencia o validar su precisión.

Exportar
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'
Predecir
from ultralytics import YOLO

# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validar
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")
La primera exportación puede fallar tras una actualización de dependencias

El compilador de Axelera requiere numpy<2. Si tu entorno tiene numpy>=2, el primer yolo export lo degradará automáticamente, pero la exportación fallará debido al estado obsoleto del módulo. Simplemente vuelve a ejecutar el mismo comando de exportación; se completará con éxito en el segundo intento.

Argumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'axelera'Formato de destino para el hardware Axelera Metis AIPU.
imgszint o tuple640Tamaño de imagen para la entrada del modelo.
batchint1Especifica el tamaño de inferencia por lotes del modelo de exportación o el número máximo de imágenes que el modelo exportado procesará simultáneamente en el modo predict.
quantizeint o str8/autoPrecisión de cuantización. 8 (INT8) es obligatorio y se activa automáticamente para la Axelera AIPU. Reemplaza los indicadores obsoletos half/int8. Consulta INT8 quantization.
datastrNoneYAML del conjunto de datos de calibración; en su lugar, la clasificación toma un directorio de conjuntos de datos o un nombre de conjunto de datos integrado. Si se omite, Ultralytics selecciona un conjunto de datos de calibración específico de la tarea.
fractionfloat, int o list1.0Subconjunto de calibración como proporción, recuento de imágenes o proporciones/recuentos de [train, val]; una lista limita train o val, mientras que test permanece completo (se recomiendan entre 100 y 400 imágenes).
devicestrNoneDispositivo de exportación: GPU (device=0) o CPU (device=cpu).

Para todas las opciones de exportación, consulta la Export Mode documentation.

Estructura de salida#

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

Benchmarks de Axelera AI#

La Metis AIPU maximiza el rendimiento y minimiza el consumo de energía.

ModeloFPS de Metis PCIe (fotogramas por segundo)FPS de Metis M.2 (fotogramas por segundo)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

Benchmarks basados en datos de Axelera AI. Los FPS reales dependen del tamaño del modelo, el procesamiento por lotes y la resolución de entrada.

Aplicaciones en el mundo real#

Ultralytics YOLO en hardware Axelera permite soluciones avanzadas de computación edge:

Flujo de trabajo recomendado#

  1. Entrena tu modelo usando el modo de entrenamiento de Ultralytics
  2. Exporta al formato de Axelera utilizando model.export(format="axelera")
  3. Valida la precisión con yolo val para comprobar que la pérdida por cuantización sea mínima
  4. Predice usando yolo predict para la validación cualitativa
  5. Despliega en una canalización de extremo a extremo de alto rendimiento sin dependencia de PyTorch; consulta los YOLO on Voyager SDK examples para ver canalizaciones de Python componibles usando axelera-rt

Comprobación del estado del dispositivo#

Verifica que tu dispositivo Axelera funcione correctamente:

# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevice

Para diagnósticos detallados, consulta la AxDevice documentation.

Máximo rendimiento#

Esta integración utiliza una configuración de un solo núcleo por compatibilidad. Para producción que requiera el máximo rendimiento, el Axelera Voyager SDK ofrece:

  • Utilización de múltiples núcleos (Metis AIPU de cuatro núcleos)
  • Canalizaciones de inferencia en streaming
  • Inferencia en mosaico (tiled) para cámaras de alta resolución

Consulta el model-zoo para ver las comparativas de FPS o contact Axelera para obtener soporte de producción.

Problemas conocidos#

Limitaciones conocidas
  • Limitaciones de energía en M.2: Los modelos grandes o extra grandes pueden encontrar errores de tiempo de ejecución en aceleradores M.2 debido a las limitaciones de la fuente de alimentación.

Para obtener asistencia, visita la Axelera Community.

FAQ#

  • El Voyager SDK admite la exportación de modelos YOLOv8, YOLO11 y YOLO26. Consulta Supported Tasks para conocer la disponibilidad de tareas por modelo.

  • Sí. Cualquier modelo entrenado utilizando Ultralytics Train Mode se puede exportar al formato de Axelera, siempre que utilice capas y operaciones compatibles.

  • El Voyager SDK de Axelera cuantiza automáticamente los modelos para la arquitectura AIPU de precisión mixta. Para la mayoría de las tareas de object detection, las ganancias de rendimiento (mayor FPS, menor consumo) superan significativamente el impacto mínimo en el mAP. La cuantización tarda desde unos segundos hasta varias horas dependiendo del tamaño del modelo. Ejecuta yolo val después de la exportación para verificar la precisión.

  • Recomendamos entre 100 y 400 imágenes. Más de 400 no proporcionan ningún beneficio adicional y aumentan el tiempo de cuantificación. Experimenta con 100, 200 y 400 imágenes para encontrar el equilibrio óptimo.

  • El SDK, los controladores y las herramientas de compilación están disponibles a través del Axelera Developer Portal.

Comentarios