Экспорт и развертывание 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 AIPUs | 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 также не поддерживается функцией export в Ultralytics, но её всё же можно развернуть через Voyager SDK, как описано ниже.
| Задача | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Обнаружение | ✅ | ✅ | ✅ |
| Сегментация | ✅ | ✅ | ❌ |
| Семантика | ❌ | ❌ | ✅ |
| Глубина | ❌ | ❌ | ❌ |
| Классификация | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Сегментация в YOLO26 пока не поддерживается через команду export в Ultralytics. Пользователям, которым нужна 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
- Системная зависимость:
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 и загрузи драйвер:
sudo apt update sudo apt install -y metis-dkms=1.5.5 sudo modprobe metis
Драйвер ядра устанавливается отдельно от пакетов Python SDK, поэтому после обновления SDK (например, с 1.6 до 1.7) ты должен установить соответствующую версию драйвера. Несоответствие версий драйвера приводит к тому, что устройство становится недоступным: axdevice сообщает о требуемой версии и выдает ошибку при попытке открыть устройство.
[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:0Установи версию драйвера, соответствующую твоему SDK — смотри Step 3: Install the Metis kernel driver. Если ты уже используешь более раннюю версию SDK на Ubuntu, обнови драйвер и перезагрузи модуль ядра (перезагрузка системы не требуется):
sudo apt update
sudo apt install -y metis-dkms=1.5.5
sudo rmmod metis
sudo modprobe metisЗатем снова запусти axdevice, чтобы убедиться, что устройство обнаружено.
Первый вызов yolo export format=axelera или yolo predict с моделью Axelera автоматически скачает и установит пакеты Axelera SDK. Это может занять несколько минут в зависимости от скорости твоего соединения, при этом прогресс во время загрузки не отображается. Чтобы установить вручную заранее:
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/simpleЭкспорт моделей YOLO в Axelera#
Формат Axelera поддерживает режимы Export, Predict и Validate. Вывод и валидация выполняются на оборудовании 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")Компилятор Axelera требует numpy<2. Если в твоей среде numpy>=2, первый yolo export автоматически понизит его версию, но экспорт не удастся из-за устаревшего состояния модуля. Просто запусти ту же команду экспорта еще раз — со второго раза все получится.
Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'axelera' | Целевой формат для оборудования Axelera Metis AIPU. |
imgsz | int или tuple | 640 | Размер изображения для входа модели. |
batch | int | 1 | Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict. |
quantize | int или str | 8/auto | Точность квантования. 8 (INT8) требуется и автоматически включается для Axelera AIPU. Заменяет устаревшие флаги half/int8. См. INT8 quantization. |
data | str | 'coco128.yaml' | Конфигурация датасета для калибровки квантования. |
fraction | float | 1.0 | Доля набора данных для калибровки (рекомендуется 100-400 изображений). |
device | str | None | Устройство экспорта: GPU (device=0) или CPU (device=cpu). |
Все варианты экспорта см. в документации по режиму экспорта (Export Mode).
Структура вывода#
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 максимизирует пропускную способность при минимизации энергопотребления.
| Модель | Metis PCIe FPS (кадров в секунду) | Metis M.2 FPS (кадров в секунду) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
Бенчмарки основаны на данных Axelera AI. Фактический FPS зависит от размера модели, пакетирования и входного разрешения.
Применение в реальных условиях#
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.
Максимальная производительность#
Эта интеграция использует одноядерную конфигурацию для обеспечения совместимости. Для промышленного использования, требующего максимальной пропускной способности, Axelera Voyager SDK предлагает:
- Использование нескольких ядер (четырехъядерный Metis AIPU)
- Потоковые конвейеры логического вывода
- Тайловый логический вывод для камер с более высоким разрешением
Смотри model-zoo для получения результатов тестов FPS или свяжись с Axelera для получения поддержки в продакшене.
Известные проблемы#
- Ограничения питания M.2: Большие или очень большие модели могут вызывать ошибки во время выполнения на ускорителях M.2 из-за ограничений блока питания.
Для получения поддержки посети сообщество Axelera.
FAQ#
Какие версии YOLO поддерживаются на Axelera?#
Voyager SDK поддерживает экспорт моделей YOLOv8, YOLO11 и YOLO26. См. Поддерживаемые задачи для проверки доступности задач для каждой модели.
Могу ли я развертывать модели, обученные самостоятельно?#
Да. Любая модель, обученная с использованием режима обучения Ultralytics (Train Mode), может быть экспортирована в формат Axelera, при условии, что она использует поддерживаемые слои и операции.
Как квантование INT8 влияет на точность?#
Voyager SDK от Axelera автоматически квантует модели для архитектуры AIPU со смешанной точностью. Для большинства задач детектирования объектов прирост производительности (более высокий FPS, меньшее энергопотребление) значительно перевешивает минимальное влияние на mAP. Квантование занимает от нескольких секунд до нескольких часов в зависимости от размера модели. Запусти yolo val после экспорта, чтобы проверить точность.
Сколько изображений для калибровки мне следует использовать?#
Мы рекомендуем от 100 до 400 изображений. Более 400 изображений не дают дополнительных преимуществ и увеличивают время квантования. Поэкспериментируй со 100, 200 и 400 изображениями, чтобы найти оптимальный баланс.
Где я могу найти Voyager SDK?#
SDK, драйверы и инструменты компиляции доступны через Axelera Developer Portal.