NPU开发指南
Quectel Pi H1产品SoC搭载Qualcomm® Hexagon™处理器 (NPU),这是一款专用于推理的硬件加速器。如需使用NPU进行模型推理,需借助QAIRT (Qualcomm® AI Runtime) SDK对预训练模型进行移植。Qualcomm®为NPU开发者提供了一系列SDK,便于用户将自有模型部署到NPU上。
- 模型量化库:AIMET
- 模型移植SDK:QAIRT
- 模型应用库:QAI-APP-BUILDER
- 线上模型转换库:QAI-HUB
准备工作
创建Python执行环境
sudo apt install python3-numpy
python3.10 -m venv venv
. venv/bin/activate
下载测试程序
下载ai-test.zip,解压并进入ai-test目录:
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供开发者参考,助力快速构建自有 NPU 应用。

QAI-Hub
Qualcomm® AI Hub (QAI-Hub)是一站式模型转换在线服务平台,提供在线模型编译、量化、性能分析、推理及下载服务。它能自动处理从预训练模型到设备运行时的模型转换。 其中 Qualcomm® AI Hub Models(QAI-Hub-Models) 是基于QAI-Hub的Python库,便于用户通过AI Hub服务对模型进行量化、编译、推理、分析和下载。
