Exportação e implantação da Axelera AI#
A Ultralytics faz parceria com a Axelera AI para permitir inferência de alto desempenho e eficiente em termos de energia em dispositivos de Edge AI. Exporte e implante 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 de fluxo de dados proprietária e computação em memória para entregar até 856 TOPS com baixo consumo de energia.
Selecionando o hardware certo#
A Axelera AI oferece vários formatos para atender a diferentes restrições de implantação. O gráfico abaixo ajuda a identificar o hardware ideal para sua implantaçã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:#fffPortfólio de hardware#
A linha de hardware da Axelera é otimizada para executar o Ultralytics YOLO26 e versões legadas com alta eficiência de FPS por watt.
Placas aceleradoras#
Essas placas permitem a aceleração de IA em dispositivos host existentes, facilitando implantaçõ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, gerenciamento de filas no varejo |
| 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 gerenciamento térmico avançado |
Sistemas integrados#
Para soluções completas, a Axelera faz parceria com fabricantes para fornecer sistemas pré-validados para o Metis AIPU.
- Placa de Computação Metis: Um dispositivo de borda autônomo que combina o Metis AIPU com um processador ARM Rockchip RK3588.
- Workstations: Torres corporativas da Dell (Precision 3460XE) e Lenovo (ThinkStation P360 Ultra).
- PCs Industriais: Sistemas robustos da Advantech e Aetina projetados para automação de manufatura.
Tarefas Suportadas#
A estimativa de profundidade não é suportada: o cabeçote de profundidade emite operadores que o compilador do Metis AIPU não consegue abaixar. A segmentação do YOLO26 também não é suportada pelo Ultralytics export, mas ainda pode ser implantada por meio do Voyager SDK conforme descrito abaixo.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detectar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ❌ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ❌ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
A segmentação do YOLO26 ainda não é suportada pelo comando Ultralytics export. Os usuários que precisam do YOLO26-seg podem implantar via Voyager SDK usando deploy.py, 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 Operacional: Apenas Linux (recomenda-se Ubuntu 22.04/24.04)
- Hardware: Acelerador Axelera AI (dispositivos Metis)
- Python: Versões 3.10, 3.11, 3.12 e 3.13
- Dependência do sistema:
sudo apt install libgl1(necessário para OpenCV, não incluído viapip)
Instalação do Ultralytics#
pip install ultralyticsPara instruções detalhadas, consulte nosso Guia de Instalação do Ultralytics. Se encontrar dificuldades, consulte nosso Guia de Problemas Comuns.
Instalação do driver Axelera#
-
Adicione 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" -
Adicione o repositório ao apt:
Escolha o trecho apropriado abaixo para corresponder ao SO que você está usando.
# 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" -
Instale o SDK e carregue o driver:
sudo apt update sudo apt install -y metis-dkms=1.5.5 sudo modprobe metis
O driver do kernel é instalado separadamente dos pacotes do Python SDK, portanto, após atualizar o SDK (por exemplo, de 1.6 para 1.7), deves instalar a versão correspondente do driver. Um driver dessincronizado 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.4.16, but at least version 1.4.18 is required. Please update the kernel driver
ERROR: AXR_ERROR_CONNECTION_ERROR: Failed to open device metis-0:4:0Instala a versão do driver que corresponde ao teu SDK — consulta o Passo 3: Instalar o driver do kernel Metis. Se já estás 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=1.5.5
sudo rmmod metis
sudo modprobe metisEm seguida, executa novamente axdevice para confirmar que o dispositivo foi detectado.
O primeiro yolo export format=axelera ou yolo predict com um modelo Axelera baixará e instalará automaticamente os pacotes do Axelera SDK. Isso pode levar vários minutos, dependendo da velocidade da sua conexão, e nenhum progresso é exibido durante o download. Para instalar manualmente com antecedência:
pip install axelera-devkit==1.7.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.7.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simpleExportando modelos YOLO para Axelera#
O formato Axelera suporta os modos Export, Predict e Validate. A inferência e a validação são executadas no hardware Axelera Metis AIPU. Exporte seu modelo e, em seguida, carregue o modelo exportado para executar a inferência ou validar 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")O compilador Axelera requer numpy<2. Se o seu ambiente tiver numpy>=2, o primeiro yolo export fará o downgrade automático, mas a exportação falhará devido ao estado obsoleto do módulo. Basta executar o mesmo comando de exportação novamente — ele terá sucesso na segunda execução.
Argumentos de Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'axelera' | Formato de destino para o hardware Axelera Metis AIPU. |
imgsz | int ou tuple | 640 | Tamanho da imagem para entrada do modelo. |
batch | int | 1 | Especifica o tamanho de inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará concorrentemente no modo predict. |
quantize | int ou str | 8/auto | Precisão de quantização. 8 (INT8) é obrigatório e ativado automaticamente para o Axelera AIPU. Substitui os sinalizadores obsoletos half/int8. Consulte Quantização INT8. |
data | str | None | YAML do conjunto de dados de calibração; a classificação utiliza em vez disso um diretório de conjunto de dados ou um nome de conjunto de dados integrado. Se omitido, o Ultralytics seleciona um conjunto de dados de calibração específico da tarefa. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como proporção, contagem de imagens ou proporções/contagens de [train, val]; uma lista limita train ou val, enquanto test permanece completo (recomenda-se de 100 a 400 imagens). |
device | str | None | Dispositivo de exportação: GPU (device=0) ou CPU (device=cpu). |
Para todas as opções de exportação, consulte a documentação do Export Mode.
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 a taxa de transferência enquanto minimiza o consumo de energia.
| Modelo | FPS (quadros por segundo) do Metis PCIe | FPS (quadros por segundo) do Metis M.2 |
|---|---|---|
| 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 lote e da resolução da entrada.
Aplicações do Mundo Real#
O Ultralytics YOLO no hardware Axelera permite soluções avançadas de computação de borda:
- Smart Retail: Contagem de objetos em tempo real e análise de mapa de calor para otimização de lojas.
- Segurança Industrial: Detecção de EPI de baixa latência em ambientes de fabricação.
- Análise por Drone: Detecção de objetos de alta velocidade em UAVs para agricultura e busca e salvamento.
- Sistemas de Tráfego: Reconhecimento de placas de veículos baseado em borda e estimativa de velocidade.
Fluxo de Trabalho Recomendado#
- Treine seu modelo usando o Modo de Treinamento do Ultralytics
- Exportar para o formato Axelera usando
model.export(format="axelera") - Valide a precisão com
yolo valpara verificar a perda mínima de quantização - Preveja usando
yolo predictpara validação qualitativa - Implantar em um pipeline ponta a ponta de alto desempenho sem dependência do PyTorch — consulte os exemplos de YOLO no Voyager SDK para pipelines Python componíveis usando
axelera-rt
Verificação de integridade do dispositivo#
Verifique se seu dispositivo Axelera está funcionando corretamente:
# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevicePara diagnósticos detalhados, consulte a documentação do AxDevice.
Desempenho Máximo#
Esta integração usa configuração de núcleo único para compatibilidade. Para produção que exige vazão máxima, o Axelera Voyager SDK oferece:
- Utilização multi-core (Metis AIPU quad-core)
- Pipelines de inferência em streaming
- Inferência por blocos (tiled) para câmeras de alta resolução
Consulte o model-zoo para benchmarks de FPS ou entre em contato com a Axelera para suporte de produção.
Problemas conhecidos#
- Limitações de energia M.2: Modelos grandes ou extra grandes podem encontrar erros de tempo de execução em aceleradores M.2 devido a restrições de fornecimento de energia.
Para suporte, visite a Comunidade Axelera.
FAQ#
O Voyager SDK suporta a exportação de modelos YOLOv8, YOLO11 e YOLO26. Consulte Tarefas Suportadas para ver a disponibilidade de tarefas por modelo.
Sim. Qualquer modelo treinado usando o Ultralytics Train Mode pode ser exportado para o formato Axelera, desde que utilize camadas e operações suportadas.
O Voyager SDK da Axelera quantiza automaticamente os modelos para a arquitetura AIPU de precisão mista. Para a maioria das tarefas de detecção de objetos, os ganhos de desempenho (mais FPS, menos energia) superam significativamente o impacto mínimo no mAP. A quantização leva de segundos a várias horas, dependendo do tamanho do modelo. Execute
yolo valapós a exportação para verificar a precisão.Recomendamos de 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 encontrar o equilíbrio ideal.
O SDK, os drivers e as ferramentas de compilação estão disponíveis por meio do Portal do Desenvolvedor Axelera.