NPU 开发指南
Quectel Pi H1 产品 SoC 搭载 Qualcomm® Hexagon™ Processor (NPU) 是专门用来做 AI 推理的硬件加速器。 要使用 NPU 进行模型推理需要使用 QAIRT (Qualcomm® AI Runtime) SDK 对预训练好的模型进行模型移植。 Qualcomm® 为 NPU 开发者提供一系列 SDK 方便用户可以对自己的 AI 模型进行 NPU 移植工作。
- 模型量化库: AIMET
- 模型移植 SDK: QAIRT
- 模型应用库: QAI-APP-BUILDER
- 线上模型转换库: QAI-HUB
准备工作
创建Python执行环境
sudo apt install python3-numpy
python3.10 -m venv venv-quecpi-alpha-ai
. venv-quecpi-alpha-ai/bin/activate
下载测试程序
下载ai-test.zip,解压并切换目录
unzip ai-test.zip
cd ai-test
执行AI推理
执行程序加载模型和测试数据集
./qnn-net-run --backend ./libQnnHtp.so \
--retrieve_context resnet50_aimet_quantized_6490.bin \
--input_list test_list.txt --output_dir output_bin
查看结果
执行查看结果的脚本
python3 show_resnet50_classifications.py \
--input_list test_list.txt -o output_bin/ \
--labels_file imagenet_classes.txt
脚本输出的结果:
Classification results
./images/ILSVRC2012_val_00003441.raw [acoustic guitar]
./images/ILSVRC2012_val_00008465.raw [trifle]
./images/ILSVRC2012_val_00010218.raw [tabby]
./images/ILSVRC2012_val_00044076.raw [proboscis monkey]
测试图片集
NPU软件栈
QAIRT
QAIRT (Qualcomm® AI Runtime) SDK 是一个集成了 Qualcomm® AI 软件产品的软件包, 包括 Qualcomm® AI Engine Direct、Qualcomm® Neural Processing SDK 和 Qualcomm® Genie。 QAIRT 为开发者提供了在 Qualcomm® 硬件加速器上移植和部署 AI 模型所需的所有工具,以及在 CPU、GPU 和 NPU 上运行模型的 runtime。
支持推理后端
- CPU
- GPU
- NPU

SoC 架构对照表
| SoC | dsp_arch | soc_id |
|---|---|---|
| QCS6490 | v68 | 35 |
| QCS9075 | v73 | 77 |
AIMET
AIMET(AI Model Efficiency Toolkit)是一款面向深度学习模型(如 PyTorch 和 ONNX)的量化工具。AIMET 通过降低模型计算负载和内存占用,提升深度学习模型的运行性能。 借助 AIMET,开发者可以快速迭代,找到最佳量化配置,以在精度和延迟之间达到最优平衡。开发者可以将 AIMET 导出的量化模型使用 QAIRT 编译并部署在 Qualcomm NPU 上,或直接使用 ONNX-Runtime 运行

QAI-APPBUILDER
Quick AI Application Builder (QAI AppBuilder) 可帮助开发者轻松使用基于 Qualcomm® AI Runtime SDK 在搭载 Qualcomm® Hexagon™ Processor (NPU) 的 Qualcomm® SoC 平台上部署 AI 模型和设计 AI 应用。 它将模型部署 API 封装成一组简化的接口,用于将模型加载到 NPU 并执行推理。QAI AppBuilder 大大降低了开发者部署模型的复杂性并且提供多个 demo 让开发者参考设计自己的 AI 应用。

QAI-Hub
Qualcomm® AI Hub (QAI-Hub)是一站式模型转换云平台,QAI-Hub 平台提供在线模型编译,模型量化,模型性能分析,模型推理与模型下载服务。 Qualcomm® AI Hub 自动处理从于预训练模型到设备运行时的模型转换,系统会自动在云端配置设备,以便在设备上进行性能分析和推理。 其中 Qualcomm® AI Hub Models(QAI-Hub-Models) 基于 QAI-Hub 提供的云服务,支持以命令行方式将模型列表中的模型在云设备上进行在线量化、编译、推理、分析和下载。
