Ultralytics YOLO27:

Экспорт и развёртывание для Axelera AI#

Ultralytics сотрудничает с Axelera AI, чтобы обеспечить высокопроизводительный и энергоэффективный инференс на устройствах периферийного ИИ. Экспортируй и развёртывай модели Ultralytics YOLO напрямую на Metis® AIPU с помощью Voyager SDK.

Экосистема периферийного развёртывания Axelera AI для YOLO

Axelera AI предоставляет специализированное аппаратное ускорение для компьютерного зрения на периферии, используя проприетарную архитектуру потоков данных и вычисления в памяти, чтобы обеспечивать производительность до 856 TOPS при низком энергопотреблении.

Выбор подходящего оборудования#

Axelera AI предлагает различные форм-факторы для разных условий развёртывания. Диаграмма ниже поможет выбрать оптимальное оборудование для развёртывания 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

Линейка оборудования#

Линейка оборудования Axelera оптимизирована для запуска Ultralytics YOLO26 и более ранних версий с высокой эффективностью по FPS на ватт.

Карты-ускорители#

Эти карты обеспечивают аппаратное ускорение ИИ на существующих хост-устройствах, упрощая развёртывание в существующей инфраструктуре.

ПродуктФорм-факторВычислительная мощностьПроизводительность (INT8)Целевое применение
Metis PCIe x4PCIe Gen3 x164x Metis AIPU856 TOPSВидеoаналитика с высокой плотностью потоков, умные города
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSПромышленные ПК, управление очередями в розничной торговле
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSДроны, робототехника, портативные медицинские устройства
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSСреды, требующие усовершенствованного отвода тепла

Интегрированные системы#

Для готовых решений Axelera сотрудничает с производителями, предлагая системы, предварительно проверенные на совместимость с Metis AIPU.

  • Вычислительная плата Metis: автономное периферийное устройство, объединяющее Metis AIPU и ARM CPU Rockchip RK3588.
  • Рабочие станции: корпоративные башенные системы Dell (Precision 3460XE) и Lenovo (ThinkStation P360 Ultra).
  • Промышленные ПК: защищённые системы от Advantech и Aetina, предназначенные для автоматизации производства.

Поддерживаемые задачи#

Оценка глубины не поддерживается: голова глубины выдаёт операторы, которые компилятор Metis AIPU не может преобразовать в инструкции целевого устройства. Сегментация экземпляров YOLO26 также не поддерживается в Ultralytics export, но её всё же можно развернуть с помощью Voyager SDK, как описано ниже. Семантическая сегментация YOLO26 поддерживается.

Примечание

Сегментация экземпляров YOLO26 пока не поддерживается командой Ultralytics export. Если тебе нужна yolo26-seg, разверни модель через Voyager SDK, используя deploy.py: это временное решение на уровне пользовательского пространства. Поддержка в нативном компиляторе появится в одном из следующих выпусков.

Установка#

Требования к платформе

Для экспорта в формат Axelera требуется:

  • Операционная система: только Linux (рекомендуется Ubuntu 22.04/24.04)
  • Оборудование: ускоритель Axelera AI (устройства Metis)
  • Python: версии 3.10, 3.11, 3.12 и 3.13
  • PyTorch: torch>=2.8,<2.13
  • Voyager SDK: 1.8.0; при экспорте устанавливается эта версия devkit, а при инференсе — эта версия среды выполнения
  • Драйвер ядра Metis: metis-dkms версии 1.6.2 или новее, устанавливается отдельно от pip
  • Системная зависимость: sudo apt install libgl1 (требуется OpenCV, не входит в pip)

Установка Ultralytics#

pip install ultralytics

Подробные инструкции смотри в нашем руководстве по установке Ultralytics. Если возникнут трудности, обратись к нашему руководству по распространённым проблемам.

Установка драйвера Axelera#

  1. Добавь ключ репозитория 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. Добавь репозиторий в apt:

    Выбери подходящий фрагмент ниже в соответствии с используемой операционной системой.

    # 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. Установи драйвер и загрузи его. Для SDK 1.8 требуется metis-dkms версии 1.6.2 или новее, поэтому здесь устанавливается последняя версия:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Поддерживай версию драйвера ядра в соответствии с версией SDK

Драйвер ядра устанавливается отдельно от пакетов Python SDK, поэтому после обновления SDK нужно также обновить драйвер как минимум до требуемой для этого SDK версии — 1.6.2 для SDK 1.8. Во время установки это не проверяется, а драйвер ниже минимальной версии делает устройство недоступным: axdevice сообщает требуемую версию и не может открыть устройство.

