Ultralytics YOLO27:

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

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

Примечание

Сегментация экземпляров 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-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. Если у тебя уже запущен более ранний SDK на Ubuntu, обнови драйвер и перезагрузи модуль ядра (перезагрузка не требуется):

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

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

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

При первом запуске 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/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

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to Axelera format
model.export(format="axelera")  # creates 'yolo26n_axelera_model'
Predict
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")

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

АргументТипПо умолчаниюОписание
formatstr'axelera'Целевой формат для оборудования Axelera Metis AIPU.
imgszint или tuple640Размер изображения для входных данных модели.
batch*int1Задаёт размер пакета при инференсе экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict.
quantizeint или str8/autoТочность квантования. Для 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#

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

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

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

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

Практические применения#

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

Рекомендуемый рабочий процесс#

  1. Обучи модель с помощью 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. Доступность задач для каждой модели см. в разделе Поддерживаемые задачи.

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

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

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

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

Комментарии