Экспорт и развёртывание для Axelera AI#
Ultralytics сотрудничает с Axelera AI, чтобы обеспечить высокопроизводительный и энергоэффективный инференс на устройствах периферийного ИИ. Экспортируй и развёртывай модели Ultralytics YOLO напрямую на Metis® AIPU с помощью Voyager SDK.
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 x4 | PCIe Gen3 x16 | 4x Metis AIPU | 856 TOPS | Видеoаналитика с высокой плотностью потоков, умные города |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | Промышленные ПК, управление очередями в розничной торговле |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | Дроны, робототехника, портативные медицинские устройства |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 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 поддерживается.
| Задача | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Обнаружение | ✅ | ✅ | ✅ |
| Сегментация | ✅ | ✅ | ❌ |
| Семантическая сегментация | ❌ | ❌ | ✅ |
| Глубина | ❌ | ❌ | ❌ |
| Классификация | ✅ | ✅ | ✅ |
| Оценка позы | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Сегментация экземпляров 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#
-
Добавь ключ репозитория Axelera:
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
Добавь репозиторий в 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" -
Установи драйвер и загрузи его. Для SDK 1.8 требуется
metis-dkmsверсии 1.6.2 или новее, поэтому здесь устанавливается последняя версия:sudo apt update sudo apt install -y metis-dkms sudo modprobe metis
Драйвер ядра устанавливается отдельно от пакетов 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, чтобы убедиться, что устройство обнаружено.
При первом запуске 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 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")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'axelera' | Целевой формат для оборудования Axelera Metis AIPU. |
imgsz | int или tuple | 640 | Размер входного изображения модели. |
batch* | int | 1 | Задаёт размер пакета изображений для инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict. |
quantize | int или str | 8/авто | Точность квантования. Для Axelera AIPU требуется 8 (INT8), и она включается автоматически. Заменяет устаревшие флаги half/int8. См. раздел Квантование INT8. |
data | str | None | YAML-файл набора данных для калибровки; для классификации вместо него укажи каталог набора данных или встроенное название набора данных. Если параметр не задан, Ultralytics выбирает набор данных для калибровки в соответствии с задачей. |
fraction | float, int или list | 1.0 | Подмножество калибровочных данных, заданное коэффициентом, количеством изображений либо коэффициентами/количеством [train, val, test]. В списках из двух элементов test остаётся без изменений, а 0 пропускается (рекомендуется 100–400 изображений). |
device | str | None | Устройство для экспорта: 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 (кадров в секунду) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Бенчмарки основаны на данных Axelera AI. Фактический FPS зависит от размера модели, пакетной обработки и разрешения входных данных.
Это показатели пропускной способности хоста, измеренные с помощью зоопарка моделей и потокового конвейера Voyager SDK на видеофайле с разрешением 720p. Один вызов predict показывает задержку обработки одного изображения — это другая величина.
Применение в реальных условиях#
Ultralytics YOLO на оборудовании Axelera позволяет создавать передовые решения для периферийных вычислений:
- Умная розница: подсчёт объектов в реальном времени и аналитика тепловых карт для оптимизации работы магазинов.
- Промышленная безопасность: обнаружение средств индивидуальной защиты с низкой задержкой на производстве.
- Аналитика с дронов: высокоскоростное обнаружение объектов на БПЛА для сельского хозяйства и поисково-спасательных операций.
- Транспортные системы: распознавание государственных регистрационных знаков и оценка скорости на периферийных устройствах.
Рекомендуемый рабочий процесс#
- Обучи модель с помощью режима Train Ultralytics
- Экспортируй модель в формат Axelera с помощью
model.export(format="axelera") - Проверь точность с помощью
yolo val, чтобы убедиться, что потери при квантовании минимальны - Выполни предсказание с помощью
yolo predictдля качественной проверки - Разверни модель в высокопроизводительном сквозном конвейере без зависимости от 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.