Ultralytics YOLO27:

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.

Ecossistema de implementação de borda da Axelera AI para YOLO

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:#fff

Portefó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.

ProdutoFormatoComputaçãoDesempenho (INT8)Aplicação-alvo
Metis PCIe x4PCIe Gen3 x164x Metis AIPUs856 TOPSAnálise de vídeo de alta densidade, cidades inteligentes
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSPCs industriais, gestão de filas no retalho
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDrones, robótica, dispositivos médicos portáteis
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSAmbientes 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.

TarefaYOLOv8YOLO11YOLO26
Detetar
Segmentar
Semântica
Profundidade
Classificar
Pose
OBB
Nota

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#

Requisitos da Plataforma

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-dkms 1.6.2 ou mais recente, instalado separadamente de pip
  • Dependência do sistema: sudo apt install libgl1 (exigida pelo OpenCV, não incluída através de pip)

Instalação do Ultralytics#

pip install ultralytics

Para 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#

  1. 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"
  2. 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"
  3. Instala o driver e o carrega. O SDK 1.8 precisa de metis-dkms 1.6.2 ou mais recente, então o mais novo é instalado aqui:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Mantém o controlador do kernel sincronizado com o SDK

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:0

Vê 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 metis

Em seguida, executa novamente axdevice para confirmares que o dispositivo foi detetado.

A primeira execução descarrega o SDK automaticamente

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/simple
Uma atualização do SDK invalida os modelos exportados existentes

O 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.

Exportaçã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'
Previsão
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 Exportação#

ArgumentoTipoPredefiniçãoDescrição
formatstr'axelera'Formato-alvo para hardware Axelera Metis AIPU.
imgszint ou tuple640Tamanho da imagem para a entrada do modelo.
batch*int1Especifica 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.
quantizeint ou str8/autoPrecisã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.
datastrNoneYAML 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.
fractionfloat, int ou list1.0Subconjunto 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).
devicestrNoneDispositivo 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.

ModeloFPS do Metis PCIe (fotogramas por segundo)FPS do Metis M.2 (fotogramas por segundo)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.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:

Fluxo de Trabalho Recomendado#

  1. Treina o teu modelo usando o Modo de Treino da Ultralytics
  2. Exporta para o formato Axelera usando model.export(format="axelera")
  3. Valida a precisão com yolo val para verificar uma perda mínima de quantização
  4. Prevê usando yolo predict para validação qualitativa
  5. 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
axdevice

Para 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=8

Para 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 conhecidas
  • 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 val apó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.

Comentários