[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

См. также Шаг 3: установка драйвера ядра Metis. Если на Ubuntu у тебя уже установлена более ранняя версия SDK, обнови драйвер и перезагрузи модуль ядра (перезагрузка системы не требуется):

sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metis

Затем снова запусти axdevice, чтобы убедиться, что устройство обнаружено.

При первом запуске SDK загружается автоматически

При первом запуске yolo export format=axelera или yolo predict с моделью Axelera пакеты SDK Axelera будут автоматически загружены и установлены. В зависимости от скорости соединения это может занять несколько минут; ход загрузки не отображается. Чтобы установить пакеты заранее вручную:

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
Обновление SDK делает существующие экспортированные модели недействительными

В SDK 1.8 повышена версия формата скомпилированной модели .axm, поэтому каталоги _axelera_model, созданные с помощью более ранней версии SDK, отклоняются при загрузке. После обновления экспортируй каждую модель заново:

Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.

Экспорт моделей YOLO в Axelera#

Формат Axelera поддерживает режимы Экспорт, Предсказание и Валидация. Инференс и валидация выполняются на оборудовании Axelera Metis AIPU. Экспортируй модель, затем загрузи её, чтобы запустить инференс или проверить точность.

Экспорт
from ultralytics import YOLO

# Загрузи модель YOLO26
model = YOLO("yolo26n.pt")

# Экспортировать модель в формат Axelera
model.export(format="axelera")  # creates 'yolo26n_axelera_model'
Предсказание
from ultralytics import YOLO

# Загрузить экспортированную модель Axelera
model = YOLO("yolo26n_axelera_model")

# Выполнить инференс
results = model("https://ultralytics.com/images/bus.jpg")
Проверка
from ultralytics import YOLO

# Загрузить экспортированную модель Axelera
model = YOLO("yolo26n_axelera_model")

# Проверить точность на наборе данных COCO8
metrics = model.val(data="coco8.yaml")

Аргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'axelera'Целевой формат для оборудования Axelera Metis AIPU.
imgszint или tuple640Размер входного изображения модели.
batch*int1Задаёт размер пакета изображений для инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict.
quantizeint или str8/автоТочность квантования. Для Axelera AIPU требуется 8 (INT8), и она включается автоматически. Заменяет устаревшие флаги half/int8. См. раздел Квантование INT8.
datastrNoneYAML-файл набора данных для калибровки; для классификации вместо него укажи каталог набора данных или встроенное название набора данных. Если параметр не задан, Ultralytics выбирает набор данных для калибровки в соответствии с задачей.
fractionfloat, int или list1.0Подмножество калибровочных данных, заданное коэффициентом, количеством изображений либо коэффициентами/количеством [train, val, test]. В списках из двух элементов test остаётся без изменений, а 0 пропускается (рекомендуется 100–400 изображений).
devicestrNoneУстройство для экспорта: GPU (device=0) или CPU (device=cpu).

* Для инференса с batch>1 требуется Voyager SDK версии 1.8.0 или новее; модели компилируются для обработки одного изображения.

Все параметры экспорта смотри в документации по режиму экспорта.

Структура вывода#

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

Бенчмарки Axelera AI#

AIPU Metis обеспечивает максимальную пропускную способность при минимальном энергопотреблении.

МодельFPS Metis PCIe (кадров в секунду)FPS Metis M.2 (кадров в секунду)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

Бенчмарки основаны на данных Axelera AI. Фактический FPS зависит от размера модели, пакетной обработки и разрешения входных данных.

Это показатели пропускной способности хоста, измеренные с помощью зоопарка моделей и потокового конвейера Voyager SDK на видеофайле с разрешением 720p. Один вызов predict показывает задержку обработки одного изображения — это другая величина.

Применение в реальных условиях#

Ultralytics YOLO на оборудовании Axelera позволяет создавать передовые решения для периферийных вычислений:

  1. Обучи модель с помощью режима Train Ultralytics
  2. Экспортируй модель в формат Axelera с помощью model.export(format="axelera")
  3. Проверь точность с помощью yolo val, чтобы убедиться, что потери при квантовании минимальны
  4. Выполни предсказание с помощью yolo predict для качественной проверки
  5. Разверни модель в высокопроизводительном сквозном конвейере без зависимости от PyTorch — смотри примеры YOLO для Voyager SDK, где показаны компонуемые конвейеры Python с использованием axelera-rt

Проверка состояния устройства#

Убедись, что устройство Axelera работает правильно:

# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevice

Подробную диагностику смотри в документации AxDevice.

Максимальная производительность#

Модели компилируются для одного изображения. Если передать несколько изображений в Predict, они будут направлены через планировщик Axelera (Voyager SDK 1.8 или новее), поэтому batch>1 будет работать правильно, хотя при сквозном измерении на одном устройстве он не окажется быстрее batch=1:

yolo predict model=yolo26n_axelera_model source=path/to/images batch=8

Для производственных систем, которым нужна максимальная пропускная способность, Axelera Voyager SDK предлагает:

  • Потоковые конвейеры инференса, позволяющие одновременно обрабатывать несколько кадров
  • Компиляцию одной модели для нескольких ядер
  • Тайловый инференс для камер с более высоким разрешением

Смотри бенчмарки FPS в зоопарке моделей или свяжись с Axelera, чтобы получить поддержку для производственных систем.

Известные проблемы#

Известные ограничения
  • Ограничения по питанию M.2: на ускорителях M.2 при запуске крупных и очень крупных моделей могут возникать ошибки из-за ограничений источника питания.

Чтобы получить поддержку, посети сообщество Axelera.

Часто задаваемые вопросы#

  • Voyager SDK поддерживает экспорт моделей YOLOv8, YOLO11 и YOLO26. Список задач, доступных для каждой модели, смотри в разделе «Поддерживаемые задачи».

  • Да. Любую модель, обученную с помощью режима Train Ultralytics, можно экспортировать в формат Axelera, если в ней используются поддерживаемые слои и операции.

  • Voyager SDK от Axelera автоматически квантирует модели для архитектуры AIPU со смешанной точностью. В большинстве задач обнаружения объектов прирост производительности (более высокий FPS и меньшее энергопотребление) значительно перевешивает минимальное влияние на mAP. Квантование занимает от нескольких секунд до нескольких часов в зависимости от размера модели. После экспорта запусти yolo val, чтобы проверить точность.

  • Мы рекомендуем использовать от 100 до 400 изображений. Больше 400 изображений не принесёт дополнительной пользы и увеличит время квантования. Попробуй использовать 100, 200 и 400 изображений, чтобы найти оптимальный баланс.

  • SDK, драйверы и инструменты компилятора доступны на портале разработчиков Axelera.

Комментарии