Ultralytics YOLO27: Запишись в список ожидания.

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

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

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

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

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

Axelera AI предлагает различные форм-факторы для разных условий развёртывания. Диаграмма ниже поможет выбрать оптимальное оборудование для развёртывания Ultralytics YOLO.

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

Линейка оборудования 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, предназначенные для автоматизации производства.

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

Экспорт Axelera поддерживает все семь задач Ultralytics. Семантическая сегментация и оценка глубины доступны только в YOLO26 — единственном семействе с такими головами.

Модели YOLO26 для обнаружения объектов, сегментации экземпляров, оценки позы и OBB по умолчанию экспортируют свою голову one-to-one без NMS, а среда выполнения Axelera декодирует её на хосте. Передача nms=True приводит к экспорту головы one-to-many, которая показывает более низкие результаты на Metis: таким образом, YOLO26n для обнаружения объектов достигает mAP50-95 0.212 на COCO128 против 0.453 с головой без NMS.

Калибруй модели глубины на изображениях из собственных сцен

Диапазоны квантования определяются по калибровочным изображениям, а набор по умолчанию для глубины, depth8.yaml, содержит четыре кадра из помещений. На валидационной выборке из 654 изображений NYU Depth V2 YOLO26n для оценки глубины, откалиброванная на этом наборе по умолчанию, показывает delta1 0.742 на Metis против 0.783 у модели PyTorch, а при использовании 100 обучающих кадров NYU результат составляет 0.780. Передай data= вместе с YAML-файлом набора данных, в котором раздел val содержит не менее 100 изображений из сцен, с которыми будет работать модель; для калибровки считывается раздел val.

Установка#

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

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

  • Операционная система: только Linux (рекомендуется Ubuntu 22.04/24.04)
  • Оборудование: ускоритель Axelera AI (устройства Metis)
  • Python: версии 3.10, 3.11, 3.12 и 3.13
  • PyTorch: torch>=2.8,<2.15
  • Voyager SDK: 1.9.0; при экспорте устанавливается эта версия devkit, а при инференсе — эта версия среды выполнения
  • Драйвер ядра Metis: metis-dkms версии 1.7.0 или новее; устанавливается отдельно от 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.9 требуется metis-dkms версии 1.7.0 или новее, поэтому здесь устанавливается последняя версия:

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

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

[libaxldev.c:285] Found kernel driver version 1.6.2, but at least version 1.7.0 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.9.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.9.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
Модели, экспортированные с SDK 1.8, продолжают работать

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

SDK, который меняет формат, отклоняет старые каталоги при загрузке; именно это происходит при обновлении с версии 1.7 или более ранней:

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Размер пакета для калибровки. Скомпилированная модель обрабатывает по одному изображению за раз.
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 задаёт только размер пакета для калибровки. Вместо этого передай batch в predict, чтобы передавать планировщику Axelera сразу несколько изображений (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.

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

Модели компилируются для обработки одного изображения, и одно изображение обрабатывается на одном ядре AIPU. Передача нескольких изображений в предсказание позволяет передать их планировщику Axelera одновременно, чтобы он распределил их по ядрам устройства:

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

yolo26n при imgsz=640 на 128 изображениях COCO128 в каталоге, Metis PCIe, медиана трёх запусков:

Voyager SDKУстройстваbatch=1batch=8batch=32
1.8.0136 изобр./с45 изобр./с40 изобр./с
1.8.0239 изобр./с41 изобр./с41 изобр./с
1.9.0141 изобр./с85 изобр./с109 изобр./с
1.9.0235 изобр./с83 изобр./с113 изобр./с

В SDK 1.9 пропускную способность увеличивает пакетная обработка: в 2,7 раза при batch=32, тогда как в версии 1.8 она остаётся около 40 изобр./с при любом размере пакета. Для максимальной пропускной способности при офлайн-обработке используй большой пакет, а когда важна задержка на одно изображение — batch=1. Второе устройство почти не увеличивает predict: при batch=32 предварительная обработка на хосте уже занимает около 4 мс на изображение — столько же, сколько и обработка на устройстве.

За пределами predict#

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

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

Эти варианты пропускают предварительную и последующую обработку PyTorch, которую predict выполняет на хосте. См. каталог моделей с тестами 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.

Комментарии