Axelera AI 导出与部署#
Ultralytics 与 Axelera AI 合作,为 边缘 AI 设备提供高性能、高能效推理。你可以使用 Voyager SDK,将 Ultralytics YOLO 模型直接导出并部署到 Metis® AIPU。
Axelera AI 采用专有数据流架构和存内计算,为边缘端的计算机视觉提供专用硬件加速,功耗较低,性能最高可达 856 TOPS。
选择合适的硬件#
Axelera AI 提供多种外形规格,以满足不同的部署限制。下表可帮助你为 Ultralytics YOLO 部署选择最合适的硬件。
硬件产品系列#
Axelera 硬件产品系列经过优化,可高效运行 Ultralytics YOLO26 及旧版本,提供出色的每瓦 FPS 性能。
加速卡#
这些加速卡可为现有主机设备提供 AI 加速,便于开展存量环境部署。
| 产品 | 外形规格 | 计算能力 | 性能(INT8) | 目标应用 |
|---|---|---|---|---|
| Metis PCIe x4 | PCIe Gen3 x16 | 4x Metis AIPU | 856 TOPS | 高密度视频分析、智慧城市 |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | 工业 PC、零售排队管理 |
| 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 和 Rockchip RK3588 ARM CPU。
- 工作站:来自 Dell(Precision 3460XE)和 Lenovo(ThinkStation P360 Ultra)的企业级塔式工作站。
- 工业 PC:Advantech 和 Aetina 提供的坚固型系统,专为制造自动化而设计。
支持的任务#
不支持深度估计:深度预测头会输出 Metis AIPU 编译器无法降级处理的算子。Ultralytics export 也不支持 YOLO26 实例分割,但仍可按照下文说明,通过 Voyager SDK 部署。YOLO26 语义分割受支持。
目前无法通过 Ultralytics export 命令支持 YOLO26 实例分割。需要 yolo26-seg 的用户可以使用 deploy.py,通过 Voyager SDK 部署,以此作为用户空间变通方案。未来版本将加入原生编译器支持。
安装#
导出为 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 要求的最低版本——SDK 1.8 要求 1.6.2。安装时不会检查这一点;如果驱动版本低于最低要求,设备将无法使用: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,确认已检测到设备。
首次使用 Axelera 模型运行 yolo export format=axelera 或 yolo predict 时,会自动下载并安装 Axelera 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 模型格式的版本,因此,使用较早版本 SDK 生成的 _axelera_model 目录在加载时会被拒绝。升级后请重新导出每个模型:
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 基准测试#
Metis AIPU 在最大化吞吐量的同时,将能耗降至最低。
| 模型 | Metis PCIe FPS(每秒帧数) | Metis M.2 FPS(每秒帧数) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
基准测试数据基于 Axelera AI 提供的数据。实际 FPS 取决于模型大小、批处理方式和输入分辨率。
这些是主机吞吐量数据,由 模型库 使用 Voyager SDK 的流式处理管道对 720p 视频文件进行测量。单次 predict 调用报告的是每张图像的延迟,这是另一种指标。
实际应用#
Ultralytics YOLO 在 Axelera 硬件上可支持高级边缘计算解决方案:
- 智慧零售:通过实时目标计数和热力图分析优化门店运营。
- 工业安全:在制造环境中实现低延迟的 PPE 检测。
- 无人机分析:在无人机上高速执行目标检测,用于农业和搜救任务。
- 交通系统:基于边缘的车牌识别和速度估算。
推荐工作流#
- 使用 Ultralytics 训练模式训练模型
- 使用
model.export(format="axelera")导出为 Axelera 格式 - 使用
yolo val验证精度,确认量化损失最小 - 使用
yolo predict预测以进行定性验证 - 部署到高性能端到端管道中,无需依赖 PyTorch — 查看 Voyager SDK 上的 YOLO 示例,了解如何使用
axelera-rt构建可组合的 Python 管道
设备健康检查#
确认 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 提供:
- 可让多帧同时处于处理中状态的流式推理管道
- 将一个模型编译到多个核心上
- 通过切片推理支持更高分辨率的摄像头
请查看 model-zoo 了解 FPS 基准测试,或联系 Axelera 获取生产环境支持。
已知问题#
- M.2 电源限制:由于电源供应受限,大型或超大型模型在 M.2 加速器上可能会遇到运行时错误。
如需支持,请访问 Axelera 社区。
常见问题#
可以。使用 Ultralytics 训练模式训练的任何模型,只要使用受支持的层和运算,就可以导出为 Axelera 格式。
我们建议使用 100 到 400 张图像。超过 400 张不会带来额外收益,还会延长量化时间。你可以尝试使用 100、200 和 400 张图像,找到最佳平衡点。
SDK、驱动程序和编译器工具可通过 Axelera 开发者门户获取。