Exportação e implementação no Axelera AI#
A Ultralytics estabelece uma parceria com a Axelera AI para permitir inferência de alto desempenho e eficiência energética em dispositivos de IA de borda. Exporte e implemente modelos Ultralytics YOLO diretamente no Metis® AIPU usando o Voyager SDK.
A Axelera AI fornece aceleração de hardware dedicada para visão computacional na borda, usando uma arquitetura proprietária de fluxo de dados e computação em memória para oferecer até 856 TOPS com baixo consumo de energia.
Selecionar o Hardware Certo#
A Axelera AI oferece vários formatos para atender a diferentes restrições de implementação. O gráfico abaixo ajuda a identificar o hardware ideal para a tua implementação do 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:#fffPortefólio de Hardware#
A linha de hardware da Axelera está otimizada para executar Ultralytics YOLO26 e versões anteriores com elevada eficiência de FPS por watt.
Placas Aceleradoras#
Estas placas permitem a aceleração de IA em dispositivos anfitriões existentes, facilitando implementações brownfield.
| Produto | Formato | Computação | Desempenho (INT8) | Aplicação-alvo |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPUs | 856 TOPS | Análise de vídeo de alta densidade, cidades inteligentes |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | PCs industriais, gestão de filas no retalho |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | Drones, robótica, dispositivos médicos portáteis |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 TOPS | Ambientes que exigem gestão térmica avançada |
Sistemas Integrados#
Para soluções prontas a utilizar, a Axelera estabelece parcerias com fabricantes para fornecer sistemas pré-validados para o Metis AIPU.
- Metis Compute Board: um dispositivo de borda autónomo que combina o Metis AIPU com uma CPU ARM Rockchip RK3588.
- Workstations: torres empresariais da Dell (Precision 3460XE) e da Lenovo (ThinkStation P360 Ultra).
- PCs industriais: sistemas robustos da Advantech e da Aetina, concebidos para a automação industrial.
Tarefas suportadas#
A estimativa de profundidade não é suportada: o cabeçalho de profundidade emite operadores que o compilador Metis AIPU não consegue abaixar. A segmentação de instâncias de YOLO26 também não é suportada pelo Ultralytics export, mas ainda pode ser implantada através do Voyager SDK conforme descrito abaixo. A segmentação semântica de YOLO26 é suportada.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detetar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ❌ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ❌ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
A segmentação de instâncias de YOLO26 ainda não é suportada através do comando Ultralytics export. Os usuários que precisam de yolo26-seg podem implantar via Voyager SDK usando deploy.py, o que fornece uma solução alternativa no espaço do usuário. O suporte nativo do compilador será adicionado em uma versão futura.
Instalação#
A exportação para o formato Axelera requer:
- Sistema operativo: apenas Linux (Ubuntu 22.04/24.04 recomendado)
- Hardware: acelerador Axelera AI (dispositivos Metis)
- Python: versões 3.10, 3.11, 3.12 e 3.13
- PyTorch:
torch>=2.8,<2.13 - Voyager SDK: 1.8.0; a exportação instala esta versão do kit de desenvolvimento e a inferência instala esta versão do tempo de execução
- Driver de kernel Metis:
metis-dkms1.6.2 ou mais recente, instalado separadamente depip - Dependência do sistema:
sudo apt install libgl1(exigida pelo OpenCV, não incluída através depip)
Instalação do Ultralytics#
pip install ultralyticsPara obter instruções detalhadas, consulta o nosso guia de instalação da Ultralytics. Se encontrares dificuldades, consulta o nosso guia de problemas comuns.
Instalação do Controlador Axelera#
-
Adiciona a chave do repositório Axelera:
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
Adiciona o repositório ao apt:
Escolhe o fragmento apropriado abaixo, de acordo com o 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" -
Instala o driver e o carrega. O SDK 1.8 precisa de
metis-dkms1.6.2 ou mais recente, então o mais novo é instalado aqui:sudo apt update sudo apt install -y metis-dkms sudo modprobe metis
O driver de kernel é instalado separadamente dos pacotes Python SDK, portanto, após atualizar o SDK, também deves atualizar o driver para o mínimo desse SDK — 1.6.2 para o SDK 1.8. Nada verifica isso no momento da instalação, e um driver abaixo do mínimo deixa o dispositivo indisponível: axdevice relata a versão necessária e falha ao abrir o 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:0Vê também Passo 3: Instalar o driver de kernel Metis. Se já estiveres a executar um SDK anterior no Ubuntu, atualiza o driver e recarrega o módulo do kernel (sem necessidade de reinicialização):
sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metisEm seguida, executa novamente axdevice para confirmares que o dispositivo foi detetado.
A primeira execução de yolo export format=axelera ou yolo predict com um modelo Axelera descarrega e instala automaticamente os pacotes do SDK Axelera. Isto pode demorar vários minutos, dependendo da velocidade da tua ligação, e não é apresentado qualquer progresso durante a transferência. Para instalar manualmente antecipadamente:
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/simpleO SDK 1.8 eleva a versão do formato do modelo compilado .axm, de modo que os diretórios _axelera_model produzidos por um SDK anterior são rejeitados no momento do carregamento. Reexporta cada modelo após a atualização:
Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.Exportar Modelos YOLO para a Axelera#
O formato Axelera suporta os modos Exportar, Prever e Validar. A inferência e a validação são executadas no hardware Axelera Metis AIPU. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar a inferência ou validar a sua precisão.
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'from ultralytics import YOLO
# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")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 Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'axelera' | Formato-alvo para hardware Axelera Metis AIPU. |
imgsz | int ou tuple | 640 | Tamanho da imagem para a entrada do modelo. |
batch* | int | 1 | Especifica o tamanho do lote de inferência do modelo exportado ou o número máximo de imagens que o modelo exportado processará em simultâneo no modo predict. |
quantize | int ou str | 8/auto | Precisão da quantização. 8 (INT8) é necessária e ativada automaticamente para o Axelera AIPU. Substitui os sinalizadores preteridos half/int8. Consulta Quantização INT8. |
data | str | None | YAML do conjunto de dados de calibração; na classificação, é utilizado um diretório de conjunto de dados ou um nome de conjunto de dados integrado. Se for omitido, a Ultralytics seleciona um conjunto de dados de calibração específico para a tarefa. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como proporção, número de imagens ou proporções/números [train, val, test]. As listas de dois itens deixam test completo, enquanto 0 o ignora (recomendam-se 100–400 imagens). |
device | str | None | Dispositivo de exportação: GPU (device=0) ou CPU (device=cpu). |
* A inferência com batch>1 requer o Voyager SDK 1.8.0 ou mais recente; os modelos são compilados para uma única imagem.
Para consultar todas as opções de exportação, vê a documentação do Modo de Exportação.
Estrutura de Saída#
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 da Axelera AI#
O Metis AIPU maximiza o débito enquanto minimiza o consumo de energia.
| Modelo | FPS do Metis PCIe (fotogramas por segundo) | FPS do Metis M.2 (fotogramas por segundo) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Benchmarks baseados em dados da Axelera AI. O FPS real depende do tamanho do modelo, do processamento em lotes e da resolução de entrada.
Estes são números de taxa de transferência do host, medidos pelo zoo de modelos com o pipeline de streaming do Voyager SDK sobre um arquivo de vídeo de 720p. Uma única chamada de predict relata a latência por imagem em vez disso, o que é uma quantidade diferente.
Aplicações no mundo real#
O Ultralytics YOLO em hardware Axelera permite soluções avançadas de computação de borda:
- Retalho Inteligente: contagem de objetos em tempo real e análise de mapas de calor para otimização de lojas.
- Segurança Industrial: deteção de EPI de baixa latência em ambientes de fabrico.
- Análise com Drones: deteção de objetos de alta velocidade em UAVs para agricultura e busca e salvamento.
- Sistemas de Tráfego: reconhecimento de matrículas e estimativa de velocidade baseados na borda.
Fluxo de Trabalho Recomendado#
- Treina o teu modelo usando o Modo de Treino da Ultralytics
- Exporta para o formato Axelera usando
model.export(format="axelera") - Valida a precisão com
yolo valpara verificar uma perda mínima de quantização - Prevê usando
yolo predictpara validação qualitativa - Implementa numa pipeline completa de alto desempenho sem dependência do PyTorch — consulta os exemplos de YOLO no Voyager SDK para pipelines Python composáveis que utilizam
axelera-rt
Verificação do Estado do Dispositivo#
Verifica se o teu dispositivo Axelera está a funcionar corretamente:
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevicePara obter diagnósticos detalhados, consulta a documentação do AxDevice.
Desempenho máximo#
Os modelos são compilados para uma única imagem. Passar várias imagens para Predict as roteia através do agendador Axelera (Voyager SDK 1.8 ou mais recente), para que batch>1 seja executado corretamente, embora medido de ponta a ponta em um único dispositivo não seja mais rápido do que batch=1:
yolo predict model=yolo26n_axelera_model source=path/to/images batch=8Para produção que exige taxa de transferência máxima, o Axelera Voyager SDK oferece:
- Pipelines de inferência de streaming que mantêm vários quadros em trânsito
- Compilação de um modelo em vários núcleos
- Inferência em mosaico para câmaras de maior resolução
Consulta o model-zoo para obter benchmarks de FPS ou contacta a Axelera para obter suporte de produção.
Problemas conhecidos#
- Limitações de energia do M.2: os modelos grandes ou extragrandes podem apresentar erros durante a execução em aceleradores M.2 devido a restrições da fonte de alimentação.
Para obter suporte, visita a Axelera Community.
Perguntas frequentes#
O Voyager SDK é compatível com a exportação de modelos YOLOv8, YOLO11 e YOLO26. Consulta Tarefas compatíveis para saber quais tarefas estão disponíveis para cada modelo.
Sim. Qualquer modelo treinado utilizando o Modo de treino da Ultralytics pode ser exportado para o formato Axelera, desde que utilize camadas e operações compatíveis.
O Voyager SDK da Axelera quantiza automaticamente os modelos para a arquitetura AIPU de precisão mista. Para a maioria das tarefas de deteção de objetos, os ganhos de desempenho (FPS mais elevado, menor consumo de energia) compensam significativamente o impacto mínimo na mAP. A quantização demora entre alguns segundos e várias horas, dependendo do tamanho do modelo. Executa
yolo valapós a exportação para verificar a precisão.Recomendamos 100 a 400 imagens. Mais de 400 não oferece benefícios adicionais e aumenta o tempo de quantização. Experimenta com 100, 200 e 400 imagens para encontrares o equilíbrio ideal.
O SDK, os controladores e as ferramentas de compilação estão disponíveis através do Axelera Developer Portal.