Exportación e implementación en Axelera AI

Ultralytics colabora con Axelera AI para permitir una inferencia de alto rendimiento y eficiente energéticamente en dispositivos de Edge AI. Exporta e implementa modelos Ultralytics YOLO directamente en la Metis® AIPU utilizando el Voyager SDK.

Ecosistema de implementación en el borde de Axelera AI para YOLO

Axelera AI proporciona aceleración de hardware dedicada para visión artificial en el borde, utilizando una arquitectura de flujo de datos patentada y computación en memoria para ofrecer hasta 856 TOPS con un bajo consumo de energía.

Selección del hardware adecuado

Axelera AI ofrece diversos factores de forma para adaptarse a diferentes restricciones de implementación. El siguiente gráfico ayuda a identificar el hardware óptimo para tu implementación de 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/"

Cartera de hardware

La línea 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 implementaciones en entornos heredados (brownfield).

ProductoFactor de formaCómputoRendimiento (INT8)Aplicación objetivo
Metis PCIe x4PCIe Gen3 x164x Metis AIPUs856 TOPSAnalítica de vídeo de alta densidad, ciudades inteligentes
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSPCs industriales, gestión de colas en retail
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 llave en mano, Axelera se asocia con fabricantes para proporcionar sistemas prevalidado para la Metis AIPU.

  • Metis Compute Board: Un dispositivo de borde autónomo que empareja la Metis AIPU con una CPU ARM Rockchip RK3588.
  • Estaciones de trabajo: Torres empresariales de Dell (Precision 3460XE) y Lenovo (ThinkStation P360 Ultra).
  • PCs industriales: Sistemas reforzados de Advantech y Aetina diseñados para automatización de fabricación.

Tareas admitidas

Las siguientes tareas son compatibles con modelos YOLOv8, YOLO11 y YOLO26.

TareaYOLOv8YOLO11YOLO26
Detección de objetos
Estimación de pose
Segmentación⚠️ Solo Voyager SDK
Cajas delimitadoras orientadas
Clasificación
Nota

La segmentación YOLO26 aún no es compatible mediante el comando export de Ultralytics. Los usuarios que necesiten YOLO26-seg pueden realizar la implementación a través del Voyager SDK usando deploy.py, lo que proporciona una solución alternativa en espacio de usuario. El soporte nativo del compilador se añadirá 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 y 3.12
  • 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 guía de instalación de Ultralytics. Si encuentras dificultades, consulta nuestra guía de problemas comunes.

Instalación del controlador 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 apropiado a continuación para que coincida con el sistema operativo 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.4.16
    sudo modprobe metis
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á e instalará automáticamente el paquete del SDK de Axelera. Esto puede llevar varios minutos dependiendo de la velocidad de tu conexión, y no se muestra ningún progreso durante la descarga. Para instalarlo manualmente con antelación:

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

Exportación de modelos YOLO a Axelera

Exporta tus modelos YOLO entrenados utilizando el comando de exportación estándar de Ultralytics.

Exportar al 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 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: tendrá é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 modo predict.
int8boolTrueHabilita la cuantización INT8 para AIPU.
datastr'coco128.yaml'Configuración del dataset para la calibración de cuantización.
fractionfloat1.0Fracción del conjunto de datos para la calibración (se recomiendan de 100 a 400 imágenes).
devicestrNoneDispositivo de exportación: GPU (device=0) o CPU (device=cpu).

Para todas las opciones de exportación, consulta la documentación del modo de exportación.

Estructura de salida

yolo26n_axelera_model/
├── yolo26n.axm              # Axelera model file
└── metadata.yaml            # Model metadata (classes, image size, etc.)

Ejecución de inferencia

Carga el modelo exportado con la API de Ultralytics y ejecuta la inferencia, similar a cargar modelos ONNX.

Inferencia con el modelo 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

Benchmarks de Axelera AI

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

ModeloFPS (cuadros por segundo) de Metis PCIeFPS (cuadros por segundo) de Metis M.2
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 en el borde:

Flujo de trabajo recomendado

  1. Entrena (Train) tu modelo usando el modo de entrenamiento de Ultralytics
  2. Exporta al formato Axelera usando model.export(format="axelera")
  3. Valida la precisión con yolo val para verificar una pérdida de cuantización mínima
  4. Predice (Predict) usando yolo predict para una validación cualitativa
  5. Implementa en un pipeline integral de alto rendimiento sin dependencia de PyTorch: consulta los ejemplos de YOLO en Voyager SDK para pipelines de Python componibles usando axelera-rt

Comprobación del estado del dispositivo

Verifica que tu dispositivo Axelera esté funcionando 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.

Máximo rendimiento

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

  • Utilización multinúcleo (Metis AIPU de cuatro núcleos)
  • Canalizaciones de inferencia en streaming
  • Inferencia por mosaicos para cámaras de mayor resolución

Consulta el model-zoo para obtener pruebas de rendimiento de FPS o contacta con Axelera para recibir soporte de producción.

Problemas conocidos

Limitaciones conocidas
  • Limitaciones de energía en M.2: Los modelos grandes o extragrandes pueden experimentar errores de tiempo de ejecución en aceleradores M.2 debido a restricciones en la fuente de alimentación.

Para obtener ayuda, visita la comunidad de Axelera.

Preguntas frecuentes

¿Qué versiones de YOLO son compatibles con Axelera?

El Voyager SDK admite la exportación de modelos YOLOv8, YOLO11 y YOLO26. Consulta Tareas admitidas para ver la disponibilidad de tareas por modelo.

¿Puedo implementar modelos entrenados a medida?

Sí. Cualquier modelo entrenado con el modo de entrenamiento de Ultralytics puede exportarse al formato de Axelera, siempre que utilice capas y operaciones compatibles.

¿Cómo afecta la cuantización INT8 a la precisión?

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 detección de objetos, las ganancias de rendimiento (más FPS, menor consumo de energía) 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.

¿Cuántas imágenes de calibración debo usar?

Recomendamos entre 100 y 400 imágenes. Más de 400 no proporciona beneficios adicionales y aumenta el tiempo de cuantización. Experimenta con 100, 200 y 400 imágenes para encontrar el equilibrio óptimo.

¿Dónde puedo encontrar el Voyager SDK?

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

Comentarios