Ultralytics YOLO27:

Exportación y despliegue de Axelera AI#

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

Ecosistema de despliegue en el edge de Axelera AI para YOLO

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

Selección del hardware adecuado#

Axelera AI ofrece varios formatos para adaptarse a distintas limitaciones de despliegue. El gráfico siguiente te 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

Catálogo 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 acelerar la IA en dispositivos host existentes, facilitando los despliegues brownfield.

ProductoFormatoComputaciónRendimiento (INT8)Aplicación objetivo
Metis PCIe x4PCIe Gen3 x164x Metis AIPU856 TOPSAnálisis de vídeo de alta densidad, ciudades inteligentes
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSPC industriales, gestión de colas 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 listas para usar, Axelera colabora con fabricantes para proporcionar sistemas previamente validados para la Metis AIPU.

  • Metis Compute Board: dispositivo edge independiente 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).
  • PC industriales: sistemas reforzados de Advantech y Aetina, diseñados para la automatización industrial.

Tareas compatibles#

La estimación de profundidad no es compatible: la cabecera de profundidad emite operadores que el compilador Metis AIPU no puede bajar. La segmentación de instancias de YOLO26 tampoco es compatible con Ultralytics export, pero aun así se puede implementar a través del Voyager SDK como se describe a continuación. La segmentación semántica de YOLO26 es compatible.

TareaYOLOv8YOLO11YOLO26
Detección
Segmentación
Semántica
Profundidad
Clasificación
Pose
OBB
Nota

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

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
  • Voyager SDK: 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 núcleo de 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 encuentras dificultades, 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 utilizado.

    # 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, por lo que aquí se instala la versión más reciente:

    sudo apt update
    sudo apt install -y metis-dkms
    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 Python SDK, por lo que después de actualizar el SDK también debes actualizar el controlador al mínimo de ese SDK —1.6.2 para el SDK 1.8—. Nada comprueba esto en el momento de la instalación, y un controlador por debajo del mínimo 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.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 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 (sin necesidad de reiniciar):

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

Después, vuelve a ejecutar axdevice para confirmar que se detecta el dispositivo.

La primera ejecución descarga el SDK automáticamente

La primera ejecución de 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, según la velocidad de tu conexión, y no se muestra ningún progreso durante la descarga. Para instalarlo manualmente de antemano:

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 eleva la versión del formato de modelo compilado de .axm, por lo que los directorios de _axelera_model producidos por un SDK anterior se rechazan en el momento de la carga. 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 Metis AIPU de Axelera. Exporta tu modelo y, después, carga el modelo exportado para ejecutar inferencias 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")

Argumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'axelera'Formato objetivo para hardware Metis AIPU 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 la cuantización. 8 (INT8) es necesaria y se habilita automáticamente para la AIPU de Axelera. Sustituye a las marcas half/int8 obsoletas. Consulta Cuantización INT8.
datastrNoneYAML del conjunto de datos de calibración; para la clasificación se acepta, en su lugar, un directorio de 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 como proporción, número de imágenes o proporciones/números de [train, val, test]. Las listas de dos elementos dejan test completo, 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.

Para consultar todas las opciones de exportación, visita 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 son cifras de rendimiento del host, medidas por el model zoo con la canalización de transmisión del Voyager SDK sobre un archivo de video de 720p. Una sola llamada de predict informa la latencia por imagen en su lugar, lo cual es una cantidad diferente.

Aplicaciones en el mundo real#

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

Flujo de trabajo recomendado#

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

Comprobación del estado del dispositivo#

Verifica 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. Pasar varias imágenes a Predict las enruta a través del planificador de Axelera (Voyager SDK 1.8 o posterior), por lo que batch>1 se ejecuta correctamente, aunque medido de extremo a extremo en un solo dispositivo no es más rápido que batch=1:

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

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

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

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

Problemas conocidos#

Limitaciones conocidas
  • Limitaciones de alimentación de M.2: Los modelos grandes o extragrandes pueden experimentar errores en tiempo de ejecución en aceleradores M.2 debido a las limitaciones del suministro eléctrico.

Para obtener asistencia, visita la comunidad de Axelera.

Preguntas frecuentes#

  • Voyager SDK admite la exportación de modelos YOLOv8, YOLO11 y YOLO26. Consulta Tareas compatibles para ver la disponibilidad de tareas de cada modelo.

  • Sí. Cualquier modelo entrenado mediante el modo de entrenamiento 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 energético) compensan con creces el impacto mínimo en mAP. La cuantización tarda 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 entre 100 y 400 imágenes. Más de 400 no aporta ningún beneficio adicional y aumenta el tiempo de cuantización. Experimenta con 100, 200 y 400 imágenes para encontrar el equilibrio óptimo.

  • El SDK, los controladores y las herramientas del compilador están disponibles a través del portal para desarrolladores de Axelera.

Comentarios