AI 开发者工作流程
Qualcomm Linux 中的 AI/ML 开发人员工作流程主要分为两个步骤: 步骤 1:
编译并优化模型
- 编译并优化来自第三方 AI 框架的模型,以便在 魔方派 3 上高效运行。例如,可以将 TensorFlow 模型导出为 TFLite 模型。
- 或者,使用硬件特定的定制来量化、细调性能和精确度。
步骤 2:
编译应用程序,使用优化后的模型在设备上运行推理
- 将 AI 模型集成到用例 pipeline 中。
- 或者使用安卓的 native sdk 调用 Qualcomm AI SDKs。
概述

开发人员可以从 ONNX、PyTorch、TensorFlow 或 TFLite 引入模型,并使用 Qualcomm AI SDK 在 Qualcomm AI 硬件 - HTP (NPU)、GPU、CPU 上高效运行这些模型。
AI 硬件
-
Qualcomm Kryo™ CPU- 一流的 CPU,具有高性能和卓越的能效。
-
Qualcomm Adreno GPU- 适合在需要平衡功耗与性能的情况下执行 AI 工作负载。AI 工作负载可以通过 OpenCL 内核进行加速。GPU 还可用于加速模型预处理/后处理。
-
Qualcomm Hexagon 张量处理器 (HTP)- 又称 NPU/DSP/HMX,适合以低功耗、高性能执行AI 工作负载。为优化性能,需要对预训练模型进行量化,使其达到支持的任一种精度。
AI 软件
AI 堆栈包含各种 SDK,以便利用 AI 硬件加速器的强大功能。开发人员可以使用自己选择的一种 SDK 来部署 AI 工作负载。预训练模型(TFLite 模型除外)在运行之前需要使用所选 SDK 将其转换为可执行格式。TFLite 模型可以使用 TFLite Delegate 直接运行。
- TFLite
TFLite 模型可以在使用以下 Delegate 进行加速的条件下在 Qualcomm 硬件本地执行。
| Delegate | 加速 |
|---|---|
| AI Engine Direct Delegate (QNN Delegate) | CPU, GPU 和 HTP |
| XNNPACK Delegate | CPU |
| GPU Delegate | GPU |
- Qualcomm 神经网络处理引擎 (SNPE) SDK
Qualcomm 神经网络处理引擎 (SNPE) 是一种用于执行深度神经网络的软件加速 runtime。SNPE 提供相关工具来对神经网络进行转换、量化,并在 CPU、GPU 和 HTP 等硬件加速器上对其进行加速。
- Qualcomm AI Engine Direct (QNN)
Qualcomm AI Engine Direct 是 Qualcomm 芯片组和 AI 加速核心中适用于 AI/ML 用例场景的一种软件架构。该架构旨在提供统一的 API,模块和可扩展的预加速库,从而基于这种可重用的结构打造全栈 AI 解决方案。它可为 Qualcomm 神经网络处理 SDK、TFLite AI Engine Direct Delegate 等 runtime 提供支持。