Ultralytics YOLO27:
Get Started

Exportación y despliegue con Axelera AI#

Ultralytics colabora con Axelera AI para ofrecer inferencia de alto rendimiento y eficiencia energética en dispositivos Edge AI. Exporta y despliega modelos Ultralytics YOLO directamente en la AIPU Metis® mediante el SDK Voyager.

Ecosistema de despliegue en el edge de Axelera AI para YOLO

Axelera AI ofrece aceleración por hardware dedicada para la visión artificial en el edge, con una arquitectura de flujo de datos propia y computación en memoria para alcanzar hasta 856 TOPS con un bajo consumo energético.

Cómo elegir el hardware adecuado#

Axelera AI ofrece distintos formatos para adaptarse a diferentes limitaciones de despliegue. El gráfico siguiente te ayuda a identificar el hardware óptimo para desplegar 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

Catálogo de hardware#

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

Tarjetas aceleradoras#

Estas tarjetas permiten acelerar la IA en dispositivos host existentes, lo que facilita los despliegues en entornos existentes.

ProductoFormatoCómputoRendimiento (INT8)Aplicación de destino
Metis PCIe x4PCIe Gen3 x164x AIPU Metis856 TOPSAnalítica de vídeo de alta densidad, ciudades inteligentes
Metis PCIe x1PCIe Gen3 x11x AIPU Metis214 TOPSPC industriales, gestión de colas en comercios
Metis M.2M.2 2280 M-Key1x AIPU Metis214 TOPSDrones, robótica, dispositivos médicos portátiles
Metis M.2 MAXM.2 22801x AIPU Metis214 TOPSEntornos que requieren una gestión térmica avanzada

Sistemas integrados#

Para ofrecer soluciones listas para usar, Axelera colabora con fabricantes y proporciona sistemas validados previamente para la AIPU Metis.

  • Placa de cómputo Metis: dispositivo edge independiente que combina la AIPU Metis con una CPU ARM Rockchip RK3588.
  • Estaciones de trabajo: torres empresariales de Dell (Precision 3460XE) y Lenovo (ThinkStation P360 Ultra).
  • PC industriales: sistemas robustos de Advantech y Aetina, diseñados para la automatización de la fabricación.

Tareas compatibles#

La estimación de profundidad no es compatible: el cabezal de profundidad genera operadores que el compilador de la AIPU Metis no puede reducir. La segmentación de instancias de YOLO26 tampoco es compatible con export de Ultralytics, pero se puede desplegar mediante el SDK Voyager, como se describe a continuación. La segmentación semántica de YOLO26 sí es compatible.

TareaYOLOv8YOLO11YOLO26
Detectar✅✅✅
Segmentar✅✅❌
Semántica❌❌✅
Profundidad❌❌❌
Clasificar✅✅✅
Pose✅✅✅
OBB✅✅✅
Nota

La segmentación de instancias de YOLO26 aún no es compatible con el comando export de Ultralytics. Si necesitas yolo26-seg, puedes desplegarlo mediante el SDK Voyager usando deploy.py, que ofrece una solución provisional en espacio de usuario. La compatibilidad nativa 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 Axelera AI (dispositivos Metis)
  • Python: versiones 3.10, 3.11, 3.12 y 3.13
  • PyTorch: torch>=2.8,<2.13
  • SDK Voyager: 1.8.0; la exportación instala esta versión del kit de desarrollo y la inferencia instala esta versión del entorno de ejecución
  • Controlador del kernel Metis: metis-dkms 1.6.2 o posterior, instalado por separado de pip
  • Dependencia del sistema: sudo apt install libgl1 (necesaria para OpenCV, no se incluye mediante pip)

Instalación de Ultralytics#

pip install ultralytics

Para obtener instrucciones detalladas, consulta nuestra guía de instalación de Ultralytics. Si tienes problemas, consulta nuestra guía de problemas frecuentes.

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 adecuado de los siguientes según el sistema operativo que uses.

    # 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 controlador y cárgalo. El SDK 1.8 necesita metis-dkms 1.6.2 o posterior, así que aquí se instala la versión más reciente:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Mantén actualizado el controlador del kernel junto con el SDK

El controlador del kernel se instala por separado de los paquetes del SDK de Python, así que, después de actualizar el SDK, también debes actualizar el controlador como mínimo a la versión requerida por ese SDK: 1.6.2 para el SDK 1.8. No se comprueba durante la instalación, y una versión del controlador anterior a la mínima requerida deja el dispositivo inaccesible: axdevice indica la versión necesaria y no consigue abrir el dispositivo.

[libaxldev.c:285] Found kernel driver version 1.5.5, but at least version 1.6.2 is required. Please update the kernel driver
ERROR: AXR_ERROR_CONNECTION_ERROR: Failed to open device metis-0:4:0

Consulta también el Paso 3: Instala el controlador del kernel Metis. Si ya estás usando una versión anterior del SDK en Ubuntu, actualiza el controlador y vuelve a cargar el módulo del kernel (no hace falta reiniciar):

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

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

La primera ejecución descarga el SDK automáticamente

La primera vez que ejecutes yolo export format=axelera o yolo predict con un modelo Axelera, se descargarán e instalarán automáticamente los paquetes del SDK de Axelera. Esto puede tardar varios minutos, según la velocidad de conexión, y no se muestra ningún indicador de progreso durante la descarga. Para instalarlo manualmente antes:

