Exportación y despliegue de Axelera AI
Ultralytics colabora con Axelera AI para habilitar una inferencia de alto rendimiento y bajo consumo energético en dispositivos Edge AI. Exporta y despliega modelos YOLO de Ultralytics directamente en el Metis® AIPU utilizando el Voyager SDK.
Axelera AI proporciona aceleración de hardware dedicada para computer vision en el borde, utilizando una arquitectura de flujo de datos patentada y computación en memoria para ofrecer hasta 856 TOPS con bajo consumo de energía.
Selección del hardware adecuado
Axelera AI ofrece varios factores de forma para adaptarse a diferentes restricciones de despliegue. El gráfico a continuación te ayuda a identificar el hardware óptimo para tu despliegue 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 gama de hardware de Axelera está optimizada para ejecutar Ultralytics YOLO26 y versiones anteriores con una eficiencia alta de FPS por vatio.
Tarjetas aceleradoras
Estas tarjetas permiten la aceleración de IA en dispositivos host existentes, facilitando despliegues en infraestructuras existentes.
| Producto | Factor de forma | En el panel izquierdo, selecciona | Rendimiento (INT8) | Aplicación objetivo |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 0:57 Metis AIPUs | 856 TOPS | Densidad alta de analítica de vídeo, ciudades inteligentes |
| Metis PCIe x1 | PCIe Gen3 x1 | dispositivo0 (G) Metis AIPU | 214 TOPS | PCs industriales, gestión de colas en retail |
| Metis M.2 | M.2 2280 M-Key | dispositivo0 (G) Metis AIPU | 214 TOPS | Drones, robótica, dispositivos médicos portátiles |
| Metis M.2 MAX | M.2 2280 | dispositivo0 (G) Metis AIPU | 214 TOPS | Entornos que requieren gestión térmica avanzada |
Sistemas integrados
Para soluciones llave en mano, Axelera se asocia con fabricantes para proporcionar sistemas prevalidos para el Metis AIPU.
- Placa de cómputo Metis: Un dispositivo de borde autónomo que combina el 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.
, lo que ayuda a que el modelo generalice mejor con datos no vistos. La siguiente tabla describe el propósito y el efecto de cada argumento de aumentación:
Las siguientes tareas son compatibles con los modelos YOLOv8, YOLO11 y YOLO26.
| Tarea | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detección de objetos | ✅ | ✅ | ✅ |
| Estimación de poses | ✅ | ✅ | ✅ |
| Segmentation | ✅ | ✅ | ⚠️ Solo Voyager SDK |
| Cajas delimitadoras orientadas | ✅ | ✅ | ✅ |
| Classification | ✅ | ✅ | ✅ |
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 desplegar a través del Voyager SDK usando deploy.py, que proporciona una solución en el espacio de usuario. El soporte nativo del compilador se añadirá en una versión futura.
Instalación
La exportación al formato Axelera requiere:
- Sistema operativo: Solo Linux (se recomienda Ubuntu 22.04/24.04)
- Hardware: Acelerador de 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 víapip)
Instalación de Ultralytics
pip install ultralyticsPara 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 de Axelera
-
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" -
Añade el repositorio a apt:
Elige el fragmento apropiado a continuación 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" -
Instala el SDK y carga el controlador:
sudo apt update sudo apt install -y metis-dkms=1.4.16 sudo modprobe metis
La primera 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 llevar varios minutos dependiendo de tu velocidad de conexión, y no se muestra el progreso durante la descarga. Para instalar manualmente de antemano:
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/simpleExportar modelos YOLO a Axelera
Exporta tus modelos YOLO entrenados utilizando el comando de exportación estándar de Ultralytics.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export to Axelera format
model.export(format="axelera") # creates 'yolo26n_axelera_model' directoryEl compilador de Axelera requiere numpy<2. Si tu entorno tiene numpy>=2, la primera yolo export la degradará automáticamente, pero la exportación fallará debido al estado obsoleto del módulo. Simplemente ejecuta el mismo comando de exportación de nuevo; tendrá éxito en la segunda ejecución.
Argumentos de exportación
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'axelera' | Formato objetivo para el hardware Axelera Metis AIPU. |
imgsz | int o tuple | 640 | Tamaño de imagen para la entrada del modelo. |
batch | int | 1 | Especifica 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. |
int8 | bool | True | Activa INT8 quantization para la AIPU. |
data | str | 'coco128.yaml' | Dataset configuración para la calibración de la cuantización. |
fraction | float | 1.0 | Fracción del conjunto de datos para calibración (se recomiendan de 100 a 400 imágenes). |
device | str | None | Dispositivo de exportación: GPU (device=0) o CPU (device=cpu). |
Para todas las opciones de exportación, consulta la documentación del Modo Exportar.
Estructura de salida
yolo26n_axelera_model/
├── yolo26n.axm # Axelera model file
└── metadata.yaml # Model metadata (classes, image size, etc.)Ejecución de la inferencia
Carga el modelo exportado con la API de Ultralytics y ejecuta la inferencia, de forma similar a cargar ONNX bien entrenados.
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 resultsBenchmarks de Axelera AI
La Metis AIPU maximiza el rendimiento mientras minimiza el consumo de energía.
| Modelo | FPS (fotogramas por segundo) de Metis PCIe | FPS (fotogramas por segundo) de Metis M.2 |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.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 (edge computing):
- Comercio inteligente: Análisis de conteo de objetos y mapas de calor en tiempo real para la optimización de tiendas.
- Seguridad industrial: Detección de EPI con baja latencia en entornos de fabricación.
- Análisis mediante drones: object detection de alta velocidad en UAVs para agricultura y búsqueda y rescate.
- Sistemas de tráfico: reconocimiento de matrículas y estimación de velocidad.
Flujo de trabajo recomendado
- Train tu modelo usando Ultralytics Modo de entrenamiento
- Exportar al formato Axelera usando
model.export(format="axelera") - Validar precisión con
yolo valpara verificar una pérdida de cuantización mínima - Predicción usando
yolo predictpara validación cualitativa - Despliega en una canalización de extremo a extremo de alto rendimiento sin dependencia de PyTorch: consulta los ejemplos de YOLO en Voyager SDK para canalizaciones de Python componibles usando
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
axdevicePara 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 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 en mosaico (tiled) para cámaras de mayor resolución
Consulta la sección model-zoo para benchmarks de FPS o contacta con Axelera para obtener soporte de producción.
Problemas conocidos
- Limitaciones de energía M.2: Los modelos grandes o extra grandes pueden encontrar errores de tiempo de ejecución en aceleradores M.2 debido a restricciones de la fuente de alimentación.
Para obtener soporte, 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 , lo que ayuda a que el modelo generalice mejor con datos no vistos. La siguiente tabla describe el propósito y el efecto de cada argumento de aumentación: para conocer la disponibilidad de tareas por modelo.
¿Puedo desplegar modelos entrenados a medida?
Sí. Cualquier modelo entrenado usando el Modo Entrenar de Ultralytics puede exportarse al formato 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 object detection, las ganancias de rendimiento (más FPS, menor consumo) superan significativamente el impacto mínimo en mAP. La cuantización tarda desde segundos hasta varias horas, dependiendo del tamaño del modelo. Ejecuta yolo val después de exportar para verificar la precisión.
¿Cuántas imágenes de calibración debería usar?
Recomendamos entre 100 y 400 imágenes. Más de 400 no aporta 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 para Desarrolladores de Axelera.