Экспорт и развёртывание Axelera AI#
Ultralytics сотрудничает с Axelera AI, обеспечивая высокопроизводительный и энергоэффективный инференс на устройствах Edge 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 | Видеоаналитика высокой плотности, умные города |
| 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 Compute Board: автономное периферийное устройство, объединяющее 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; экспорт устанавливает эту версию пакета разработки, а инференс устанавливает эту версию среды выполнения
- Драйвер ядра Metis:
metis-dkms1.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-dkms1.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. Если у тебя уже запущен более ранний SDK на Ubuntu, обнови драйвер и перезагрузи модуль ядра (перезагрузка не требуется):
sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metisЗатем снова запусти axdevice, чтобы убедиться, что устройство обнаружено.
При первом запуске yolo export format=axelera или yolo predict с моделью Axelera пакеты Axelera SDK будут автоматически загружены и установлены. В зависимости от скорости соединения это может занять несколько минут, при этом во время загрузки прогресс не отображается. Чтобы заранее установить SDK вручную:
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/simpleSDK 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
# 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")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'axelera' | Целевой формат для оборудования Axelera Metis AIPU. |
imgsz | int или tuple | 640 | Размер изображения для входных данных модели. |
batch* | int | 1 | Задаёт размер пакета при инференсе экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict. |
quantize | int или str | 8/auto | Точность квантования. Для 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#
Metis AIPU максимизирует пропускную способность и одновременно минимизирует энергопотребление.
| Модель | 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 обеспечивает передовые решения для периферийных вычислений:
- Умная розничная торговля: Подсчёт объектов и аналитика тепловых карт в реальном времени для оптимизации магазинов.
- Промышленная безопасность: обнаружение СИЗ с низкой задержкой на производственных объектах.
- Аналитика с дронов: высокоскоростная детекция объектов на БПЛА для сельского хозяйства и поисково-спасательных операций.
- Транспортные системы: периферийное распознавание номерных знаков и оценка скорости.
Рекомендуемый рабочий процесс#
- Обучи модель с помощью 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. Доступность задач для каждой модели см. в разделе Поддерживаемые задачи.
Да. Любую модель, обученную с использованием режима обучения Ultralytics, можно экспортировать в формат Axelera при условии, что она использует поддерживаемые слои и операции.
Voyager SDK от Axelera автоматически квантует модели для архитектуры AIPU со смешанной точностью. Для большинства задач обнаружения объектов прирост производительности (более высокий FPS и меньшее энергопотребление) значительно перевешивает минимальное влияние на mAP. Квантизация занимает от нескольких секунд до нескольких часов в зависимости от размера модели. После экспорта запусти
yolo val, чтобы проверить точность.Мы рекомендуем от 100 до 400 изображений. Использование более 400 изображений не даёт дополнительных преимуществ и увеличивает время квантизации. Поэкспериментируй со 100, 200 и 400 изображениями, чтобы найти оптимальный баланс.
SDK, драйверы и инструменты компилятора доступны через портал разработчиков Axelera.