pip install axelera-devkit==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
Una actualización del SDK invalida los modelos exportados existentes

El SDK 1.8 aumenta la versión del formato del modelo compilado .axm, por lo que los directorios _axelera_model generados por una versión anterior del SDK se rechazan al cargarlos. Vuelve a exportar cada modelo después de actualizar:

Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.

Exportación de modelos YOLO a Axelera#

El formato Axelera es compatible con los modos Exportar, Predecir y Validar. La inferencia y la validación se ejecutan en hardware AIPU Metis de Axelera. Exporta el modelo y, a continuación, carga el modelo exportado para ejecutar la inferencia o validar su precisión.

Exportar
from ultralytics import YOLO

# Carga un modelo YOLO26
model = YOLO("yolo26n.pt")

# Exporta el modelo al formato Axelera
model.export(format="axelera")  # creates 'yolo26n_axelera_model'
Predecir
from ultralytics import YOLO

# Carga el modelo Axelera exportado
model = YOLO("yolo26n_axelera_model")

# Ejecutar inferencia
results = model("https://ultralytics.com/images/bus.jpg")
Validar
from ultralytics import YOLO

# Carga el modelo Axelera exportado
model = YOLO("yolo26n_axelera_model")

# Valida la precisión con el conjunto de datos COCO8
metrics = model.val(data="coco8.yaml")

Argumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'axelera'Formato de destino para el hardware AIPU Metis de Axelera.
imgszint o tuple640Tamaño de imagen para la entrada del modelo.
batch*int1Especifica el tamaño del lote de inferencia del modelo exportado 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 AIPU Axelera. Sustituye a los indicadores obsoletos half/int8. Consulta Cuantización INT8.
datastrNoneArchivo YAML del conjunto de datos de calibración; para clasificación, en su lugar se acepta un directorio del conjunto de datos o el nombre de un conjunto de datos integrado. Si se omite, Ultralytics selecciona un conjunto de datos de calibración específico para la tarea.
fractionfloat, int o list1.0Subconjunto de calibración indicado como proporción, número de imágenes o proporciones/recuentos [train, val, test]. Las listas de dos elementos mantienen completo test, mientras que 0 lo omite (se recomiendan entre 100 y 400 imágenes).
devicestrNoneDispositivo de exportación: GPU (device=0) o CPU (device=cpu).

* La inferencia con batch>1 requiere Voyager SDK 1.8.0 o posterior; los modelos se compilan para una sola imagen.

Consulta todas las opciones de exportación en la documentación del modo Exportar.

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 AIPU Metis maximiza el rendimiento y minimiza el consumo energético.

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.

Estas cifras corresponden al rendimiento del host y se han medido con el zoo de modelos mediante la canalización de streaming del Voyager SDK sobre un archivo de vídeo de 720p. Una única llamada a predict devuelve la latencia por imagen, que es una magnitud distinta.

Aplicaciones en el mundo real#

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

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

Comprobación del estado del dispositivo#

Comprueba que tu dispositivo Axelera funciona correctamente:

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

Para obtener diagnósticos detallados, consulta la documentación de AxDevice.

Rendimiento máximo#

Los modelos se compilan para una sola imagen. Si pasas varias imágenes a Predict, se dirigirán al planificador de Axelera (Voyager SDK 1.8 o posterior), por lo que batch>1 funcionará correctamente, aunque, medido de extremo a extremo en un único dispositivo, no será más rápido que batch=1:

yolo predict model=yolo26n_axelera_model source=path/to/images batch=8

Para producción que requiera el máximo rendimiento, el Voyager SDK de Axelera ofrece:

  • Canalizaciones de inferencia en streaming que mantienen varios fotogramas en curso
  • Compilación de un modelo en varios núcleos
  • Inferencia por mosaicos para cámaras de mayor resolución

Consulta el zoo de modelos para ver benchmarks de FPS o contacta con Axelera para obtener asistencia para producción.

Problemas conocidos#

Limitaciones conocidas
  • Limitaciones de potencia de M.2: Los modelos grandes o extragrandes pueden provocar errores en tiempo de ejecución en aceleradores M.2 debido a las limitaciones de la fuente de alimentación.

Para obtener asistencia, visita la comunidad de Axelera.

Preguntas frecuentes#

  • Voyager SDK permite exportar modelos YOLOv8, YOLO11 y YOLO26. Consulta las tareas compatibles para saber qué tareas están disponibles para cada modelo.

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

  • Voyager SDK de Axelera cuantiza automáticamente los modelos para la arquitectura AIPU de precisión mixta. En la mayoría de las tareas de detección de objetos, las mejoras de rendimiento (más FPS y menor consumo) compensan con creces el efecto mínimo en el mAP. La cuantización puede tardar desde unos segundos hasta varias horas, según el tamaño del modelo. Ejecuta yolo val después de la exportación para verificar la precisión.

  • Recomendamos usar entre 100 y 400 imágenes. Más de 400 no aporta ningún beneficio adicional y aumenta el tiempo de cuantización. Prueba 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 en el portal para desarrolladores de Axelera.

Comentarios